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 new profile signal #534

Merged
merged 86 commits into from
Apr 23, 2024

Conversation

petethepig
Copy link
Member

This is a follow up to OTEP 239: Introduces Profiling Data Model v2

The main motivation behind this PR is that this will allow us to start experimenting with the profiles proto in opentelemetry-collector. I marked the profiles part as Experimental to indicate that this is not a final version of the data model.

I copied the proto from the OTEP, and moved pprofextended.proto from profiles/v1/alternatives/pprofextended.proto to just profiles/v1/pprofextended.proto. I did this because I figured we no longer have alternative representations and this will reduce confusion for people outside of Profiling SIG. The rest of the proto stayed the same.

I tested this file with a collector fork and I it compiles properly.

felixge and others added 30 commits January 26, 2023 18:35
Arrays of integers should be used instead of arrays of structs
@tigrannajaryan
Copy link
Member

@petethepig can you please confirm that the format defined here is backward-compatible with current pprof format in the sense that:

  • This format only adds new fields. No fields are deleted and there are no changes to existing fields.
  • Any valid profile represented in the current pprof format is considered a valid Otel profile data.

Is this correct?

@petethepig
Copy link
Member Author

@tigrannajaryan yes, these two things are correct.

@tigrannajaryan
Copy link
Member

@petethepig Please address all open comments and resolve them and then we can merge it.

@open-telemetry/specs-approvers unless I hear objections I am going to merge this.

@petethepig
Copy link
Member Author

@tigrannajaryan I addressed the comments and resolved the outstanding conversations.

@tigrannajaryan
Copy link
Member

@jack-berg you had several comments, you OK with merging in the current state?

Copy link
Member

@jack-berg jack-berg left a comment

Choose a reason for hiding this comment

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

Left another comment with a naming suggestion. I think it would be best if the relationship between these proto definitions and pprof were hashed out already, since I think not defining that essentially guarantees breaking changes with the proto definitions which might otherwise be avoided.

Still, I'm fine merging this and iterating. Everyone should be on the same page that breaking changes are not only allowed, but very likely.

@tigrannajaryan
Copy link
Member

We have a rule of keeping spec and proto PRs open for 2 days since last change. I will merge this tomorrow.

Co-authored-by: jack-berg <34418638+jack-berg@users.noreply.github.com>
@petethepig
Copy link
Member Author

@tigrannajaryan could you please merge it if everything looks good, as it's been a few days since the last update? Thank you!

@tigrannajaryan tigrannajaryan merged commit 4b60b81 into open-telemetry:main Apr 23, 2024
15 checks passed
florianl added a commit to florianl/opentelemetry-proto that referenced this pull request May 3, 2024
As commented in [0] and discussed in the OTel Profiling SIG meeting, there are
situations where a main binary for a Profile can not be identified.
For these cases mark the field optional.

[0]: open-telemetry#534 (comment)

Signed-off-by: Florian Lehner <florian.lehner@elastic.co>
VinozzZ pushed a commit to VinozzZ/opentelemetry-proto that referenced this pull request Jun 21, 2024
This is a follow up to [OTEP 239: Introduces Profiling Data Model v2](open-telemetry/oteps#239)

The main motivation behind this PR is that this will allow us to start experimenting with the profiles proto in opentelemetry-collector. I marked the profiles part as `Experimental` to indicate that this is not a final version of the data model.

I copied the proto from the OTEP, and moved `pprofextended.proto` from `profiles/v1/alternatives/pprofextended.proto` to just `profiles/v1/pprofextended.proto`. I did this because I figured we no longer have alternative representations and this will reduce confusion for people outside of Profiling SIG. The rest of the proto stayed the same.

I tested this file with a collector fork and I it compiles properly.
VinozzZ pushed a commit to VinozzZ/opentelemetry-proto that referenced this pull request Jun 21, 2024
This is a follow up to [OTEP 239: Introduces Profiling Data Model v2](open-telemetry/oteps#239)

The main motivation behind this PR is that this will allow us to start experimenting with the profiles proto in opentelemetry-collector. I marked the profiles part as `Experimental` to indicate that this is not a final version of the data model.

I copied the proto from the OTEP, and moved `pprofextended.proto` from `profiles/v1/alternatives/pprofextended.proto` to just `profiles/v1/pprofextended.proto`. I did this because I figured we no longer have alternative representations and this will reduce confusion for people outside of Profiling SIG. The rest of the proto stayed the same.

I tested this file with a collector fork and I it compiles properly.
VinozzZ pushed a commit to VinozzZ/opentelemetry-proto that referenced this pull request Jun 21, 2024
This is a follow up to [OTEP 239: Introduces Profiling Data Model v2](open-telemetry/oteps#239)

The main motivation behind this PR is that this will allow us to start experimenting with the profiles proto in opentelemetry-collector. I marked the profiles part as `Experimental` to indicate that this is not a final version of the data model.

I copied the proto from the OTEP, and moved `pprofextended.proto` from `profiles/v1/alternatives/pprofextended.proto` to just `profiles/v1/pprofextended.proto`. I did this because I figured we no longer have alternative representations and this will reduce confusion for people outside of Profiling SIG. The rest of the proto stayed the same.

I tested this file with a collector fork and I it compiles properly.
VinozzZ pushed a commit to VinozzZ/opentelemetry-proto that referenced this pull request Jun 21, 2024
This is a follow up to [OTEP 239: Introduces Profiling Data Model v2](open-telemetry/oteps#239)

The main motivation behind this PR is that this will allow us to start experimenting with the profiles proto in opentelemetry-collector. I marked the profiles part as `Experimental` to indicate that this is not a final version of the data model.

I copied the proto from the OTEP, and moved `pprofextended.proto` from `profiles/v1/alternatives/pprofextended.proto` to just `profiles/v1/pprofextended.proto`. I did this because I figured we no longer have alternative representations and this will reduce confusion for people outside of Profiling SIG. The rest of the proto stayed the same.

I tested this file with a collector fork and I it compiles properly.
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.