Activity source split for User/Runtime grain calls #8043
Merged
+16
−6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This allows for selectively choosing activity for runtime grains (like
IMembershipTable
,IRemoteGrainDirectory
, orIDeploymentLoadPublisher
) or only user created grains (what the user has created for their system/application).It is assumed that consumers will primarily want the user grain Activity and not also the runtime/internal grain calls.
Mechanically, this is achieved by looking to see if the namespace of the grain starts with "Orleans". There is the possibility that a user can create their own grain in a namespace starting with "Orleans" (ex.
Orleans.MyCompany.MyApp
) but this is not an idiomatic pattern for namespace naming so it may be sufficient to document this behavior.This does introduce a breaking change for current consumers of ActivitySources.
For example, users using OpenTelemetry (and similarly for directly listening with an ActivityListener) currently add the "Microsoft.Orleans" source and get all runtime and user grain Activity.
This PR would require those users to do one of the following in their code:
Microsoft Reviewers: Open in CodeFlow