Skip to content

Commit cd547d8

Browse files
author
Sam Spencer
committed
Merge branch 'samsp-msft/MCP' of https://github.com/samsp-msft/semantic-conventions into samsp-msft/MCP
2 parents 70b4ab0 + 88544b8 commit cd547d8

File tree

94 files changed

+1838
-642
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

94 files changed

+1838
-642
lines changed

.chloggen/add_oracledb_semconv.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Use this changelog template to create an entry for release notes.
2+
#
3+
# If your change doesn't affect end users you should instead start
4+
# your pull request title with [chore] or use the "Skip Changelog" label.
5+
6+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
7+
change_type: new_component
8+
9+
# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db)
10+
component: db
11+
12+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
13+
note: Adding semantic conventions for `oracledb` instrumentations.
14+
15+
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
16+
# The values here must be integers.
17+
issues: [2612]
18+
19+
# (Optional) One or more lines of additional information to render under the primary note.
20+
# These lines will be padded with 2 spaces and then inserted directly into the document.
21+
# Use pipe (|) for multiline entries.
22+
subtext:
23+
Oracle Database semantic conventions.

.chloggen/browser-event.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Use this changelog template to create an entry for release notes.
2+
#
3+
# If your change doesn't affect end users you should instead start
4+
# your pull request title with [chore] or use the "Skip Changelog" label.
5+
6+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
7+
change_type: new_component
8+
9+
# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db)
10+
component: browser
11+
12+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
13+
note: Add browser web vitals event.
14+
15+
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
16+
# The values here must be integers.
17+
issues: [1940]
18+
19+
# (Optional) One or more lines of additional information to render under the primary note.
20+
# These lines will be padded with 2 spaces and then inserted directly into the document.
21+
# Use pipe (|) for multiline entries.
22+
subtext:

.chloggen/ff-generic-error.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Use this changelog template to create an entry for release notes.
2+
#
3+
# If your change doesn't affect end users you should instead start
4+
# your pull request title with [chore] or use the "Skip Changelog" label.
5+
6+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
7+
change_type: breaking
8+
9+
# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db)
10+
component: feature_flag
11+
12+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
13+
note: Use generic `error.message` in feature flag evaluation event
14+
15+
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
16+
# The values here must be integers.
17+
issues: [1994]
18+
19+
# (Optional) One or more lines of additional information to render under the primary note.
20+
# These lines will be padded with 2 spaces and then inserted directly into the document.
21+
# Use pipe (|) for multiline entries.
22+
subtext:
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Use this changelog template to create an entry for release notes.
2+
#
3+
# If your change doesn't affect end users you should instead start
4+
# your pull request title with [chore] or use the "Skip Changelog" label.
5+
6+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
7+
change_type: 'breaking'
8+
9+
# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db)
10+
component: 'otel'
11+
12+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
13+
note: Rename span health metrics to remove the .count suffixes
14+
15+
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
16+
# The values here must be integers.
17+
issues: [1979]
18+
19+
# (Optional) One or more lines of additional information to render under the primary note.
20+
# These lines will be padded with 2 spaces and then inserted directly into the document.
21+
# Use pipe (|) for multiline entries.
22+
subtext:

.chloggen/requests-duration.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Use this changelog template to create an entry for release notes.
2+
#
3+
# If your change doesn't affect end users you should instead start
4+
# your pull request title with [chore] or use the "Skip Changelog" label.
5+
6+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
7+
change_type: 'enhancement'
8+
9+
# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db)
10+
component: 'otel'
11+
12+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
13+
note: Adds SDK self-monitoring metric for exporter call duration
14+
15+
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
16+
# The values here must be integers.
17+
issues: [1906]
18+
19+
# (Optional) One or more lines of additional information to render under the primary note.
20+
# These lines will be padded with 2 spaces and then inserted directly into the document.
21+
# Use pipe (|) for multiline entries.
22+
subtext:

.lychee.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ exclude = [
77
# excluding links to pull requests and issues is done for performance
88
"^https://github.com/open-telemetry/semantic-conventions/(pull|issues)/\\d+$",
99
"^https://github.com/open-telemetry/opentelemetry-specification/(pull|issues)/\\d+$",
10-
# TODO (trask) remove this exclusion after (hopefully) this page comes back up
11-
"^https://docs.oracle.com/en/java/javase/17/docs/api/"
10+
# TODO (lmolkova) treat timeout as not a failure?
11+
"^https://www.intersystems.com"
1212
]
1313

1414
# better to be safe and avoid failures

CONTRIBUTING.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ requirements and recommendations.
1212
<!-- toc -->
1313

1414
- [Sign the CLA](#sign-the-cla)
15-
- [How to Contribute](#how-to-contribute)
15+
- [How to contribute](#how-to-contribute)
1616
- [Which semantic conventions belong in this repo](#which-semantic-conventions-belong-in-this-repo)
1717
- [Suggesting conventions for a new area](#suggesting-conventions-for-a-new-area)
1818
- [Prerequisites](#prerequisites)
@@ -24,12 +24,12 @@ requirements and recommendations.
2424
- [3. Check new convention](#3-check-new-convention)
2525
- [4. Verify the changes before committing](#4-verify-the-changes-before-committing)
2626
- [5. Changelog](#5-changelog)
27-
- [When to add a Changelog Entry](#when-to-add-a-changelog-entry)
27+
- [When to add a changelog entry](#when-to-add-a-changelog-entry)
2828
- [Examples](#examples)
29-
- [Adding a Changelog Entry](#adding-a-changelog-entry)
29+
- [Adding a changelog entry](#adding-a-changelog-entry)
3030
- [5. Getting your PR merged](#5-getting-your-pr-merged)
3131
- [Automation](#automation)
32-
- [Consistency Checks](#consistency-checks)
32+
- [Consistency checks](#consistency-checks)
3333
- [Auto formatting](#auto-formatting)
3434
- [Markdown style](#markdown-style)
3535
- [Misspell check](#misspell-check)
@@ -46,7 +46,7 @@ requirements and recommendations.
4646
Before you can contribute, you will need to sign the [Contributor License
4747
Agreement](https://identity.linuxfoundation.org/projects/cncf).
4848

49-
## How to Contribute
49+
## How to contribute
5050

5151
When contributing to semantic conventions, it's important to understand a few
5252
key, but non-obvious, aspects:
@@ -248,7 +248,7 @@ Refer to the [Automation](#automation) section for more details.
248248

249249
### 5. Changelog
250250

251-
#### When to add a Changelog Entry
251+
#### When to add a changelog entry
252252

253253
Pull requests that contain user-facing changes will require a changelog entry.
254254
Keep in mind the following types of users (not limited to):
@@ -275,7 +275,7 @@ No changelog entry:
275275
- Refactorings with no meaningful change in functionality
276276
- Chores, such as enabling linters, updating dependencies
277277

278-
#### Adding a Changelog Entry
278+
#### Adding a changelog entry
279279

280280
The [CHANGELOG.md](./CHANGELOG.md) files in this repo is autogenerated
281281
from `.yaml` files in the [/.chloggen](/.chloggen) directory.
@@ -319,7 +319,7 @@ to merge**.
319319

320320
Semantic Conventions provides a set of automated tools for general development.
321321

322-
### Consistency Checks
322+
### Consistency checks
323323

324324
The Specification has a number of tools it uses to check things like style,
325325
spelling and link validity.

docs/attributes-registry/db.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ If `db.query.text` is also captured, then `db.operation.parameter.<key>` SHOULD
6161
`db.operation.parameter.<key>` SHOULD NOT be captured on batch operations.
6262

6363
**[6] `db.query.summary`:** `db.query.summary` provides static summary of the query text. It describes a class of database queries and is useful as a grouping key, especially when analyzing telemetry for database calls involving complex queries.
64-
Summary may be available to the instrumentation through instrumentation hooks or other means. If it is not available, instrumentations that support query parsing SHOULD generate a summary following [Generating query summary](../database/database-spans.md#generating-a-summary-of-the-query-text) section.
64+
Summary may be available to the instrumentation through instrumentation hooks or other means. If it is not available, instrumentations that support query parsing SHOULD generate a summary following [Generating query summary](/docs/database/database-spans.md#generating-a-summary-of-the-query-text) section.
6565

66-
**[7] `db.query.text`:** For sanitization see [Sanitization of `db.query.text`](../database/database-spans.md#sanitization-of-dbquerytext).
66+
**[7] `db.query.text`:** For sanitization see [Sanitization of `db.query.text`](/docs/database/database-spans.md#sanitization-of-dbquerytext).
6767
For batch operations, if the individual operations are known to have the same query text then that query text SHOULD be used, otherwise all of the individual query texts SHOULD be concatenated with separator `; ` or some other database system specific separator if more applicable.
6868
Even though parameterized query text can potentially have sensitive data, by using a parameterized query the user is giving a strong signal that any sensitive data will be passed as parameter values, and the benefit to observability of capturing the static part of the query text by default outweighs the risk.
6969

docs/attributes-registry/feature-flag.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ This document defines attributes for Feature Flags.
1313
| Attribute | Type | Description | Examples | Stability |
1414
|---|---|---|---|---|
1515
| <a id="feature-flag-context-id" href="#feature-flag-context-id">`feature_flag.context.id`</a> | string | The unique identifier for the flag evaluation context. For example, the targeting key. | `5157782b-2203-4c80-a857-dbbd5e7761db` | ![Development](https://img.shields.io/badge/-development-blue) |
16-
| <a id="feature-flag-evaluation-error-message" href="#feature-flag-evaluation-error-message">`feature_flag.evaluation.error.message`</a> | string | A message explaining the nature of an error occurring during flag evaluation. | `Flag `header-color` expected type `string` but found type `number`` | ![Development](https://img.shields.io/badge/-development-blue) |
1716
| <a id="feature-flag-key" href="#feature-flag-key">`feature_flag.key`</a> | string | The lookup key of the feature flag. | `logo-color` | ![Development](https://img.shields.io/badge/-development-blue) |
1817
| <a id="feature-flag-provider-name" href="#feature-flag-provider-name">`feature_flag.provider_name`</a> | string | Identifies the feature flag provider. | `Flag Manager` | ![Development](https://img.shields.io/badge/-development-blue) |
1918
| <a id="feature-flag-result-reason" href="#feature-flag-result-reason">`feature_flag.result.reason`</a> | string | The reason code which shows how a feature flag value was determined. | `static`; `targeting_match`; `error`; `default` | ![Development](https://img.shields.io/badge/-development-blue) |
@@ -48,6 +47,7 @@ Describes deprecated feature flag attributes.
4847

4948
| Attribute | Type | Description | Examples | Stability |
5049
|---|---|---|---|---|
50+
| <a id="feature-flag-evaluation-error-message" href="#feature-flag-evaluation-error-message">`feature_flag.evaluation.error.message`</a> | string | Deprecated, use `error.message` instead. | `Flag `header-color` expected type `string` but found type `number`` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)<br>Replaced by `error.message`. |
5151
| <a id="feature-flag-evaluation-reason" href="#feature-flag-evaluation-reason">`feature_flag.evaluation.reason`</a> | string | Deprecated, use `feature_flag.result.reason` instead. | `static`; `targeting_match`; `error`; `default` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)<br>Replaced by `feature_flag.result.reason`. |
5252
| <a id="feature-flag-variant" href="#feature-flag-variant">`feature_flag.variant`</a> | string | Deprecated, use `feature_flag.result.variant` instead. | `red`; `true`; `on` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)<br>Replaced by `feature_flag.result.variant`. |
5353

docs/browser/events.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<!--- Hugo front matter used to generate the website version of this page:
2+
linkTitle: Events
3+
--->
4+
5+
# Semantic conventions for browser events
6+
7+
**Status**: [Development][DocumentStatus]
8+
9+
This document defines semantic conventions for browser (web) instrumentations
10+
that emit events.
11+
12+
## WebVital Event
13+
14+
<!-- semconv event.browser.web_vital -->
15+
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
16+
<!-- see templates/registry/markdown/snippet.md.j2 -->
17+
<!-- prettier-ignore-start -->
18+
<!-- markdownlint-capture -->
19+
<!-- markdownlint-disable -->
20+
21+
**Status:** ![Development](https://img.shields.io/badge/-development-blue)
22+
23+
The event name MUST be `browser.web_vital`.
24+
25+
This event describes the website performance metrics introduced by Google, See [web vitals](https://web.dev/vitals).
26+
27+
**Body fields:**
28+
29+
:warning: Body fields will be moved to complex attributes once the
30+
semantic convention tooling supports complex attributes
31+
(see [#1870](https://github.com/open-telemetry/semantic-conventions/issues/1870)).
32+
33+
| Body Field | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
34+
|---|---|---|---|---|---|
35+
| `delta` | double | The delta between the current value and the last-reported value. See [delta](https://github.com/GoogleChrome/web-vitals?tab=readme-ov-file#report-only-the-delta-of-changes). | `0.2` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
36+
| `id` | string | A unique ID representing this particular metric instance. | `v3-1677874579383-6381583661209` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
37+
| `name` | enum | Name of the web vital. | `cls` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
38+
| `value` | double | Value of the web vital. | `1.0` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
39+
40+
`name` 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.
41+
42+
| Value | Description | Stability |
43+
|---|---|---|
44+
| `cls` | Cumulative Layout Shift. See [cls](https://web.dev/articles/cls). | ![Development](https://img.shields.io/badge/-development-blue) |
45+
| `fid` | First Input Delay. See [fid](https://web.dev/articles/fid). | ![Development](https://img.shields.io/badge/-development-blue) |
46+
| `inp` | Interation to Next Paint. See [inp](https://web.dev/articles/inp). | ![Development](https://img.shields.io/badge/-development-blue) |
47+
| `lcp` | Largest Contentful Paint. See [lcp](https://web.dev/articles/lcp). | ![Development](https://img.shields.io/badge/-development-blue) |
48+
49+
<!-- markdownlint-restore -->
50+
<!-- prettier-ignore-end -->
51+
<!-- END AUTOGENERATED TEXT -->
52+
<!-- endsemconv -->
53+
54+
[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status

docs/cli/cli-spans.md

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,6 @@ linkTitle: CLI programs
88

99
This document defines semantic conventions to apply when instrumenting CLI programs, both as a caller and as callee. This document is intended for short-lived programs that end their execution, i.e. not daemon or long running background tasks.
1010

11-
Span kind SHOULD be `INTERNAL` when the traced program is the callee or `CLIENT` when the caller is tracing another program.
12-
13-
The span name SHOULD be set to `{process.executable.name}`.
14-
Instrumentations that have additional context about executed commands MAY use a different low-cardinality span name format and SHOULD document it.
15-
16-
Span status SHOULD be set to `Error` if `{process.exit.code}` is not 0. Refer to the [Recording Errors](/docs/general/recording-errors.md) document for
17-
additional details on how to record span status.
18-
1911
<!-- TODO: context propagation https://github.com/open-telemetry/semantic-conventions/issues/1612 -->
2012

2113
## Execution (callee) spans
@@ -27,6 +19,19 @@ additional details on how to record span status.
2719
<!-- markdownlint-capture -->
2820
<!-- markdownlint-disable -->
2921

22+
**Status:** ![Development](https://img.shields.io/badge/-development-blue)
23+
24+
This span describes CLI (Command Line Interfaces) program execution from a callee perspective.
25+
26+
**Span name** SHOULD be set to {process.executable.name}.
27+
Instrumentations that have additional context about executed commands MAY use
28+
a different low-cardinality span name format and SHOULD document it.
29+
30+
**Span status** SHOULD be set to Error if {process.exit.code} is not 0. Refer to
31+
the [Recording Errors](/docs/general/recording-errors.md) document for details on how to record span status.
32+
33+
**Span kind** SHOULD be `INTERNAL`.
34+
3035
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
3136
|---|---|---|---|---|---|
3237
| [`process.executable.name`](/docs/attributes-registry/process.md) | string | The name of the process executable. On Linux based systems, this SHOULD be set to the base name of the target of `/proc/[pid]/exe`. On Windows, this SHOULD be set to the base name of `GetProcessImageFileNameW`. | `otelcol` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
@@ -78,6 +83,19 @@ it's RECOMMENDED to:
7883
<!-- markdownlint-capture -->
7984
<!-- markdownlint-disable -->
8085

86+
**Status:** ![Development](https://img.shields.io/badge/-development-blue)
87+
88+
This span describes CLI (Command Line Interfaces) program execution from a caller perspective.
89+
90+
**Span name** SHOULD be set to {process.executable.name}.
91+
Instrumentations that have additional context about executed commands MAY use
92+
a different low-cardinality span name format and SHOULD document it.
93+
94+
**Span status** SHOULD be set to Error if {process.exit.code} is not 0. Refer to
95+
the [Recording Errors](/docs/general/recording-errors.md) document for details on how to record span status.
96+
97+
**Span kind** SHOULD be `CLIENT`.
98+
8199
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
82100
|---|---|---|---|---|---|
83101
| [`process.executable.name`](/docs/attributes-registry/process.md) | string | The name of the process executable. On Linux based systems, this SHOULD be set to the base name of the target of `/proc/[pid]/exe`. On Windows, this SHOULD be set to the base name of `GetProcessImageFileNameW`. | `otelcol` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |

0 commit comments

Comments
 (0)