-
Notifications
You must be signed in to change notification settings - Fork 16
Define profiling.instrumentation.source Log Message Attribute #337
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
base: main
Are you sure you want to change the base?
Define profiling.instrumentation.source Log Message Attribute #337
Conversation
…cted a given callstack.
Kielek
left a comment
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.
Needed to handle 2 things:
- What if lack of the attribute: #336 (comment)
- Future consideration about OTLP protocol: #336 (comment)
|
Quoting from conversation started in #336 (comment)
@Kielek, I agree and ideally we'd use |
seems to be addressed
I think we should deal with this when we have an otlp profiling ingest and an implementation that is able to send data to it. To me the most natural way seems to be using the sample type https://github.com/open-telemetry/opentelemetry-proto/blob/2bd940b2b77c1ab57c27166af21384906da7bb2b/opentelemetry/proto/profiles/v1development/profiles.proto#L192 If that doesn't work could also set an attribute on profile. |
Sample type seems to be an awkward fit here. The comments for that field suggest its intended for the type of profiling data (cpu vs memory) with an associated unit. We'd need an additional dimension to the How far into the future is this concern? How realistic would it be to have GDI backend forward the instrumentation scope so its accessible later in the pipeline? |
The comment says I presume that at some point specification will define a set of well know values that represent wall time cpu profile, cpu time profile etc. Compliant backends can make sense of these samples and so something with them. Custom profilers, like our spnapshot profiler, that aren't specified in otel will use custom values and backends that don't recognize it can drop the samples. |
The profiling backend ingestion process needs to be able to distinguish between callstacks collected by the existing continuous "Always On" profiler and those collected by the upcoming trace snapshot profiler. This PR defines an attribute to be included in a log message body that will identify which profiling process was responsible for collecting and reporting the exported callstacks.
See #336 for previous discussion.