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

[profiles] introduce semantic convention #1188

Merged
merged 25 commits into from
Sep 3, 2024
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
77a7f14
[profiles] introduce semantic convention
florianl Jun 24, 2024
412f7e7
fixup: update dropdown areas
florianl Jun 27, 2024
e0a5bf2
fixup: yamllint
florianl Jun 27, 2024
5d9951c
fixup: add PR number to changelog
florianl Jun 27, 2024
1580868
fixup: apply feedback from @trisch-me
florianl Jun 28, 2024
d38386d
fixup: apply feedback from @trask
florianl Jun 28, 2024
ffecd92
fixup: apply feedback from @trask
florianl Jun 28, 2024
377193e
fixup: apply feedback from @trask
florianl Jun 28, 2024
bec7ce7
fixup: run markdown-toc
florianl Jul 1, 2024
9870057
fixup: markdown
florianl Jul 1, 2024
9f65c24
fixup: remove reserved attributes
florianl Aug 7, 2024
f632512
fixup: drop link attributes
florianl Aug 8, 2024
ff6aaa2
fixup: fix missing DocumentStatus link
florianl Aug 8, 2024
7dbce84
fixup: drop prefix in attribute
florianl Aug 8, 2024
2ae1ac9
fixup: drop build_id
florianl Aug 9, 2024
823d1d4
Merge branch 'main' into profiles-convention
florianl Aug 9, 2024
aeb2739
Merge branch 'main' into profiles-convention
florianl Aug 14, 2024
cbf4bc1
Update model/registry/profile.yaml
florianl Aug 26, 2024
fd301ac
fixup: linter
florianl Aug 26, 2024
6160731
fixup: linter
florianl Aug 26, 2024
c85ae3e
Merge branch 'main' into profiles-convention
florianl Aug 28, 2024
608fb5c
fixup: use cpython
florianl Aug 28, 2024
7b8cbc5
Merge branch 'main' into profiles-convention
joaopgrassi Sep 2, 2024
b6aed34
fixup: run make fix
florianl Sep 2, 2024
94bb7ed
fixup: set requirement level to recommended from opt-in
florianl Sep 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .chloggen/profiles-convention.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Use this changelog template to create an entry for release notes.
#
# If your change doesn't affect end users you should instead start
# your pull request title with [chore] or use the "Skip Changelog" label.

# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: new_component

# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db)
component: profile

# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Introduce semantic convention for OTel Profiles.

# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
# The values here must be integers.
issues: [1188]

# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext:
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ body:
- area:otel
- area:peer
- area:process
- area:profile
- area:rpc
- area:server
- area:service
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/change_proposal.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ body:
- area:otel
- area:peer
- area:process
- area:profile
- area:rpc
- area:server
- area:service
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/new-conventions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ body:
- area:otel
- area:peer
- area:process
- area:profile
- area:rpc
- area:server
- area:service
Expand Down
1 change: 1 addition & 0 deletions docs/attributes-registry/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ Currently, the following namespaces exist:
- [OTel](otel.md)
- [Peer](peer.md)
- [Process](process.md)
- [Profile](profile.md)
- [RPC](rpc.md)
- [Server](server.md)
- [Service](service.md)
Expand Down
29 changes: 29 additions & 0 deletions docs/attributes-registry/profile.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<!--- Hugo front matter used to generate the website version of this page:
--->

<!-- NOTE: THIS FILE IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/attribute_namespace.md.j2 -->

# Profile

## Profile Frame Attributes

Describes the origin of a single frame in a Profile.

| Attribute | Type | Description | Examples | Stability |
| -------------------- | ------ | -------------------------------------------------------- | -------- | ---------------------------------------------------------------- |
| `profile.frame.type` | string | Describes the interpreter or compiler of a single frame. | `python` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |

`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 |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
| `dotnet` | [.Net](https://wikipedia.org/wiki/.NET) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `jvm` | [JVM](https://wikipedia.org/wiki/Java_virtual_machine) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `kernel` | [Kernel](<https://wikipedia.org/wiki/Kernel_(operating_system)>) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `native` | [C](<https://wikipedia.org/wiki/C_(programming_language)>), [C++](https://wikipedia.org/wiki/C%2B%2B), [Go](<https://wikipedia.org/wiki/Go_(programming_language)>), [Rust](<https://wikipedia.org/wiki/Rust_(programming_language)>) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `perl` | [Perl](https://wikipedia.org/wiki/Perl) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `php` | [PHP](https://wikipedia.org/wiki/PHP) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `python` | [Python](<https://wikipedia.org/wiki/Python_(programming_language)>) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `ruby` | [Ruby](<https://wikipedia.org/wiki/Ruby_(programming_language)>) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `v8js` | [V8JS](<https://wikipedia.org/wiki/V8_(JavaScript_engine)>) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
55 changes: 55 additions & 0 deletions docs/general/profiles.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<!--- Hugo front matter used to generate the website version of this page:
linkTitle: Logs
aliases: [docs/specs/semconv/general/profiles-general]
--->

# General Profiles Attributes

**Status**: [Experimental][DocumentStatus]

<!-- toc -->

- [Frame types](#frame-types)

<!-- tocstop -->

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.

<!-- semconv profile.frame(full) -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
<!-- markdownlint-capture -->
<!-- markdownlint-disable -->

| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|---|---|---|---|---|---|
| [`profile.frame.type`](/docs/attributes-registry/profile.md) | string | Describes the interpreter or compiler of a single frame. | `python` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |

`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 |
|---|---|---|
| `dotnet` | [.Net](https://wikipedia.org/wiki/.NET) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `jvm` | [JVM](https://wikipedia.org/wiki/Java_virtual_machine) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `kernel` | [Kernel](https://wikipedia.org/wiki/Kernel_(operating_system)) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `native` | [C](https://wikipedia.org/wiki/C_(programming_language)), [C++](https://wikipedia.org/wiki/C%2B%2B), [Go](https://wikipedia.org/wiki/Go_(programming_language)), [Rust](https://wikipedia.org/wiki/Rust_(programming_language)) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `perl` | [Perl](https://wikipedia.org/wiki/Perl) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `php` | [PHP](https://wikipedia.org/wiki/PHP) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `python` | [Python](https://wikipedia.org/wiki/Python_(programming_language)) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
florianl marked this conversation as resolved.
Show resolved Hide resolved
| `ruby` | [Ruby](https://wikipedia.org/wiki/Ruby_(programming_language)) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `v8js` | [V8JS](https://wikipedia.org/wiki/V8_(JavaScript_engine)) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |



<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status
8 changes: 8 additions & 0 deletions model/profiles/frame.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
groups:
- id: profile.frame
type: attribute_group
brief: >
Describes the origin of a single frame in a Profile.
attributes:
- ref: profile.frame.type
requirement_level: opt_in
florianl marked this conversation as resolved.
Show resolved Hide resolved
63 changes: 63 additions & 0 deletions model/registry/profile.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
groups:

- id: registry.profile.frame
type: attribute_group
brief: >
Describes the origin of a single frame in a Profile.
attributes:
- id: profile.frame.type
stability: experimental
brief: >
Describes the interpreter or compiler of a single frame.
examples: ['python']
type:
allow_custom_values: true
members:
- id: dotnet
brief: >
[.Net](https://wikipedia.org/wiki/.NET)
florianl marked this conversation as resolved.
Show resolved Hide resolved
value: "dotnet"
stability: experimental
- id: jvm
brief: >
[JVM](https://wikipedia.org/wiki/Java_virtual_machine)
value: "jvm"
stability: experimental
- id: kernel
brief: >
[Kernel](https://wikipedia.org/wiki/Kernel_(operating_system))
value: "kernel"
stability: experimental
- id: native
brief: >
[C](https://wikipedia.org/wiki/C_(programming_language)),
[C++](https://wikipedia.org/wiki/C%2B%2B),
[Go](https://wikipedia.org/wiki/Go_(programming_language)),
[Rust](https://wikipedia.org/wiki/Rust_(programming_language))
AlexanderWert marked this conversation as resolved.
Show resolved Hide resolved
value: "native"
stability: experimental
- id: perl
brief: >
[Perl](https://wikipedia.org/wiki/Perl)
value: "perl"
stability: experimental
- id: php
brief: >
[PHP](https://wikipedia.org/wiki/PHP)
value: "php"
stability: experimental
- id: python
brief: >
[Python](https://wikipedia.org/wiki/Python_(programming_language))
value: "python"
stability: experimental
- id: ruby
brief: >
[Ruby](https://wikipedia.org/wiki/Ruby_(programming_language))
value: "ruby"
stability: experimental
- id: v8js
brief: >
[V8JS](https://wikipedia.org/wiki/V8_(JavaScript_engine))
value: "v8js"
stability: experimental
florianl marked this conversation as resolved.
Show resolved Hide resolved
Loading