semantic-conventions/docs/general/profiles.md

5.8 KiB

Profiles attributes

Status: Development

General profiles identification attributes

The attributes described in this section are rather generic. They may be used in any Profiles record they apply to.

Frame types

Description: Describes the origin of a single frame in a Profile.

Attribute Type Description Examples Requirement Level Stability
profile.frame.type string Describes the interpreter or compiler of a single frame. cpython Recommended Development

profile.frame.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

Value Description Stability
beam Erlang Development
cpython Python Development
dotnet .NET Development
go Go, Development
jvm JVM Development
kernel Kernel Development
native Can be one of but not limited to C, C++, Go or Rust. If possible, a more precise value MUST be used. Development
perl Perl Development
php PHP Development
ruby Ruby Development
rust Rust Development
v8js V8JS Development

Compatibility with pprof

Existing pprof formats can be unambiguously mapped to this data model. Reverse mapping from this data model is also possible to the extent that the target profiles format has equivalent capabilities.

The attributes described in this section are specific to support convertibility. They may be used in any Profiles record they apply to.

Attribute Type Description Examples Requirement Level Stability
pprof.location.is_folded boolean Provides an indication that multiple symbols map to this location's address, for example due to identical code folding by the linker. In that case the line information represents one of the multiple symbols. This field must be recomputed when the symbolization state of the profile changes. Recommended Development
pprof.mapping.has_filenames boolean Indicates that there are filenames related to this mapping. Recommended Development
pprof.mapping.has_functions boolean Indicates that there are functions related to this mapping. Recommended Development
pprof.mapping.has_inline_frames boolean Indicates that there are inline frames related to this mapping. Recommended Development
pprof.mapping.has_line_numbers boolean Indicates that there are line numbers related to this mapping. Recommended Development