Skip to content

[OpAMP] Enable/disable snapshot profiling with remote config - #2955

Merged
robsunday merged 36 commits into
signalfx:mainfrom
robsunday:opamp-call-graphs-remote-config
Aug 7, 2026
Merged

[OpAMP] Enable/disable snapshot profiling with remote config#2955
robsunday merged 36 commits into
signalfx:mainfrom
robsunday:opamp-call-graphs-remote-config

Conversation

@robsunday

@robsunday robsunday commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Adds support for dynamic enable/disable snapshot profiling using remote configuration.

@robsunday
robsunday marked this pull request as ready for review July 22, 2026 19:11
@robsunday
robsunday requested review from a team as code owners July 22, 2026 19:11
robsunday added 10 commits July 24, 2026 15:27
# Conflicts:
#	opamp/src/main/java/com/splunk/opentelemetry/opamp/OpampActivator.java
#	opamp/src/main/java/com/splunk/opentelemetry/opamp/RemoteConfigProcessor.java
#	opamp/src/main/java/com/splunk/opentelemetry/opamp/ServerToAgentMessageHandler.java
#	opamp/src/test/java/com/splunk/opentelemetry/opamp/RemoteConfigProcessorImplTest.java
#	profiler/src/main/java/com/splunk/opentelemetry/profiler/snapshot/SnapshotProfilingSupervisor.java
OptionalConfigurableSupplier<ProfilerConfiguration> configSupplier,
JFR jfr,
AutoConfiguredOpenTelemetrySdk sdk,
BlockingQueue<ProfilingCommand> commandQueue,

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

[for reviewer] It was not used anywhere, so I removed this parameter from constructor.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Good catch. I think it might have been used for testing at some point, or the original idea was that other components might need to have the queue to send stuff into it....but it's encapsulated and I guess it's not needed. We can always add it back if/when that changes.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

[for reviewer] This class follows the pattern of using async processing established in ProfilingSupervisor class.

@breedx-splk breedx-splk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks good, thanks. I like that it's following the pattern established by the other profiler, but I don't love that they now have two separate threads across both implementations. For now, though, I think it's fine....especially until we decide about how we generally want to handle additional mutable/state changes going forward.

I think it's worth pointing out, just for historical purposes, that there are still a number of ways in which the reported/actual state (seen through effective config) may not reflect the actual state of the profiler(s). We can address that later if/when it becomes an issue.

@robsunday
robsunday merged commit daf3d2a into signalfx:main Aug 7, 2026
28 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 7, 2026
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