This pull request adds support for Java agent profiling based on targeted collection plans, allowing profiling to be triggered for specific cloud roles or role-qualified instances. It introduces new configuration classes and logic to handle these targeted plans, updates the alerting subsystem to support them, and refactors how manual triggers are tracked and executed. The changes also include enhancements to configuration APIs and internal tracking for executed triggers.
Targeted Profiling Support:
Added new configuration classes: TargetedCollectionPlanConfiguration and TargetedInstanceConfiguration to define and validate targeted profiling plans for specific roles or instances. These classes provide methods to check if a plan applies to the current instance and if it is actionable based on expiration and selection criteria. [1][2]
Updated AlertingConfiguration to optionally include a TargetedCollectionPlanConfiguration, and enhanced the API to determine if a profiling trigger is enabled for a given role or instance at a specific time. [1][2]
Alerting Subsystem Enhancements:
Refactored AlertingSubsystem to support targeted collection plan triggers, including new logic to evaluate and dispatch alerts for targeted plans, and to pass role and instance information throughout the subsystem. [1][2][3][4][5][6]
Introduced AlertingSubsystemConfiguration to encapsulate subsystem-level configuration, including role and instance identifiers.
Manual Trigger Execution Tracking:
Replaced the previous manualTriggersExecuted set with a new ExecutedMonikerTracker utility, which tracks executed triggers with retention and capacity limits to prevent duplicate profiling within a time window. [1][2]
Documentation and Test Updates:
Updated CHANGELOG.md to document the addition of Java agent support for targeted collection plans.
Updated imports and test setup to include new configuration classes and collections for targeted profiling.Fix # .
For significant contributions please make sure you have completed the following items:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Harsimar Kaur (harsimar)
Awaiting requested review from harsimar
harsimar will be requested when the pull request is marked ready for review
harsimar is a code owner
Matthew Sainsbury (Microsoft) (mattsains-msft)
Awaiting requested review from mattsains-msft
mattsains-msft will be requested when the pull request is marked ready for review
mattsains-msft is a code owner
Rajkumar Rangaraj (rajkumar-rangaraj)
Awaiting requested review from rajkumar-rangaraj
rajkumar-rangaraj will be requested when the pull request is marked ready for review
rajkumar-rangaraj is a code owner
Ram Thiru (ramthi)
Awaiting requested review from ramthi
ramthi will be requested when the pull request is marked ready for review
ramthi is a code owner
Trask Stalnaker (trask)
Awaiting requested review from trask
trask will be requested when the pull request is marked ready for review
trask is a code owner
xiang17
Awaiting requested review from xiang17
xiang17 will be requested when the pull request is marked ready for review
xiang17 is a code owner
At least 1 approving review is required to merge this pull request.
Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
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 pull request adds support for Java agent profiling based on targeted collection plans, allowing profiling to be triggered for specific cloud roles or role-qualified instances. It introduces new configuration classes and logic to handle these targeted plans, updates the alerting subsystem to support them, and refactors how manual triggers are tracked and executed. The changes also include enhancements to configuration APIs and internal tracking for executed triggers.
Targeted Profiling Support:
Alerting Subsystem Enhancements:
Manual Trigger Execution Tracking:
Documentation and Test Updates:
For significant contributions please make sure you have completed the following items: