Skip to content

PR feedback - #3608

Merged
wiktork merged 2 commits into
dotnet:feature/eventPipeMetersfrom
wiktork:dev/wiktork/prFeedback
Jan 24, 2023
Merged

PR feedback#3608
wiktork merged 2 commits into
dotnet:feature/eventPipeMetersfrom
wiktork:dev/wiktork/prFeedback

Conversation

@wiktork

@wiktork wiktork commented Jan 20, 2023

Copy link
Copy Markdown
Member

Feedback for #3587

@wiktork
wiktork requested a review from a team as a code owner January 20, 2023 05:02

@noahfalk noahfalk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you need to get a move on I'm fine as-is, but I did put one suggestion inline. Thanks!

{
}

public MetricSourceConfiguration(float metricIntervalSeconds, IEnumerable<MetricEventPipeProvider> customProviderNames, int maxHistograms = 20, int maxTimeSeries = 1000) {

@noahfalk noahfalk Jan 21, 2023

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you care about having the flexibility to set different time intervals per-provider? This code path gets a bit confusing because we've got a top-level parameter but also every MetricEventPipeProvider is defining its own interval and then some of these input values appear to get ignored.

Could we simplify to MetricSourceConfiguration(float metricIntervalSeconds, IEnumerable<string> meterNames, IEnumerable<string> eventCounterProviderNames, ...)? If we did that we'd have one shared interval and perhaps no need for MetricEventPipeProvider class or MetricType enum?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted to lay the foundation for per provider intervals. I think the overload you're suggesting makes a lot of sense as a shortcut for simple configuration though with very reasonable defaults.

@noahfalk noahfalk Jan 24, 2023

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was there a particular motivation for the per-provider intervals? I wasn't aware there was any demand for that kind of functionality so I am anticipating it would go unused even if we did add it.

MetricsEventSource doesn't support per-provider intervals so for the API to accurately reflect the underlying capabilities we'd end up with something asymmetric like MetricSourceConfiguration(float metricsIntervalSecs, IEnumerable<string> meterNames, IEnumerable<MetricEventPipeProvider> eventCounterProviders, ...).

I don't want to hold you up over this. I am OK with the current code as-is or either of those alternative APIs. From what I know so far the option I like best is where we don't support per-provider intervals.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The request on our side is tracked with dotnet/dotnet-monitor#2870. My intent is to allow a hierarhical interval specification. I.e. you have a global interval, and then can change it for each provider. For meter-based specification, per provider configuration would be ignored. I will tweak this a bit to be clearer.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dotnet/dotnet-monitor#2870 - Is that request from customer feedback? The person who filed it is another VSDiag person so I can't tell who is being represented :) I might be totally wrong, but my understanding of the space so far is that the overwhelming majority of customers would not care about or use multiple intervals if you add support for it. Just for curiousity and learning sake I'd love to hear if you had feedback to the contrary, but as long as you are confident it will gain you some users go for it.

@kkeirstead

Copy link
Copy Markdown
Contributor

Not sure if this would be part of this PR, but were we planning to act on #3587 (comment)?

@wiktork

wiktork commented Jan 24, 2023

Copy link
Copy Markdown
Member Author

Not sure if this would be part of this PR, but were we planning to act on #3587 (comment)?

I will make this change but after merging these initial changes with the feature branch.

@wiktork
wiktork merged commit 645c2d0 into dotnet:feature/eventPipeMeters Jan 24, 2023
@github-actions github-actions Bot locked and limited conversation to collaborators Jan 11, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants