Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

## Unreleased

* Bump to semconv v1.45.0
([#600](https://github.com/open-telemetry/semantic-conventions-java/pull/600))

## Version 1.44.0 (2026-09-09)

* Bump to semconv v1.44.0
Expand Down
3 changes: 2 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,10 @@ val snapshot = true
val apidiffBaselineVersion = "1.44.0"

// The release version of https://github.com/open-telemetry/semantic-conventions used to generate classes
var semanticConventionsVersion = "1.44.0"
var semanticConventionsVersion = "1.45.0"
val schemaUrlVersions = listOf(
semanticConventionsVersion,
"1.44.0",
"1.43.0",
"1.42.0",
"1.41.1",
Expand Down
18 changes: 16 additions & 2 deletions docs/apidiffs/current_vs_latest/opentelemetry-semconv.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,16 @@
Comparing source compatibility of opentelemetry-semconv-1.44.0-SNAPSHOT.jar against opentelemetry-semconv-1.44.0.jar
No changes.
Comparing source compatibility of opentelemetry-semconv-1.45.0-SNAPSHOT.jar against opentelemetry-semconv-1.44.0.jar
+++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.RpcAttributes (not serializable)
+++ CLASS FILE FORMAT VERSION: 52.0 <- n.a.
+++ NEW SUPERCLASS: java.lang.Object
+++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey<java.lang.String> RPC_SYSTEM_NAME
+++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey<java.lang.String> RPC_METHOD
+++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey<java.lang.String> RPC_METHOD_ORIGINAL
+++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey<java.lang.String> RPC_STATUS_CODE
+++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.RpcAttributes$RpcSystemNameValues (not serializable)
+++ CLASS FILE FORMAT VERSION: 52.0 <- n.a.
+++ NEW SUPERCLASS: java.lang.Object
+++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String DUBBO
+++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String GRPC
*** MODIFIED CLASS: PUBLIC FINAL io.opentelemetry.semconv.SchemaUrls (not serializable)
=== CLASS FILE FORMAT VERSION: 52.0 <- 52.0
+++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_45_0
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,8 @@ public final class AwsIncubatingAttributes {

/**
* The Amazon Resource Name (ARN) of an <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html">ECS
* container instance</a>.
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-metadata-endpoint-v4-response.html">ECS
* container</a>.
*/
public static final AttributeKey<String> AWS_ECS_CONTAINER_ARN =
stringKey("aws.ecs.container.arn");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,17 @@
// buildscripts/templates/registry/incubating_java/IncubatingSemanticEntities.java.j2
@SuppressWarnings("unused")
public final class AwsIncubatingEntities {
/** Entities used by AWS Elastic Container Service (ECS). */
public static final String AWS_ECS_TYPE = "aws.ecs";
/** An AWS Elastic Container Service (ECS) cluster. */
public static final String AWS_ECS_CLUSTER_TYPE = "aws.ecs.cluster";

/** An application container running in an AWS Elastic Container Service (ECS) task. */
public static final String AWS_ECS_CONTAINER_TYPE = "aws.ecs.container";

/** A running AWS Elastic Container Service (ECS) task. */
public static final String AWS_ECS_TASK_TYPE = "aws.ecs.task";

/** Entities used by AWS Elastic Kubernetes Service (EKS). */
public static final String AWS_EKS_TYPE = "aws.eks";

/** Entities specific to Amazon Web Services. */
public static final String AWS_LOG_TYPE = "aws.log";

private AwsIncubatingEntities() {}
}
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,10 @@ public final class AzureIncubatingAttributes {
public static final AttributeKey<Long> AZURE_COSMOSDB_RESPONSE_SUB_STATUS_CODE =
longKey("azure.cosmosdb.response.sub_status_code");

/** The UTC epoch seconds at which the message has been accepted and stored in the entity. */
public static final AttributeKey<Long> AZURE_EVENTHUBS_MESSAGE_ENQUEUED_TIME =
longKey("azure.eventhubs.message.enqueued_time");

/**
* The name of the Azure <a
* href="https://learn.microsoft.com/azure/azure-resource-manager/management/manage-resource-groups-portal">resource
Expand All @@ -80,6 +84,22 @@ public final class AzureIncubatingAttributes {
public static final AttributeKey<String> AZURE_SERVICE_REQUEST_ID =
stringKey("azure.service.request.id");

/**
* Describes the <a
* href="https://learn.microsoft.com/azure/service-bus-messaging/message-transfers-locks-settlement#peeklock">settlement
* type</a>.
*/
public static final AttributeKey<String> AZURE_SERVICEBUS_DISPOSITION_STATUS =
stringKey("azure.servicebus.disposition_status");

/** Number of deliveries that have been attempted for this message. */
public static final AttributeKey<Long> AZURE_SERVICEBUS_MESSAGE_DELIVERY_COUNT =
longKey("azure.servicebus.message.delivery_count");

/** The UTC epoch seconds at which the message has been accepted and stored in the entity. */
public static final AttributeKey<Long> AZURE_SERVICEBUS_MESSAGE_ENQUEUED_TIME =
longKey("azure.servicebus.message.enqueued_time");

// Enum definitions

/** Values for {@link #AZURE_COSMOSDB_CONNECTION_MODE}. */
Expand Down Expand Up @@ -113,5 +133,22 @@ public static final class AzureCosmosdbConsistencyLevelIncubatingValues {
private AzureCosmosdbConsistencyLevelIncubatingValues() {}
}

/** Values for {@link #AZURE_SERVICEBUS_DISPOSITION_STATUS}. */
public static final class AzureServicebusDispositionStatusIncubatingValues {
/** Message is completed */
public static final String COMPLETE = "complete";

/** Message is abandoned */
public static final String ABANDON = "abandon";

/** Message is sent to dead letter queue */
public static final String DEAD_LETTER = "dead_letter";

/** Message is deferred */
public static final String DEFER = "defer";

private AzureServicebusDispositionStatusIncubatingValues() {}
}

private AzureIncubatingAttributes() {}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,53 @@ public final class ClientIncubatingAttributes {
*/
@Deprecated public static final AttributeKey<String> CLIENT_ADDRESS = stringKey("client.address");

/**
* The <a href="https://www.iana.org/assignments/as-numbers/as-numbers.xhtml">Autonomous System
* Number (ASN)</a> associated with the client IP address.
*
* <p>Notes:
*
* <p>This attribute SHOULD only be set when the client address is an IP address and the ASN is
* available from routing, enrichment, or lookup data. The value SHOULD be represented as an
* integer without the {@code AS} prefix.
*/
public static final AttributeKey<Long> CLIENT_AS_NUMBER = longKey("client.as.number");

/**
* The name of the organization associated with the autonomous system of the client IP address.
*
* <p>Notes:
*
* <p>This attribute SHOULD only be set when {@code client.as.number} is set and the organization
* name is available. The value SHOULD be the organization name as provided by the lookup or
* enrichment source, not the AS name or short code.
*/
public static final AttributeKey<String> CLIENT_AS_ORGANIZATION =
stringKey("client.as.organization");

/**
* Client Media Access Control (MAC) address.
*
* <p>Notes:
*
* <p>This attribute MUST identify a MAC address associated with the logical client endpoint,
* including when that endpoint is behind intermediaries. If the client's MAC address is unknown,
* this attribute MUST NOT be set. The MAC address of a proxy, gateway, or next-hop router MUST
* NOT be used as a substitute.
*
* <p>MAC addresses MUST be represented in <a
* href="https://standards.ieee.org/wp-content/uploads/import/documents/tutorials/eui.pdf">IEEE RA
* hexadecimal form</a>: as hyphen-separated octets in uppercase hexadecimal form from most to
* least significant.
*
* <blockquote>
* [!WARNING]
*
* <p>This attribute may contain sensitive (PII) information.
* </blockquote>
*/
public static final AttributeKey<String> CLIENT_MAC_ADDRESS = stringKey("client.mac.address");

/**
* Client port number.
*
Expand All @@ -43,6 +90,63 @@ public final class ClientIncubatingAttributes {
*/
@Deprecated public static final AttributeKey<Long> CLIENT_PORT = longKey("client.port");

/**
* The IP prefix associated with the client IP address, in CIDR notation.
*
* <p>Notes:
*
* <blockquote>
* [!WARNING]
*
* <p>This attribute may contain sensitive (PII) information. A {@code /32} IPv4 prefix or {@code
* /128} IPv6 prefix preserves the complete endpoint IP address. Using CIDR notation does not
* guarantee that the data is anonymous.
* </blockquote>
*
* <p>The value MUST be an IPv4 or IPv6 network prefix in CIDR notation, as defined in <a
* href="https://www.rfc-editor.org/rfc/rfc4632.html">RFC 4632</a> for IPv4 and <a
* href="https://www.rfc-editor.org/rfc/rfc4291.html#section-2.3">RFC 4291</a> for IPv6. IPv4
* prefixes MUST use a dotted-decimal address followed by {@code /} and a decimal prefix length
* from 0 to 32. IPv6 prefixes MUST use the canonical address text representation defined in <a
* href="https://www.rfc-editor.org/rfc/rfc5952.html">RFC 5952</a>, followed by {@code /} and a
* decimal prefix length from 0 to 128. All host bits in the address MUST be set to zero. The
* value MUST NOT contain a domain name, UNIX domain socket name, or IPv6 zone identifier.
*
* <p>Instrumentation or Collector receivers that populate this attribute MUST convert native
* representations, such as an address and subnet mask or an address and prefix length, to
* equivalent CIDR notation before emitting it.
*
* <p>This attribute MUST NOT be set unless {@code client.address} is set to an IPv4 or IPv6
* address. The address MUST use the same IP version as this prefix and be contained in it.
*/
public static final AttributeKey<String> CLIENT_PREFIX = stringKey("client.prefix");

/**
* Logical name of the service acting as the client in a connection-based network interaction.
*
* <p>Notes:
*
* <p>SHOULD be equal to the actual <a href="/docs/resource/README.md#service">{@code
* service.name}</a> resource attribute of the logical client, if any. This identifies the client
* service whether the telemetry is recorded by the client, the server, or another observer.
*/
public static final AttributeKey<String> CLIENT_SERVICE_NAME = stringKey("client.service.name");

/**
* Logical namespace of the service acting as the client in a connection-based network
* interaction.
*
* <p>Notes:
*
* <p>SHOULD be equal to the actual <a href="/docs/resource/README.md#service">{@code
* service.namespace}</a> resource attribute of the logical client, if any. This identifies the
* client service's namespace whether the telemetry is recorded by the client, the server, or
* another observer. Together with {@code client.service.name}, this identifies the client
* service. An empty namespace is equivalent to an unspecified namespace.
*/
public static final AttributeKey<String> CLIENT_SERVICE_NAMESPACE =
stringKey("client.service.namespace");

// Enum definitions

private ClientIncubatingAttributes() {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,8 @@ public final class CloudfoundryIncubatingEntities {
/** The system component which is monitored. */
public static final String CLOUDFOUNDRY_SYSTEM_TYPE = "cloudfoundry.system";

/** A concrete instance of the system component which is monitored. */
public static final String CLOUDFOUNDRY_SYSTEM_INSTANCE_TYPE = "cloudfoundry.system.instance";

private CloudfoundryIncubatingEntities() {}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,16 @@
// buildscripts/templates/registry/incubating_java/IncubatingSemanticAttributes.java.j2
@SuppressWarnings("unused")
public final class CpuIncubatingAttributes {
/** The logical CPU number [0..n-1] */
/**
* The identifier of a logical execution target (CPU) as seen by the operating system, in the
* range [0..n-1].
*
* <p>Notes:
*
* <p>On systems with simultaneous multithreading (SMT) enabled — such as Intel Hyper-Threading or
* AMD SMT — this value will usually differ from the physical core number, because each core
* presents multiple logical CPUs for the system to use.
*/
public static final AttributeKey<Long> CPU_LOGICAL_NUMBER = longKey("cpu.logical_number");

/** The mode of the CPU */
Expand Down
Loading
Loading