-
Notifications
You must be signed in to change notification settings - Fork 113
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
Generate action and trigger options in schema. #706
Generate action and trigger options in schema. #706
Conversation
jander-msft
commented
Aug 11, 2021
- Generate action and trigger options in schema.
- Add display name descriptions to these options.
- Add defaults for the optional properties.
- Other small changes such as property renames and changing IncludePaths and ExcludePaths property to arrays.
Add display name descriptions to these options. Add defaults for the optional properties.
src/Microsoft.Diagnostics.Monitoring.Options/OptionsDisplayStrings.resx
Outdated
Show resolved
Hide resolved
src/Tests/Microsoft.Diagnostics.Monitoring.ConfigurationSchema/SchemaGenerator.cs
Show resolved
Hide resolved
src/Tools/dotnet-monitor/CollectionRules/Options/Triggers/AspNetRequestCountOptionsDefaults.cs
Outdated
Show resolved
Hide resolved
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.
👍
{ | ||
public const int MetricsIntervalSeconds = 1; | ||
public const bool RequestRundown = true; | ||
public const int BufferSizeMegabytes = 256; |
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.
This seems like a big constant given our recommended container limits. Does this buffer not end up in our memory?
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.
This is the existing default when doing a trace, but I agree. I think we need to adjust these downward a bit.
The buffer ends up in the memory of the target application. It's the size of the buffer that events are put into just before the diagnostic server pulls them out and sends them over the event pipe. If an event source cannot put a new event into the buffer due to running out of room, the event is dropped relatively silently. This makes code that is listening for a start and stop event interesting because it has to guess whether the stop event just hasn't come through yet or was dropped.
src/Tools/dotnet-monitor/CollectionRules/Options/Triggers/AspNetResponseStatusOptions.cs
Show resolved
Hide resolved
* Initial collection rule options, validation, and unit tests. (#688) * Generate action and trigger options in schema. (#706) Generate action and trigger options in schema. Add display name descriptions to these options. Add defaults for the optional properties. * Create `Execute` collection rule action (#710) * Basic implementation and registration of actions and triggers (#736) Initial interfaces for collection rule triggers. Implement empty action and trigger implementations. Implement startup trigger with special interface denoting it is a startup trigger. Rename action provider and trigger provider to descriptor. Register action and trigger implementations with descriptors. * Execute Action - Testing (#742) * Update trigger interfaces with callback, start, and stop notions. (#760) Update trigger interfaces with callback, start, and stop notions. Refactor options providers into operations implementations. * Refactor host building into helper method (#769) * Refactor host building into helper method. * Triggers - Action List Executor (#768) * Implement collection rule pipeline, event counter trigger, and tests. (#825) Implement collection rule pipeline and event counter trigger. Add tests for collection rule pipeline with real and test triggers and actions. * Create CollectDump Collection Rule Action (#824) * Fix CollectionRulePipelineTests failure due to callback registration timing. (#854) * Collection rule service, logging, and some functional tests (#852) * Implement collection rule service for starting rules. Add logging throughout collection rule system. Add some functional tests for collection rule system. * Refactor common parameters into CollectionRuleContext. * Add safe cancellation. * Add collection rule completion timeouts. * Refactor logging event IDs into separate shareable class. * Adjust temporary directory creation and log cleanup failures. * Remove CollectionRulePipeline.StartAsync; replace with callback. Add safe awaiting for start tasks and run tasks. Add more logging and adjust some log levels. * Replace TestCommon dependency with Xunit.Assert (#874) Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: kkeirstead <[email protected]> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Wiktor Kopec <[email protected]> Co-authored-by: Patrick Fenelon <[email protected]>