-
Notifications
You must be signed in to change notification settings - Fork 162
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improvements to the System.Diagnostics.Activity APIs #98
Conversation
/cc @lateralusX |
- Move all Activty processing into extensible activity observres - Add logic for supporting guid correlation id - Change activity API to correspond to future activity changes dotnet/designs#98 - Switch to using BacgroungService for Omex SF services to reduce the amount of custom code - Now all core for using activities inside Abstraction package, add TimedScopes package needed only to log activities
Clarify that we have an explicit goal to make Activity the representation of OT span on dotnet.
Better terminology: Microsoft is participating in OT
.Net -> .NET
@kadukf we don't provide meta-registry with the APIs. The way to test that is to execute the test in a separate process. You may look at the tests https://github.com/dotnet/runtime/pull/35220/files#diff-4f6304f8e96611ddade3f18538f82f2a as an example of doing that. |
Another alternative for testing is to use dependency injection for the ActivitySource. If each test case or group of tests uses a different ActivitySource to produce Activities then ActivityListeners will be able to subscribe to just those sources and not any other sources. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added few questions. Apologies if those were already discussed earlier.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for clarifying all questions.
Looking forward to preview bits!
Co-authored-by: Bruno Garcia <bruno@brunogarcia.com>
Co-authored-by: Bruno Garcia <bruno@brunogarcia.com>
Co-authored-by: Bruno Garcia <bruno@brunogarcia.com>
Co-authored-by: Bruno Garcia <bruno@brunogarcia.com>
Co-authored-by: Bruno Garcia <bruno@brunogarcia.com>
Co-authored-by: Bruno Garcia <bruno@brunogarcia.com>
Co-authored-by: Bruno Garcia <bruno@brunogarcia.com>
Co-authored-by: Bruno Garcia <bruno@brunogarcia.com>
Co-authored-by: Bruno Garcia <bruno@brunogarcia.com>
Sorry I'm late to the discussion. I have some reservations regarding replacing the OpenTelemetry
|
Thanks for the feedback @MikeGoldsmith!
It looked better than the alternatives:
This one is probably resolvable in the API and not a fundamental limitation of picking this direction
That one is more fundamental. I am guessing most .NET developers will make their judgement about this design choice based on ease of use or performance, not by spec/cross-language comparison.
I'm not sure what the concerns are in this area? Other than Span and Activity having different names I would guess the work to build an export pipeline is largely the same. If there are obstacles I'd like to understand them.
I expect someone could build a decent adapter on top of the new Activity APIs at least. The main challenges I'd anticipate adding an adapter are:
Perhaps this is just an issue with wording in the proposal text? ActivityContext is designed to be .NET's implementation of OT SpanContext. It has the prescribed SpanContext field names and types, aside from IsRemote which we were told was being likely to be removed from the spec. |
Discussion was getting hard in dotnet/runtime#31373 and some of the collaborators also felt that we were circling on some issues. The hope is that this PRs to this design doc will allow easier inline commenting, threaded conversations, and serves as a more durable public recording of decisions.
@tarekgh - Despite me creating the PR I am still thinking of you as its owner. Please update it (or replace it) however you think is useful, similar to what you would have done for the original issue. I didn't wait for you to create it solely for expediency and because I didn't think you'd mind.