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

model/profile: add frame.type for Go and Rust #2003

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

Conversation

florianl
Copy link
Contributor

Changes

Add additional frame.type attributes for Go and Rust. With upcoming changes in https://github.com/open-telemetry/opentelemetry-ebpf-profiler it will be possible to differentiate more granularity on native frames.

FYI @open-telemetry/profiling-maintainers

Merge requirement checklist

@florianl florianl requested review from a team as code owners March 18, 2025 12:49
@github-actions github-actions bot added the enhancement New feature or request label Mar 18, 2025
Signed-off-by: Florian Lehner <florian.lehner@elastic.co>
@florianl florianl force-pushed the profile-frame-types++ branch from 43d6bcc to 302fe16 Compare March 18, 2025 12:51
Copy link
Member

@felixge felixge left a comment

Choose a reason for hiding this comment

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

LGTM, thanks! 🙇

@@ -39,12 +39,14 @@ They may be used in any Profiles record they apply to.
| `beam` | [Erlang](https://en.wikipedia.org/wiki/BEAM_(Erlang_virtual_machine)) | ![Development](https://img.shields.io/badge/-development-blue) |
| `cpython` | [Python](https://wikipedia.org/wiki/Python_(programming_language)) | ![Development](https://img.shields.io/badge/-development-blue) |
| `dotnet` | [.NET](https://wikipedia.org/wiki/.NET) | ![Development](https://img.shields.io/badge/-development-blue) |
| `go` | [Go](https://wikipedia.org/wiki/Go_(programming_language)), | ![Development](https://img.shields.io/badge/-development-blue) |
Copy link
Member

@christos68k christos68k Mar 18, 2025

Choose a reason for hiding this comment

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

Should we clarify whether this should be used for symbolized frames only (otherwise 'native'), or could it span both symbolized and unsymbolized (which is what's implied with the current wording)?

For simplicity, symbolization shouldn't affect semantics, and frame type == go should be used whenever the producer can determine that this is the case regardless of presence of symbols.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

If the producer can distinguish in more detail the frame type, go must be preferred over native. Regardless whether the frame is symbolized or not.

Co-authored-by: Christos Kalkanis <christos.kalkanis@elastic.co>
@florianl florianl force-pushed the profile-frame-types++ branch from 735bc89 to ec2a3d0 Compare March 19, 2025 08:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

Successfully merging this pull request may close these issues.

3 participants