From df3644e7044807b734133649ee94765eeb49caa6 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Sun, 8 Feb 2026 14:57:25 -0800 Subject: [PATCH 1/8] Define HTTP exception events --- .chloggen/http-exception-events.yaml | 8 +++ docs/http/README.md | 1 + docs/http/http-exceptions.md | 100 +++++++++++++++++++++++++++ model/http/events.yaml | 38 ++++++++++ 4 files changed, 147 insertions(+) create mode 100644 .chloggen/http-exception-events.yaml create mode 100644 docs/http/http-exceptions.md create mode 100644 model/http/events.yaml diff --git a/.chloggen/http-exception-events.yaml b/.chloggen/http-exception-events.yaml new file mode 100644 index 0000000000..34b4fdabc5 --- /dev/null +++ b/.chloggen/http-exception-events.yaml @@ -0,0 +1,8 @@ +change_type: enhancement +component: http +note: Define `http.client.exception` and `http.server.exception` events for recording exceptions during HTTP operations +issues: [3414] +subtext: | + These domain-specific exception events provide a structured way to record + exceptions that occur during HTTP client requests (network failures, timeouts) + and HTTP server request processing (application errors, internal failures). diff --git a/docs/http/README.md b/docs/http/README.md index b493cb348f..53a2d679d0 100644 --- a/docs/http/README.md +++ b/docs/http/README.md @@ -40,6 +40,7 @@ Semantic conventions for HTTP are defined for the following signals: * [HTTP Spans](http-spans.md): Semantic Conventions for HTTP client and server *spans*. * [HTTP Metrics](http-metrics.md): Semantic Conventions for HTTP client and server *metrics*. +* [HTTP Exceptions](http-exceptions.md): Semantic Conventions for HTTP client and server *exceptions*. For help migrating from non-stable to stable conventions, see [the migration guide](../non-normative/http-migration.md). diff --git a/docs/http/http-exceptions.md b/docs/http/http-exceptions.md new file mode 100644 index 0000000000..ecdc7b215d --- /dev/null +++ b/docs/http/http-exceptions.md @@ -0,0 +1,100 @@ + + +# Semantic conventions for HTTP exceptions + +**Status**: [Development][DocumentStatus] + +This document defines semantic conventions for recording exceptions on HTTP operations. + + + +- [HTTP client exception](#http-client-exception) +- [HTTP server exception](#http-server-exception) + + + +## HTTP client exception + +The `http.client.exception` event represents an exception that occurred during +an HTTP client request, such as network failures, timeouts, or other errors that +prevent the request from completing successfully. + + + + + + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +The event name MUST be `http.client.exception`. + +This event represents an exception that occurred during an HTTP client request. + +This event SHOULD be recorded when an exception occurs during HTTP client operations, such as network failures, timeouts, or other errors that prevent the request from completing successfully. + +**Attributes:** + +| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values | +| --- | --- | --- | --- | --- | --- | +| [`exception.message`](/docs/registry/attributes/exception.md) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Conditionally Required` [1] | string | The exception message. [2] | `Division by zero`; `Can't convert 'int' object to str implicitly` | +| [`exception.type`](/docs/registry/attributes/exception.md) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Conditionally Required` [3] | string | The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it. | `java.net.ConnectException`; `OSError` | +| [`exception.stacktrace`](/docs/registry/attributes/exception.md) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Recommended` | string | A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG. | `Exception in thread "main" java.lang.RuntimeException: Test exception\n 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)` | + +**[1] `exception.message`:** Required if `exception.type` is not set, recommended otherwise. + +**[2] `exception.message`:** + +> [!WARNING] +> +> This attribute may contain sensitive information. + +**[3] `exception.type`:** Required if `exception.message` is not set, recommended otherwise. + + + + + +## HTTP server exception + +The `http.server.exception` event represents an exception that occurred during +HTTP server request processing, such as application errors, internal failures, or +other exceptions that prevent the server from successfully handling the request. + + + + + + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +The event name MUST be `http.server.exception`. + +This event represents an exception that occurred during HTTP server request processing. + +This event SHOULD be recorded when an exception occurs during HTTP server request processing, such as application errors, internal failures, or other exceptions that prevent the server from successfully handling the request. + +**Attributes:** + +| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values | +| --- | --- | --- | --- | --- | --- | +| [`exception.message`](/docs/registry/attributes/exception.md) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Conditionally Required` [1] | string | The exception message. [2] | `Division by zero`; `Can't convert 'int' object to str implicitly` | +| [`exception.type`](/docs/registry/attributes/exception.md) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Conditionally Required` [3] | string | The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it. | `java.net.ConnectException`; `OSError` | +| [`exception.stacktrace`](/docs/registry/attributes/exception.md) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Recommended` | string | A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG. | `Exception in thread "main" java.lang.RuntimeException: Test exception\n 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)` | + +**[1] `exception.message`:** Required if `exception.type` is not set, recommended otherwise. + +**[2] `exception.message`:** + +> [!WARNING] +> +> This attribute may contain sensitive information. + +**[3] `exception.type`:** Required if `exception.message` is not set, recommended otherwise. + + + + + +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/model/http/events.yaml b/model/http/events.yaml new file mode 100644 index 0000000000..86e4c69ef8 --- /dev/null +++ b/model/http/events.yaml @@ -0,0 +1,38 @@ +groups: + - id: event.http.client.exception + name: http.client.exception + stability: development + type: event + brief: > + This event represents an exception that occurred during an HTTP client request. + note: > + This event SHOULD be recorded when an exception occurs during HTTP client operations, + such as network failures, timeouts, or other errors that prevent the request + from completing successfully. + attributes: + - ref: exception.type + requirement_level: + conditionally_required: Required if `exception.message` is not set, recommended otherwise. + - ref: exception.message + requirement_level: + conditionally_required: Required if `exception.type` is not set, recommended otherwise. + - ref: exception.stacktrace + + - id: event.http.server.exception + name: http.server.exception + stability: development + type: event + brief: > + This event represents an exception that occurred during HTTP server request processing. + note: > + This event SHOULD be recorded when an exception occurs during HTTP server request + processing, such as application errors, internal failures, or other exceptions + that prevent the server from successfully handling the request. + attributes: + - ref: exception.type + requirement_level: + conditionally_required: Required if `exception.message` is not set, recommended otherwise. + - ref: exception.message + requirement_level: + conditionally_required: Required if `exception.type` is not set, recommended otherwise. + - ref: exception.stacktrace From 1d5efabc19c8d8981f0ad7eabff09b2b13c1a07b Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Mon, 9 Feb 2026 18:20:02 -0800 Subject: [PATCH 2/8] Move entire description into yaml --- docs/http/http-exceptions.md | 16 ++++------------ model/http/events.yaml | 14 +++++++------- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/docs/http/http-exceptions.md b/docs/http/http-exceptions.md index ecdc7b215d..eb6a720ba4 100644 --- a/docs/http/http-exceptions.md +++ b/docs/http/http-exceptions.md @@ -17,10 +17,6 @@ This document defines semantic conventions for recording exceptions on HTTP oper ## HTTP client exception -The `http.client.exception` event represents an exception that occurred during -an HTTP client request, such as network failures, timeouts, or other errors that -prevent the request from completing successfully. - @@ -30,9 +26,9 @@ prevent the request from completing successfully. The event name MUST be `http.client.exception`. -This event represents an exception that occurred during an HTTP client request. +This event represents an exception that occurred during an HTTP client request, such as network failures, timeouts, or other errors that prevent the request from completing successfully. -This event SHOULD be recorded when an exception occurs during HTTP client operations, such as network failures, timeouts, or other errors that prevent the request from completing successfully. +This event SHOULD be recorded when an exception occurs during HTTP client operations. **Attributes:** @@ -58,10 +54,6 @@ This event SHOULD be recorded when an exception occurs during HTTP client operat ## HTTP server exception -The `http.server.exception` event represents an exception that occurred during -HTTP server request processing, such as application errors, internal failures, or -other exceptions that prevent the server from successfully handling the request. - @@ -71,9 +63,9 @@ other exceptions that prevent the server from successfully handling the request. The event name MUST be `http.server.exception`. -This event represents an exception that occurred during HTTP server request processing. +This event represents an exception that occurred during HTTP server request processing, such as application errors, internal failures, or other exceptions that prevent the server from successfully handling the request. -This event SHOULD be recorded when an exception occurs during HTTP server request processing, such as application errors, internal failures, or other exceptions that prevent the server from successfully handling the request. +This event SHOULD be recorded when an exception occurs during HTTP server request processing. **Attributes:** diff --git a/model/http/events.yaml b/model/http/events.yaml index 86e4c69ef8..18ad402cd8 100644 --- a/model/http/events.yaml +++ b/model/http/events.yaml @@ -4,11 +4,11 @@ groups: stability: development type: event brief: > - This event represents an exception that occurred during an HTTP client request. - note: > - This event SHOULD be recorded when an exception occurs during HTTP client operations, + This event represents an exception that occurred during an HTTP client request, such as network failures, timeouts, or other errors that prevent the request from completing successfully. + note: > + This event SHOULD be recorded when an exception occurs during HTTP client operations. attributes: - ref: exception.type requirement_level: @@ -23,11 +23,11 @@ groups: stability: development type: event brief: > - This event represents an exception that occurred during HTTP server request processing. + This event represents an exception that occurred during HTTP server request processing, + such as application errors, internal failures, or other exceptions that prevent + the server from successfully handling the request. note: > - This event SHOULD be recorded when an exception occurs during HTTP server request - processing, such as application errors, internal failures, or other exceptions - that prevent the server from successfully handling the request. + This event SHOULD be recorded when an exception occurs during HTTP server request processing. attributes: - ref: exception.type requirement_level: From 94d31abf5d21e3ae349f5c4888b28f0be5353640 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Mon, 9 Feb 2026 18:24:05 -0800 Subject: [PATCH 3/8] Rename http.(client|server).exception to http.(client|server).request.exception --- .chloggen/http-exception-events.yaml | 2 +- docs/http/http-exceptions.md | 16 ++++++++-------- model/http/events.yaml | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.chloggen/http-exception-events.yaml b/.chloggen/http-exception-events.yaml index 34b4fdabc5..c6eb1c368d 100644 --- a/.chloggen/http-exception-events.yaml +++ b/.chloggen/http-exception-events.yaml @@ -1,6 +1,6 @@ change_type: enhancement component: http -note: Define `http.client.exception` and `http.server.exception` events for recording exceptions during HTTP operations +note: Define `http.client.request.exception` and `http.server.request.exception` events for recording exceptions during HTTP operations issues: [3414] subtext: | These domain-specific exception events provide a structured way to record diff --git a/docs/http/http-exceptions.md b/docs/http/http-exceptions.md index eb6a720ba4..049b54d5f9 100644 --- a/docs/http/http-exceptions.md +++ b/docs/http/http-exceptions.md @@ -10,21 +10,21 @@ This document defines semantic conventions for recording exceptions on HTTP oper -- [HTTP client exception](#http-client-exception) -- [HTTP server exception](#http-server-exception) +- [HTTP client request exception](#http-client-request-exception) +- [HTTP server request exception](#http-server-request-exception) -## HTTP client exception +## HTTP client request exception - + **Status:** ![Development](https://img.shields.io/badge/-development-blue) -The event name MUST be `http.client.exception`. +The event name MUST be `http.client.request.exception`. This event represents an exception that occurred during an HTTP client request, such as network failures, timeouts, or other errors that prevent the request from completing successfully. @@ -52,16 +52,16 @@ This event SHOULD be recorded when an exception occurs during HTTP client operat -## HTTP server exception +## HTTP server request exception - + **Status:** ![Development](https://img.shields.io/badge/-development-blue) -The event name MUST be `http.server.exception`. +The event name MUST be `http.server.request.exception`. This event represents an exception that occurred during HTTP server request processing, such as application errors, internal failures, or other exceptions that prevent the server from successfully handling the request. diff --git a/model/http/events.yaml b/model/http/events.yaml index 18ad402cd8..017afbe1fd 100644 --- a/model/http/events.yaml +++ b/model/http/events.yaml @@ -1,6 +1,6 @@ groups: - - id: event.http.client.exception - name: http.client.exception + - id: event.http.client.request.exception + name: http.client.request.exception stability: development type: event brief: > @@ -18,8 +18,8 @@ groups: conditionally_required: Required if `exception.type` is not set, recommended otherwise. - ref: exception.stacktrace - - id: event.http.server.exception - name: http.server.exception + - id: event.http.server.request.exception + name: http.server.request.exception stability: development type: event brief: > From f5dc3d62163859e59341d8efbe5d406795de3f70 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Mon, 9 Feb 2026 19:18:41 -0800 Subject: [PATCH 4/8] severity --- docs/http/http-exceptions.md | 4 ++++ model/http/events.yaml | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/docs/http/http-exceptions.md b/docs/http/http-exceptions.md index 049b54d5f9..744fbc0caa 100644 --- a/docs/http/http-exceptions.md +++ b/docs/http/http-exceptions.md @@ -29,6 +29,8 @@ The event name MUST be `http.client.request.exception`. This event represents an exception that occurred during an HTTP client request, such as network failures, timeouts, or other errors that prevent the request from completing successfully. This event SHOULD be recorded when an exception occurs during HTTP client operations. +Instrumentations SHOULD set the severity to ERROR (severity number 17) when recording this event. +Some HTTP client frameworks generate artificial exceptions for non-successful HTTP status codes (e.g., 404 Not Found). When possible, instrumentations SHOULD NOT record these artificial exceptions, or SHOULD set the severity to DEBUG (severity number 5). **Attributes:** @@ -66,6 +68,8 @@ The event name MUST be `http.server.request.exception`. This event represents an exception that occurred during HTTP server request processing, such as application errors, internal failures, or other exceptions that prevent the server from successfully handling the request. This event SHOULD be recorded when an exception occurs during HTTP server request processing. +Instrumentations SHOULD set the severity to ERROR (severity number 17) when recording this event. +Some HTTP server frameworks generate artificial exceptions for certain HTTP status codes (e.g., 404 Not Found). When possible, instrumentations SHOULD NOT record these artificial exceptions, or SHOULD set the severity to DEBUG (severity number 5). **Attributes:** diff --git a/model/http/events.yaml b/model/http/events.yaml index 017afbe1fd..27015af8af 100644 --- a/model/http/events.yaml +++ b/model/http/events.yaml @@ -9,6 +9,12 @@ groups: from completing successfully. note: > This event SHOULD be recorded when an exception occurs during HTTP client operations. + + Instrumentations SHOULD set the severity to ERROR (severity number 17) when recording this event. + + Some HTTP client frameworks generate artificial exceptions for non-successful HTTP status codes + (e.g., 404 Not Found). When possible, instrumentations SHOULD NOT record these artificial + exceptions, or SHOULD set the severity to DEBUG (severity number 5). attributes: - ref: exception.type requirement_level: @@ -28,6 +34,12 @@ groups: the server from successfully handling the request. note: > This event SHOULD be recorded when an exception occurs during HTTP server request processing. + + Instrumentations SHOULD set the severity to ERROR (severity number 17) when recording this event. + + Some HTTP server frameworks generate artificial exceptions for certain HTTP status codes + (e.g., 404 Not Found). When possible, instrumentations SHOULD NOT record these artificial + exceptions, or SHOULD set the severity to DEBUG (severity number 5). attributes: - ref: exception.type requirement_level: From 98863e954d36c12e708046ee87fc9346567d1087 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Tue, 10 Feb 2026 15:11:20 -0800 Subject: [PATCH 5/8] Change HTTP client exception severity to WARN --- docs/http/http-exceptions.md | 2 +- model/http/events.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/http/http-exceptions.md b/docs/http/http-exceptions.md index 744fbc0caa..30e02be55d 100644 --- a/docs/http/http-exceptions.md +++ b/docs/http/http-exceptions.md @@ -29,7 +29,7 @@ The event name MUST be `http.client.request.exception`. This event represents an exception that occurred during an HTTP client request, such as network failures, timeouts, or other errors that prevent the request from completing successfully. This event SHOULD be recorded when an exception occurs during HTTP client operations. -Instrumentations SHOULD set the severity to ERROR (severity number 17) when recording this event. +Instrumentations SHOULD set the severity to WARN (severity number 13) when recording this event. Some HTTP client frameworks generate artificial exceptions for non-successful HTTP status codes (e.g., 404 Not Found). When possible, instrumentations SHOULD NOT record these artificial exceptions, or SHOULD set the severity to DEBUG (severity number 5). **Attributes:** diff --git a/model/http/events.yaml b/model/http/events.yaml index 27015af8af..ee2499f9c3 100644 --- a/model/http/events.yaml +++ b/model/http/events.yaml @@ -10,7 +10,7 @@ groups: note: > This event SHOULD be recorded when an exception occurs during HTTP client operations. - Instrumentations SHOULD set the severity to ERROR (severity number 17) when recording this event. + Instrumentations SHOULD set the severity to WARN (severity number 13) when recording this event. Some HTTP client frameworks generate artificial exceptions for non-successful HTTP status codes (e.g., 404 Not Found). When possible, instrumentations SHOULD NOT record these artificial From 94ea2f4ebc56d36c08f16264dbe0ac7168969bb6 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Tue, 10 Feb 2026 15:32:24 -0800 Subject: [PATCH 6/8] Add note about copying span attributes to exception events --- docs/http/http-exceptions.md | 2 ++ model/http/events.yaml | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/docs/http/http-exceptions.md b/docs/http/http-exceptions.md index 30e02be55d..cd002c63cb 100644 --- a/docs/http/http-exceptions.md +++ b/docs/http/http-exceptions.md @@ -31,6 +31,7 @@ This event represents an exception that occurred during an HTTP client request, This event SHOULD be recorded when an exception occurs during HTTP client operations. Instrumentations SHOULD set the severity to WARN (severity number 13) when recording this event. Some HTTP client frameworks generate artificial exceptions for non-successful HTTP status codes (e.g., 404 Not Found). When possible, instrumentations SHOULD NOT record these artificial exceptions, or SHOULD set the severity to DEBUG (severity number 5). +Instrumentations MAY provide a configuration option to populate exception events with the attributes captured on the corresponding http client span. **Attributes:** @@ -70,6 +71,7 @@ This event represents an exception that occurred during HTTP server request proc This event SHOULD be recorded when an exception occurs during HTTP server request processing. Instrumentations SHOULD set the severity to ERROR (severity number 17) when recording this event. Some HTTP server frameworks generate artificial exceptions for certain HTTP status codes (e.g., 404 Not Found). When possible, instrumentations SHOULD NOT record these artificial exceptions, or SHOULD set the severity to DEBUG (severity number 5). +Instrumentations MAY provide a configuration option to populate exception events with the attributes captured on the corresponding http server span. **Attributes:** diff --git a/model/http/events.yaml b/model/http/events.yaml index ee2499f9c3..fdc92bb43f 100644 --- a/model/http/events.yaml +++ b/model/http/events.yaml @@ -15,6 +15,9 @@ groups: Some HTTP client frameworks generate artificial exceptions for non-successful HTTP status codes (e.g., 404 Not Found). When possible, instrumentations SHOULD NOT record these artificial exceptions, or SHOULD set the severity to DEBUG (severity number 5). + + Instrumentations MAY provide a configuration option to populate exception events + with the attributes captured on the corresponding http client span. attributes: - ref: exception.type requirement_level: @@ -40,6 +43,9 @@ groups: Some HTTP server frameworks generate artificial exceptions for certain HTTP status codes (e.g., 404 Not Found). When possible, instrumentations SHOULD NOT record these artificial exceptions, or SHOULD set the severity to DEBUG (severity number 5). + + Instrumentations MAY provide a configuration option to populate exception events + with the attributes captured on the corresponding http server span. attributes: - ref: exception.type requirement_level: From fec491373a43518b1ce7826b27a418ebc1d14815 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Tue, 10 Feb 2026 18:24:00 -0800 Subject: [PATCH 7/8] HTTP --- docs/http/http-exceptions.md | 4 ++-- model/http/events.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/http/http-exceptions.md b/docs/http/http-exceptions.md index cd002c63cb..f4887c85a1 100644 --- a/docs/http/http-exceptions.md +++ b/docs/http/http-exceptions.md @@ -31,7 +31,7 @@ This event represents an exception that occurred during an HTTP client request, This event SHOULD be recorded when an exception occurs during HTTP client operations. Instrumentations SHOULD set the severity to WARN (severity number 13) when recording this event. Some HTTP client frameworks generate artificial exceptions for non-successful HTTP status codes (e.g., 404 Not Found). When possible, instrumentations SHOULD NOT record these artificial exceptions, or SHOULD set the severity to DEBUG (severity number 5). -Instrumentations MAY provide a configuration option to populate exception events with the attributes captured on the corresponding http client span. +Instrumentations MAY provide a configuration option to populate exception events with the attributes captured on the corresponding HTTP client span. **Attributes:** @@ -71,7 +71,7 @@ This event represents an exception that occurred during HTTP server request proc This event SHOULD be recorded when an exception occurs during HTTP server request processing. Instrumentations SHOULD set the severity to ERROR (severity number 17) when recording this event. Some HTTP server frameworks generate artificial exceptions for certain HTTP status codes (e.g., 404 Not Found). When possible, instrumentations SHOULD NOT record these artificial exceptions, or SHOULD set the severity to DEBUG (severity number 5). -Instrumentations MAY provide a configuration option to populate exception events with the attributes captured on the corresponding http server span. +Instrumentations MAY provide a configuration option to populate exception events with the attributes captured on the corresponding HTTP server span. **Attributes:** diff --git a/model/http/events.yaml b/model/http/events.yaml index fdc92bb43f..15dec89838 100644 --- a/model/http/events.yaml +++ b/model/http/events.yaml @@ -17,7 +17,7 @@ groups: exceptions, or SHOULD set the severity to DEBUG (severity number 5). Instrumentations MAY provide a configuration option to populate exception events - with the attributes captured on the corresponding http client span. + with the attributes captured on the corresponding HTTP client span. attributes: - ref: exception.type requirement_level: @@ -45,7 +45,7 @@ groups: exceptions, or SHOULD set the severity to DEBUG (severity number 5). Instrumentations MAY provide a configuration option to populate exception events - with the attributes captured on the corresponding http server span. + with the attributes captured on the corresponding HTTP server span. attributes: - ref: exception.type requirement_level: From cb710b4343e1ade0e747360d76afb4bd1c65b919 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Wed, 11 Feb 2026 09:27:16 -0800 Subject: [PATCH 8/8] limit artificial exception note to client side --- docs/http/http-exceptions.md | 1 - model/http/events.yaml | 4 ---- 2 files changed, 5 deletions(-) diff --git a/docs/http/http-exceptions.md b/docs/http/http-exceptions.md index f4887c85a1..ed832fe956 100644 --- a/docs/http/http-exceptions.md +++ b/docs/http/http-exceptions.md @@ -70,7 +70,6 @@ This event represents an exception that occurred during HTTP server request proc This event SHOULD be recorded when an exception occurs during HTTP server request processing. Instrumentations SHOULD set the severity to ERROR (severity number 17) when recording this event. -Some HTTP server frameworks generate artificial exceptions for certain HTTP status codes (e.g., 404 Not Found). When possible, instrumentations SHOULD NOT record these artificial exceptions, or SHOULD set the severity to DEBUG (severity number 5). Instrumentations MAY provide a configuration option to populate exception events with the attributes captured on the corresponding HTTP server span. **Attributes:** diff --git a/model/http/events.yaml b/model/http/events.yaml index 15dec89838..de4368c641 100644 --- a/model/http/events.yaml +++ b/model/http/events.yaml @@ -40,10 +40,6 @@ groups: Instrumentations SHOULD set the severity to ERROR (severity number 17) when recording this event. - Some HTTP server frameworks generate artificial exceptions for certain HTTP status codes - (e.g., 404 Not Found). When possible, instrumentations SHOULD NOT record these artificial - exceptions, or SHOULD set the severity to DEBUG (severity number 5). - Instrumentations MAY provide a configuration option to populate exception events with the attributes captured on the corresponding HTTP server span. attributes: