-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Renamed EventSources "Microsoft-"->"Private.InternalDiagnostics.". #40781
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
Renamed EventSources "Microsoft-"->"Private.InternalDiagnostics.". #40781
Conversation
|
Tagging subscribers to this area: @tommcdon |
|
@geoffkizer @scalablecory are you ok with the suffix 'InternalDiagnostics' as name? |
|
Tagging subscribers to this area: @dotnet/ncl |
|
This changes the naming to use '.' instead of '-'. Is that the common convention? Is that used elsewhere? |
|
What are the non-internal EventSources called? I'm a little worried that this is renaming stuff unnecessarily. Some folks (e.g. ASP.NET perf test scripts) undoubtedly have familiarity with the existing names and are going to get tripped up here. Is the value in renaming worth this inconvenience? |
Also stripping "Microsoft" from the beginning. And yes, it is newer convention, it's used across libraries, e.g.: https://github.com/dotnet/runtime/blob/master/src/libraries/System.Data.OleDb/src/System/Data/Common/DataCommonEventSource.cs#L9, https://github.com/dotnet/runtime/blob/master/src/libraries/System.Threading.Tasks.Parallel/src/System/Threading/Tasks/ParallelETWProvider.cs#L19, also our new telemetry.
The same without the ".InternalDiagnostics", e.g.: "System.Net.Http"
This comes as a result of Stephen's complaint, that having two completely different event sources in a single lib is confusing: #38620 (comment) Either way, we should reach consensus before tomorrow. |
|
Ok, I guess I see the value of renaming. My suggestion would be to name these something completely different than the "official" event sources, so it's extremely clear that these are not intended for public use. Right now they look too official, as if they are just more detailed versions of the standard events. Something like "InternalOnlyDiagnostics.Net.[Http|Sockets|etc]" @stephentoub should add his thoughts as well, if he has a chance. |
|
@noahfalk might have thoughts as well. |
|
Side note: I'm aware that these changes must be propagated to our diagnostic tests. I'll do that if/when we settle on the final name. |
|
@noahfalk fyi |
|
Please just a single area label at a time 🐱 |
|
I'm not sure I fully understand the plan. Is the idea that we would change the name now and then in the future delete these EventSources after migrating the events we cared about? I agree with @geoffkizer that I am unclear what value these particular name changes are giving us. The original premise, as I understood it, was that these old EventSources are completely unused except by a small number of internal Microsoft engineers. If external customers aren't aware of the current names nor will they be aware of the new names then I can't tell what benefit we are getting by changing them? EDIT: Although I don't see the value in these particular name changes I also don't have any concerns other than it appears like unnecessary labor. If you feel the new names will aid you and we aren't going to advertise it to customers then go for it : ) |
|
I'm sad we're not able to do the "right thing" for this release. But if we're really out of time to move the few valuable events to the new sources and delete the old cruft, c'est la vie. My concern with not deleting and not renaming is we're going to be advertising the event sources much more than we did in the past (which was basically not at all), which is much more likely to create adoption of any sources that exist, at which point we'll have a harder time removing them in 6.0 (which I would still like us to do). At least having "internal" in the name suggests folks shouldn't depend on it. |
Added suffix "InternalDiagnostics" for old logging events to not to accidentally turn them on with the new telemetry.
a08531f to
d33f0ac
Compare
Yes. And so we want names that convey "please don't rely on this as it's not intended for public use". |
d33f0ac to
f795fbc
Compare
f795fbc to
ab84a9e
Compare
geoffkizer
left a comment
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.
Change looks good, pending final naming approach here.
I'm approving now so @ManickaP is unblocked on Monday, assuming we close on naming by then.
Yeah if we think customers are going to start discovering the existing EventSources despite our goal to not have customers depend on them, then picking a name that makes our intentions clear has some benefit. This might be one of the amusing times where picking a name that is long, awkward, and you feel embarrassed writing it in your code is exactly what we want : ) I think there are many potential names that fit that criteria but one example could be: Private.Obsolete.PlannedForDeletion.System.Net.Http |
|
We have |
|
How about "Private.Internal.System.Net.*"? That seems like it makes things pretty clear without going overboard here. |
|
Or "Private.InternalDiagnostics.System.Net.*", to maintain the "InternalDiagnostics" part from the original proposal. |
|
I like @geoffkizer's last proposal "Private.InternalDiagnostics.System.Net" |
Isn't |
Yeah, it's a bit redundant, but that's sort of the point. We want to ensure that it's super clear that these are not public, supported events.
We should certainly document this, but we can't assume users will read docs. Most don't :) |
Unified naming conventions in existing networking
EventSourcesto follow the namespace to which they belong, as well as correspond to the newly added telemetries.Added suffix ".InternalDiagnostics" for old logging events to prevent them from being accidentally turned on with the new telemetry.
Existing
EventSourcesthat haven't been changed:Contributes to #38754
Rational: the logging is useful for diagnostics, we shouldn't just delete it without proper replacement.
In 6.0 we can go through individual events and clean it. This is compromise that's doable in such short time.