Skip to content

Commit bf3ad15

Browse files
committed
Update the semantic conventions version to 1.41.0
1 parent 2288103 commit bf3ad15

27 files changed

Lines changed: 513 additions & 21 deletions

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
## Unreleased
44

5+
* Bump to semconv v1.41.0
6+
([#PRNUM](https://github.com/open-telemetry/semantic-conventions-java/pull/PRNUM))
7+
58
## Version 1.40.0 (2026-02-19)
69

710
* Bump to semconv v1.40.0

build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@ val snapshot = true
1111
// end
1212

1313
// The release version of https://github.com/open-telemetry/semantic-conventions used to generate classes
14-
var semanticConventionsVersion = "1.40.0"
14+
var semanticConventionsVersion = "1.41.0"
1515
val schemaUrlVersions = listOf(
1616
semanticConventionsVersion,
17+
"1.40.0",
1718
"1.39.0",
1819
"1.38.0",
1920
"1.37.0",
Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,22 @@
1-
Comparing source compatibility of opentelemetry-semconv-1.40.0-SNAPSHOT.jar against opentelemetry-semconv-1.40.0.jar
2-
No changes.
1+
Comparing source compatibility of opentelemetry-semconv-1.41.0-SNAPSHOT.jar against opentelemetry-semconv-1.40.0.jar
2+
+++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.DeploymentAttributes (not serializable)
3+
+++ CLASS FILE FORMAT VERSION: 52.0 <- n.a.
4+
+++ NEW SUPERCLASS: java.lang.Object
5+
+++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey<java.lang.String> DEPLOYMENT_ENVIRONMENT_NAME
6+
+++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.DeploymentAttributes$DeploymentEnvironmentNameValues (not serializable)
7+
+++ CLASS FILE FORMAT VERSION: 52.0 <- n.a.
8+
+++ NEW SUPERCLASS: java.lang.Object
9+
+++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String TEST
10+
+++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String DEVELOPMENT
11+
+++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String STAGING
12+
+++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String PRODUCTION
13+
*** MODIFIED CLASS: PUBLIC FINAL io.opentelemetry.semconv.OtelAttributes (not serializable)
14+
=== CLASS FILE FORMAT VERSION: 52.0 <- 52.0
15+
+++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey<java.lang.String> OTEL_EVENT_NAME
16+
*** MODIFIED CLASS: PUBLIC FINAL io.opentelemetry.semconv.SchemaUrls (not serializable)
17+
=== CLASS FILE FORMAT VERSION: 52.0 <- 52.0
18+
+++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_41_0
19+
*** MODIFIED CLASS: PUBLIC FINAL io.opentelemetry.semconv.TelemetryAttributes (not serializable)
20+
=== CLASS FILE FORMAT VERSION: 52.0 <- 52.0
21+
+++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey<java.lang.String> TELEMETRY_DISTRO_VERSION
22+
+++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey<java.lang.String> TELEMETRY_DISTRO_NAME

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/AwsIncubatingAttributes.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ public final class AwsIncubatingAttributes {
199199
* href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html">AWS
200200
* Lambda EvenSource Mapping</a>. An event source is mapped to a lambda function. It's contents
201201
* are read by Lambda and used to trigger a function. This isn't available in the lambda execution
202-
* context or the lambda runtime environtment. This is going to be populated by the AWS SDK for
202+
* context or the lambda runtime environment. This is going to be populated by the AWS SDK for
203203
* each language when that UUID is present. Some of these operations are
204204
* Create/Delete/Get/List/Update EventSourceMapping.
205205
*/
@@ -380,7 +380,7 @@ public final class AwsIncubatingAttributes {
380380
*/
381381
public static final AttributeKey<String> AWS_S3_UPLOAD_ID = stringKey("aws.s3.upload_id");
382382

383-
/** The ARN of the Secret stored in the Secrets Mangger */
383+
/** The ARN of the Secret stored in the Secrets Manager */
384384
public static final AttributeKey<String> AWS_SECRETSMANAGER_SECRET_ARN =
385385
stringKey("aws.secretsmanager.secret.arn");
386386

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/CicdIncubatingAttributes.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,16 @@ public final class CicdIncubatingAttributes {
4545
public static final AttributeKey<String> CICD_PIPELINE_TASK_NAME =
4646
stringKey("cicd.pipeline.task.name");
4747

48-
/** The unique identifier of a task run within a pipeline. */
48+
/**
49+
* The unique identifier of a task run within a pipeline.
50+
*
51+
* <p>Notes:
52+
*
53+
* <p>For a given pipeline run and task, the {@code cicd.pipeline.task.run.id} MUST be unique
54+
* within that run. For the same task across different runs of the same pipeline, the {@code
55+
* cicd.pipeline.task.run.id} MAY remain the same, enabling correlation of {@code
56+
* cicd.pipeline.task.run.result} values across multiple pipeline runs.
57+
*/
4958
public static final AttributeKey<String> CICD_PIPELINE_TASK_RUN_ID =
5059
stringKey("cicd.pipeline.task.run.id");
5160

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/ContainerIncubatingAttributes.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ public final class ContainerIncubatingAttributes {
151151

152152
/**
153153
* A description about the runtime which could include, for example details about the CRI/API
154-
* version being used or other customisations.
154+
* version being used or other customizations.
155155
*/
156156
public static final AttributeKey<String> CONTAINER_RUNTIME_DESCRIPTION =
157157
stringKey("container.runtime.description");

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/DeploymentIncubatingAttributes.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,11 @@ public final class DeploymentIncubatingAttributes {
3737
* <li>{@code service.name=frontend}, {@code deployment.environment.name=production}
3838
* <li>{@code service.name=frontend}, {@code deployment.environment.name=staging}.
3939
* </ul>
40+
*
41+
* @deprecated deprecated in favor of stable {@link
42+
* io.opentelemetry.semconv.DeploymentAttributes#DEPLOYMENT_ENVIRONMENT_NAME} attribute.
4043
*/
44+
@Deprecated
4145
public static final AttributeKey<String> DEPLOYMENT_ENVIRONMENT_NAME =
4246
stringKey("deployment.environment.name");
4347

@@ -52,6 +56,29 @@ public final class DeploymentIncubatingAttributes {
5256

5357
// Enum definitions
5458

59+
/**
60+
* Values for {@link #DEPLOYMENT_ENVIRONMENT_NAME}.
61+
*
62+
* @deprecated deprecated in favor of stable {@link
63+
* io.opentelemetry.semconv.DeploymentAttributes.DeploymentEnvironmentNameValues}.
64+
*/
65+
@Deprecated
66+
public static final class DeploymentEnvironmentNameIncubatingValues {
67+
/** Production environment */
68+
public static final String PRODUCTION = "production";
69+
70+
/** Staging environment */
71+
public static final String STAGING = "staging";
72+
73+
/** Testing environment */
74+
public static final String TEST = "test";
75+
76+
/** Development environment */
77+
public static final String DEVELOPMENT = "development";
78+
79+
private DeploymentEnvironmentNameIncubatingValues() {}
80+
}
81+
5582
/** Values for {@link #DEPLOYMENT_STATUS}. */
5683
public static final class DeploymentStatusIncubatingValues {
5784
/** failed */

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/ErrorIncubatingAttributes.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,11 @@ public final class ErrorIncubatingAttributes {
4040
* <p>When {@code error.type} is set to a type (e.g., an exception type), its canonical class name
4141
* identifying the type within the artifact SHOULD be used.
4242
*
43+
* <p>If the recorded error type is a wrapper that is not meaningful for failure classification,
44+
* instrumentation MAY use the type of the inner error instead. For example, in Go, errors created
45+
* with {@code fmt.Errorf} using {@code %w} MAY be unwrapped when the wrapper type does not help
46+
* classify the failure.
47+
*
4348
* <p>Instrumentations SHOULD document the list of errors they report.
4449
*
4550
* <p>The cardinality of {@code error.type} within one instrumentation library SHOULD be low.

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/ExceptionIncubatingAttributes.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,13 @@ public final class ExceptionIncubatingAttributes {
4646
* The type of the exception (its fully-qualified class name, if applicable). The dynamic type of
4747
* the exception should be preferred over the static type in languages that support it.
4848
*
49+
* <p>Notes:
50+
*
51+
* <p>If the recorded exception type is a wrapper that is not meaningful for failure
52+
* classification, instrumentation MAY use the type of the inner exception instead. For example,
53+
* in Go, errors created with {@code fmt.Errorf} using {@code %w} MAY be unwrapped when the
54+
* wrapper type does not help classify the failure.
55+
*
4956
* @deprecated deprecated in favor of stable {@link
5057
* io.opentelemetry.semconv.ExceptionAttributes#EXCEPTION_TYPE} attribute.
5158
*/

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/GenAiIncubatingAttributes.java

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
package io.opentelemetry.semconv.incubating;
77

8+
import static io.opentelemetry.api.common.AttributeKey.booleanKey;
89
import static io.opentelemetry.api.common.AttributeKey.doubleKey;
910
import static io.opentelemetry.api.common.AttributeKey.longKey;
1011
import static io.opentelemetry.api.common.AttributeKey.stringArrayKey;
@@ -233,6 +234,10 @@ public final class GenAiIncubatingAttributes {
233234
public static final AttributeKey<List<String>> GEN_AI_REQUEST_STOP_SEQUENCES =
234235
stringArrayKey("gen_ai.request.stop_sequences");
235236

237+
/** Indicates whether the GenAI request was made in streaming mode. */
238+
public static final AttributeKey<Boolean> GEN_AI_REQUEST_STREAM =
239+
booleanKey("gen_ai.request.stream");
240+
236241
/** The temperature setting for the GenAI request. */
237242
public static final AttributeKey<Double> GEN_AI_REQUEST_TEMPERATURE =
238243
doubleKey("gen_ai.request.temperature");
@@ -257,6 +262,14 @@ public final class GenAiIncubatingAttributes {
257262
public static final AttributeKey<String> GEN_AI_RESPONSE_MODEL =
258263
stringKey("gen_ai.response.model");
259264

265+
/**
266+
* Time to first chunk in a streaming response, measured from request issuance, in seconds. The
267+
* value is measured from when the client issues the generation request to when the first chunk is
268+
* received in the response stream.
269+
*/
270+
public static final AttributeKey<Double> GEN_AI_RESPONSE_TIME_TO_FIRST_CHUNK =
271+
doubleKey("gen_ai.response.time_to_first_chunk");
272+
260273
/**
261274
* The query text used for retrieval.
262275
*
@@ -362,6 +375,26 @@ public final class GenAiIncubatingAttributes {
362375
public static final AttributeKey<Long> GEN_AI_USAGE_PROMPT_TOKENS =
363376
longKey("gen_ai.usage.prompt_tokens");
364377

378+
/**
379+
* The number of output tokens used for reasoning (e.g. chain-of-thought, extended thinking).
380+
*
381+
* <p>Notes:
382+
*
383+
* <p>The value SHOULD be included in {@code gen_ai.usage.output_tokens}.
384+
*/
385+
public static final AttributeKey<Long> GEN_AI_USAGE_REASONING_OUTPUT_TOKENS =
386+
longKey("gen_ai.usage.reasoning.output_tokens");
387+
388+
/**
389+
* Human-readable name of the GenAI workflow provided by the application.
390+
*
391+
* <p>Notes:
392+
*
393+
* <p>This attribute can be populated in different frameworks eg: name of the first chain in
394+
* LangChain OR name of the crew in CrewAI.
395+
*/
396+
public static final AttributeKey<String> GEN_AI_WORKFLOW_NAME = stringKey("gen_ai.workflow.name");
397+
365398
// Enum definitions
366399

367400
/**
@@ -443,6 +476,9 @@ public static final class GenAiOperationNameIncubatingValues {
443476
/** Execute a tool */
444477
public static final String EXECUTE_TOOL = "execute_tool";
445478

479+
/** Invoke GenAI workflow */
480+
public static final String INVOKE_WORKFLOW = "invoke_workflow";
481+
446482
private GenAiOperationNameIncubatingValues() {}
447483
}
448484

@@ -487,7 +523,8 @@ public static final class GenAiProviderNameIncubatingValues {
487523
public static final String AZURE_AI_INFERENCE = "azure.ai.inference";
488524

489525
/**
490-
* <a href="https://azure.microsoft.com/products/ai-services/openai-service/">Azure OpenAI</a>
526+
* <a href="https://learn.microsoft.com/en-us/azure/ai-services/openai/overview">Azure
527+
* OpenAI</a>
491528
*/
492529
public static final String AZURE_AI_OPENAI = "azure.ai.openai";
493530

0 commit comments

Comments
 (0)