From 7d6bf5b2366e052d7a4122ba9552cd84605b3f91 Mon Sep 17 00:00:00 2001 From: Robert Pajak Date: Wed, 7 Jan 2026 22:39:36 +0100 Subject: [PATCH 1/5] [Trace] Deprecate Record Exception API in favor of using Logs --- CHANGELOG.md | 3 +++ specification/trace/api.md | 2 ++ specification/trace/exceptions.md | 4 +++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b6bc3257ed..954485f14ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,9 @@ release. ### Traces +- Deprecate Record Exception API in favor of using Logs. + ([#TODO](https://github.com/open-telemetry/opentelemetry-specification/pull/TODO)) + ### Metrics - Stabilize part of `Enabled` SDK for synchronous instruments. diff --git a/specification/trace/api.md b/specification/trace/api.md index 01afd30e602..2ad1c520c26 100644 --- a/specification/trace/api.md +++ b/specification/trace/api.md @@ -683,6 +683,8 @@ in the scope of this requirement and recommendation. #### Record Exception +**Status**: [Deprecated](../document-status.md) + To facilitate recording an exception languages SHOULD provide a `RecordException` method if the language uses exceptions. This is a specialized variant of [`AddEvent`](#add-events), diff --git a/specification/trace/exceptions.md b/specification/trace/exceptions.md index d0377d3958b..625c6d99e84 100644 --- a/specification/trace/exceptions.md +++ b/specification/trace/exceptions.md @@ -1,6 +1,8 @@ # Exceptions -**Status**: [Stable](../document-status.md), Unless otherwise specified. +**Status**: [Deprecated](../document-status.md), follow the +[semantic conventions for recording exceptions](https://opentelemetry.io/docs/specs/semconv/general/recording-errors/#recording-exceptions) +instead. This document defines how to record exceptions and their attributes. From 9a6e58d4bba2b11d85682862e2279455e9cfc290 Mon Sep 17 00:00:00 2001 From: Robert Pajak Date: Wed, 7 Jan 2026 22:40:45 +0100 Subject: [PATCH 2/5] Update link reference in changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 954485f14ad..8353920bc9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,7 @@ release. ### Traces - Deprecate Record Exception API in favor of using Logs. - ([#TODO](https://github.com/open-telemetry/opentelemetry-specification/pull/TODO)) + ([#4825](https://github.com/open-telemetry/opentelemetry-specification/pull/4825)) ### Metrics From 25a45f0c5a639c5b21b00e4bf016445b1e9dadc2 Mon Sep 17 00:00:00 2001 From: Robert Pajak Date: Wed, 7 Jan 2026 23:14:17 +0100 Subject: [PATCH 3/5] Remove confusing paragraph --- specification/trace/exceptions.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/specification/trace/exceptions.md b/specification/trace/exceptions.md index 625c6d99e84..a346ef8f8f9 100644 --- a/specification/trace/exceptions.md +++ b/specification/trace/exceptions.md @@ -21,8 +21,6 @@ to be set to ERROR. The name of the event MUST be `"exception"`. -**Status**: [Development](../document-status.md) - Refer to the [Recording Errors](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/recording-errors.md) document for the details on how to report errors across signals. - A typical template for an auto-instrumentation implementing this semantic convention using an [API-provided `recordException` method](api.md#record-exception) could look like this (pseudo-Java): From 99fb8653c8beb5c861311b0a55c03a887ec17ff0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Paj=C4=85k?= Date: Wed, 7 Jan 2026 23:29:51 +0100 Subject: [PATCH 4/5] Update specification/trace/exceptions.md --- specification/trace/exceptions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/trace/exceptions.md b/specification/trace/exceptions.md index a346ef8f8f9..b55464f48b6 100644 --- a/specification/trace/exceptions.md +++ b/specification/trace/exceptions.md @@ -1,7 +1,7 @@ # Exceptions **Status**: [Deprecated](../document-status.md), follow the -[semantic conventions for recording exceptions](https://opentelemetry.io/docs/specs/semconv/general/recording-errors/#recording-exceptions) +[semantic conventions for recording exceptions](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/recording-errors.md#recording-exceptions) instead. This document defines how to record exceptions and their attributes. From 6ba12cb83d94ba4ac186a30db520e05a8cad4bb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Paj=C4=85k?= Date: Wed, 7 Jan 2026 23:54:36 +0100 Subject: [PATCH 5/5] Update CHANGELOG.md Co-authored-by: Cijo Thomas --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8353920bc9f..a59798e75ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ release. ### Traces -- Deprecate Record Exception API in favor of using Logs. +- Deprecate Record Exception API in favor of using Events. ([#4825](https://github.com/open-telemetry/opentelemetry-specification/pull/4825)) ### Metrics