-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[DO NOT MERGE] Showcase PR: Add profiling pdata #10109
Conversation
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.
Please do not add an experimental API into the stable pdata module. Split the pprofile part into separate module, and when no longer experimental maybe we can include back into the main pdata.
Sure. |
Just have a different module for |
I have moved it into |
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 doesn't need to be in an experimental
folder, we just need it to be in a different Go module versioned 0.x
. That way when we go from 0.x
to 1.x
, we won't need to change the imports for this package
This is very unclear. |
Sorry, yes, that's the preferred way of going about this. There is some prior discussion on #6508 and #4705, in particular see the summary on #6508 (comment) The idea is to minimize changes in import paths while honoring semver (since profiles are still experimental, we need its related packages to be 0.x) |
Thank you very much for your input 😃 |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #10109 +/- ##
==========================================
+ Coverage 91.63% 92.09% +0.46%
==========================================
Files 356 386 +30
Lines 16849 18179 +1330
==========================================
+ Hits 15439 16742 +1303
- Misses 1068 1094 +26
- Partials 342 343 +1 ☔ View full report in Codecov by Sentry. |
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.
How are the pcommon slice changes related to the profile? Could we get those in first in a separate PR?
It's required because the primitive slices struct type only allowed numbers, not strings. |
👌 Thanks, since pcommon is part of a 1.0 module I would like us to consider this changes separately and carefully |
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This adds an `originFieldName` option to `sliceField`, `messageValueField` and `primitiveField`. This option already exists for `primitiveTypedField`, `oneOfField`, `oneOfPrimitiveValue` and `oneOfMessageValue`. #### Link to tracking issue This is needed for #10109. <!--Describe what testing was performed and which tests were added.--> #### Testing This is unit tested. cc @mx-psi
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.
Note: we need to update the README per
opentelemetry-collector/CONTRIBUTING.md
Line 690 in 27f59cb
8. Update the supported OTLP version in [README.md](./README.md). |
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This upgrades the proto to their latest version, and generates the profiles. <!-- Issue number if applicable --> #### Link to tracking issue Part of #10109 cc @mx-psi
#10155 caused a conflict |
Yes, but the commit history isn't the same between my extracted PRs and this one. So I will be opening a new one with the actual pdata changes. |
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description We upgraded the proto version, so we need to upgrade it in the readme as well. <!-- Issue number if applicable --> #### Link to tracking issue * #10109 (review) * #10155
…umber slices (#10148) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This adds a string slice to pcommon, that will be used by the profiles pdata. #### Link to tracking issue Part of #10109. #### Testing This is unit-tested. cc @mx-psi --------- Co-authored-by: Pablo Baeyens <pablo.baeyens@datadoghq.com>
Closing this in favor of the last step PR, #10195. |
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This generates the pdata for profiles. <!-- Issue number if applicable --> #### Link to tracking issue Last step of #10109. <!--Describe what testing was performed and which tests were added.--> #### Testing The generated code is unit-tested by generated tests. cc @mx-psi --------- Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com> Co-authored-by: Pablo Baeyens <pablo.baeyens@datadoghq.com>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This adds an `originFieldName` option to `sliceField`, `messageValueField` and `primitiveField`. This option already exists for `primitiveTypedField`, `oneOfField`, `oneOfPrimitiveValue` and `oneOfMessageValue`. #### Link to tracking issue This is needed for open-telemetry#10109. <!--Describe what testing was performed and which tests were added.--> #### Testing This is unit tested. cc @mx-psi
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This upgrades the proto to their latest version, and generates the profiles. <!-- Issue number if applicable --> #### Link to tracking issue Part of open-telemetry#10109 cc @mx-psi
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description We upgraded the proto version, so we need to upgrade it in the readme as well. <!-- Issue number if applicable --> #### Link to tracking issue * open-telemetry#10109 (review) * open-telemetry#10155
…umber slices (open-telemetry#10148) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This adds a string slice to pcommon, that will be used by the profiles pdata. #### Link to tracking issue Part of open-telemetry#10109. #### Testing This is unit-tested. cc @mx-psi --------- Co-authored-by: Pablo Baeyens <pablo.baeyens@datadoghq.com>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This generates the pdata for profiles. <!-- Issue number if applicable --> #### Link to tracking issue Last step of open-telemetry#10109. <!--Describe what testing was performed and which tests were added.--> #### Testing The generated code is unit-tested by generated tests. cc @mx-psi --------- Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com> Co-authored-by: Pablo Baeyens <pablo.baeyens@datadoghq.com>
Description
This adds the profiling proto schema to pdata, so the receiver/consumer interfaces can then start accepting that data.
Proto files:
https://github.com/open-telemetry/opentelemetry-proto/tree/main/opentelemetry/proto/profiles/v1experimental
Testing
This is being tested by auto-generated tests.
cc @open-telemetry/profiling-approvers @open-telemetry/profiling-maintainers @open-telemetry/profiling-triagers