67 lines
3.8 KiB
YAML
67 lines
3.8 KiB
YAML
groups:
|
|
- id: registry.code
|
|
type: attribute_group
|
|
display_name: Code Attributes
|
|
brief: >
|
|
These attributes provide context about source code
|
|
attributes:
|
|
- id: code.function.name
|
|
type: string
|
|
stability: stable
|
|
brief: >
|
|
The method or function fully-qualified name without arguments. The value should fit the natural representation of the language
|
|
runtime, which is also likely the same used within `code.stacktrace` attribute value.
|
|
This attribute MUST NOT be used on the Profile signal since the data is already captured in 'message Function'. This constraint is imposed to prevent redundancy and maintain data integrity.
|
|
examples:
|
|
- 'com.example.MyHttpService.serveRequest'
|
|
- 'GuzzleHttp\Client::transfer'
|
|
- 'fopen'
|
|
note: |
|
|
Values and format depends on each language runtime, thus it is impossible to provide an exhaustive list of examples.
|
|
The values are usually the same (or prefixes of) the ones found in native stack trace representation stored in
|
|
`code.stacktrace` without information on arguments.
|
|
|
|
Examples:
|
|
|
|
* Java method: `com.example.MyHttpService.serveRequest`
|
|
* Java anonymous class method: `com.mycompany.Main$1.myMethod`
|
|
* Java lambda method: `com.mycompany.Main$$Lambda/0x0000748ae4149c00.myMethod`
|
|
* PHP function: `GuzzleHttp\Client::transfer`
|
|
* Go function: `github.com/my/repo/pkg.foo.func5`
|
|
* Elixir: `OpenTelemetry.Ctx.new`
|
|
* Erlang: `opentelemetry_ctx:new`
|
|
* Rust: `playground::my_module::my_cool_func`
|
|
* C function: `fopen`
|
|
- id: code.file.path
|
|
type: string
|
|
stability: stable
|
|
brief: >
|
|
The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).
|
|
This attribute MUST NOT be used on the Profile signal since the data is already captured in 'message Function'. This constraint is imposed to prevent redundancy and maintain data integrity.
|
|
examples: /usr/local/MyApplication/content_root/app/index.php
|
|
- id: code.line.number
|
|
type: int
|
|
stability: stable
|
|
brief: >
|
|
The line number in `code.file.path` best representing the operation. It SHOULD point within the code unit named in `code.function.name`.
|
|
This attribute MUST NOT be used on the Profile signal since the data is already captured in 'message Line'. This constraint is imposed to prevent redundancy and maintain data integrity.
|
|
examples: 42
|
|
- id: code.column.number
|
|
type: int
|
|
stability: stable
|
|
brief: >
|
|
The column number in `code.file.path` best representing the operation. It SHOULD point within the code unit named in `code.function.name`.
|
|
This attribute MUST NOT be used on the Profile signal since the data is already captured in 'message Line'. This constraint is imposed to prevent redundancy and maintain data integrity.
|
|
examples: 16
|
|
- id: code.stacktrace
|
|
type: string
|
|
stability: stable
|
|
brief: >
|
|
A stacktrace as a string in the natural representation for the language runtime.
|
|
The representation is identical to [`exception.stacktrace`](/docs/exceptions/exceptions-spans.md#stacktrace-representation).
|
|
This attribute MUST NOT be used on the Profile signal since the data is already captured in 'message Location'. This constraint is imposed to prevent redundancy and maintain data integrity.
|
|
examples: >
|
|
at com.example.GenerateTrace.methodB(GenerateTrace.java:13)\n
|
|
at com.example.GenerateTrace.methodA(GenerateTrace.java:9)\n
|
|
at com.example.GenerateTrace.main(GenerateTrace.java:5)
|