You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/exceptions/exceptions-spans.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ This event describes a single exception.
35
35
|---|---|---|---|---|---|
36
36
|[`exception.message`](/docs/registry/attributes/exception.md)| string | The exception message. |`Division by zero`; `Can't convert 'int' object to str implicitly`|`Conditionally Required`[1]||
37
37
|[`exception.type`](/docs/registry/attributes/exception.md)| 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`|`Conditionally Required`[2]||
38
-
|[`exception.escaped`](/docs/registry/attributes/exception.md)| boolean | Indicates that the exception is escaping the scope of the span. ||`Recommended`|<br>It's no longer recommended to record exceptions that are handled and do not escape the scope of a span. |
38
+
|[`exception.escaped`](/docs/registry/attributes/exception.md)| boolean | Indicates that the exception is escaping the scope of the span. ||`Remove`|<br>It's no longer recommended to record exceptions that are handled and do not escape the scope of a span. |
39
39
|[`exception.stacktrace`](/docs/registry/attributes/exception.md)| 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)`|`Recommended`||
40
40
41
41
**[1]`exception.message`:** Required if `exception.type` is not set, recommended otherwise.
Copy file name to clipboardExpand all lines: docs/general/attribute-requirement-level.md
+65Lines changed: 65 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -112,6 +112,71 @@ particularly expensive to retrieve or might pose a security or privacy risk.
112
112
These should therefore only be enabled explicitly by a user making an informed
113
113
decision.
114
114
115
+
## Migrate
116
+
117
+
The migrate requirement level is reserved for deprecated attributes and is
118
+
designed to help support a allowing for a phased rollout of the stable semantic conventions.
119
+
Under no circumstances should this attribute be added to an existing instrumentation.
120
+
121
+
The type of instrumentation helps to determine how the attribute should be handled, see below.
122
+
123
+
### Stable Instrumentation
124
+
125
+
Should continue emitting the attribute unless:
126
+
* User has set the domain ie `database` via the `OTEL_SEMCONV_STABILITY_OPT_IN` environment variable.
127
+
* User has excluded the attribute via explicit configuration
128
+
* The instrumentation bumps it's major version but will continue providing security patches for
129
+
the previous major version for at least 6 months.
130
+
131
+
Removal can occur when the major version is bumped provided previous major version will/has recieved 6 months of security patches from the time the replacement attribute is introduced.
132
+
133
+
### Long-term Unstable Instrumentation
134
+
135
+
> [!NOTE]
136
+
> Example's of long term unstable instrumentation, would be the OpenTelemetry Contrib packages as
137
+
> their stability is following that of the signal they are implementing.
138
+
139
+
Should stop emitting the attribute unless:
140
+
* User has set the domain ie `database/dup` via the `OTEL_SEMCONV_STABILITY_OPT_IN` environment variable.
141
+
* User has included the attribute via explicit configuration
142
+
143
+
Removal can occur when the deployment level of the package changes. For instance a beta package moves to release candidate.
144
+
145
+
### Unstable Instrumentation
146
+
147
+
Removal can occur once the new attribute is implemented,
148
+
provided that the instrumentation does not fall into any of the other categories.
149
+
Should that be the case the guidance for that category should be followed.
150
+
151
+
## Remove
152
+
153
+
The remove requirement level is reserved for deprecated attributes that are no longer relevant.
154
+
Under no circumstances should this attribute be added to an existing instrumentation.
155
+
156
+
The type of instrumentation helps to determine how the attribute should be handled, see below.
157
+
158
+
### Stable Instrumentation
159
+
160
+
Should continue emitting the attribute unless:
161
+
* User has excluded the attribute via explicit configuration
162
+
* The instrumentation bumps it's major version but will continue providing security patches for
163
+
the previous major version for at least 6 months.
164
+
165
+
Removal can occur when the major version is bumped provided previous major version will/has recieved 6 months of security patches from the time the replacement attribute is introduced.
166
+
167
+
### Long-term Unstable Instrumentation
168
+
169
+
Should stop emitting the attribute unless:
170
+
* User has included the attribute via explicit configuration
171
+
172
+
Removal can occur when the deployment level of the package changes. For instance a beta package moves to release candidate.
173
+
174
+
### Unstable Instrumentation
175
+
176
+
Can remove attribute at any time,
177
+
provided that the instrumentation does not fall into any of the other categories.
178
+
Should that be the case the guidance for that category should be followed.
179
+
115
180
## Performance suggestions
116
181
117
182
Here are several examples of expensive operations to be avoided by default:
0 commit comments