Skip to content
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

Add Snapshot Profiling Feature Flag and Scaffolding #2170

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

tduncan
Copy link

@tduncan tduncan commented Jan 24, 2025

Add the OpenTelemetry SDK customization scaffolding for the snapshot profiling feature. The feature itself will encompass several followup PRs as the code is slowly ported into this repository.

@tduncan tduncan requested review from a team as code owners January 24, 2025 00:02
Copy link

github-actions bot commented Jan 24, 2025

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@tduncan
Copy link
Author

tduncan commented Jan 24, 2025

I have read the CLA Document and I hereby sign the CLA

@tduncan
Copy link
Author

tduncan commented Jan 24, 2025

recheck

srv-gh-o11y-gdi-cla added a commit to splunk/cla-agreement that referenced this pull request Jan 24, 2025
return config.getBoolean(CONFIG_KEY_ENABLE_SNAPSHOT_PROFILER, false);
}

interface ActivationNotifier {
Copy link
Author

Choose a reason for hiding this comment

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

This interface is here to facilitate testing. Later iterations of this class will have other mechanisms that help with testing but I wanted to start with the bare minimum and build from there feature by feature.

Copy link
Author

Choose a reason for hiding this comment

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

This class acts as a test only AutoConfiguredOpenTelemetrySdkBuilder with JUnit 5 extension support. Later iterations of the snapshot profiler tests will include a more completely configured SDK and make extensive use of the JUnit 5 extension capabilities.

The core testing strategy being used is to test the snapshot profiler agent extension more as a black box. This means that many tests will interact with the OpenTelemetry SDK rather than the agent extension classes directly and observe the side effects expected from the agent extension.

Finally, once the snapshot profiler is closer to fully implemented, this class helps configure OpenTelemetry in a simulated distributed system so the snapshot profiling extension can be tested more "end-to-end"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant