From 30f79dc7c16cd45747213785b7feae383ecf4666 Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 20:06:56 +0000 Subject: [PATCH 1/6] Update opentelemetry-semconv to 1.26.0-alpha --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 6fb15464a..a5113fd52 100644 --- a/build.sbt +++ b/build.sbt @@ -53,7 +53,7 @@ val MUnitScalaCheckEffectVersion = "2.0.0-M2" val OpenTelemetryVersion = "1.40.0" val OpenTelemetryInstrumentationVersion = "2.5.0" val OpenTelemetryInstrumentationAlphaVersion = "2.5.0-alpha" -val OpenTelemetrySemConvVersion = "1.25.0-alpha" +val OpenTelemetrySemConvVersion = "1.26.0-alpha" val OpenTelemetryProtoVersion = "1.1.0-alpha" val PekkoStreamVersion = "1.0.3" val PekkoHttpVersion = "1.0.1" From 3415e8369b1a64c186675755dde5ec615f8d33bf Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 20:12:26 +0000 Subject: [PATCH 2/6] Regenerate semantic conventions Executed command: sbt ; root/semanticConventionsGenerate; headerCreateAll; scalafixAll; scalafmtAll --- .../AndroidExperimentalAttributes.scala | 49 +- .../AwsExperimentalAttributes.scala | 547 +++++++-------- .../BrowserExperimentalAttributes.scala | 64 +- .../ClientExperimentalAttributes.scala | 39 +- .../CloudExperimentalAttributes.scala | 194 ++---- .../CloudeventsExperimentalAttributes.scala | 54 +- .../CodeExperimentalAttributes.scala | 40 +- .../ContainerExperimentalAttributes.scala | 151 ++--- .../DbExperimentalAttributes.scala | 512 ++++++-------- .../DeploymentExperimentalAttributes.scala | 30 +- .../DestinationExperimentalAttributes.scala | 22 +- .../DeviceExperimentalAttributes.scala | 70 +- .../DiskExperimentalAttributes.scala | 16 +- .../DnsExperimentalAttributes.scala | 17 +- .../EnduserExperimentalAttributes.scala | 26 +- .../ErrorExperimentalAttributes.scala | 61 +- .../EventExperimentalAttributes.scala | 17 +- .../ExceptionExperimentalAttributes.scala | 81 +-- .../FaasExperimentalAttributes.scala | 242 +++---- .../FeatureFlagExperimentalAttributes.scala | 41 +- .../FileExperimentalAttributes.scala | 36 +- .../GcpExperimentalAttributes.scala | 53 +- .../GraphqlExperimentalAttributes.scala | 41 +- .../HerokuExperimentalAttributes.scala | 25 +- .../HostExperimentalAttributes.scala | 126 ++-- .../HttpExperimentalAttributes.scala | 367 +++++----- .../JvmExperimentalAttributes.scala | 134 ++-- .../K8sExperimentalAttributes.scala | 185 +++--- .../LogExperimentalAttributes.scala | 62 +- .../MessageExperimentalAttributes.scala | 52 +- .../MessagingExperimentalAttributes.scala | 627 ++++++++---------- .../NetExperimentalAttributes.scala | 112 ++-- .../NetworkExperimentalAttributes.scala | 263 +++----- .../OciExperimentalAttributes.scala | 21 +- .../OpentracingExperimentalAttributes.scala | 26 +- .../OsExperimentalAttributes.scala | 48 +- .../OtelExperimentalAttributes.scala | 77 +-- .../OtherExperimentalAttributes.scala | 19 +- .../PeerExperimentalAttributes.scala | 9 +- .../PoolExperimentalAttributes.scala | 11 +- .../ProcessExperimentalAttributes.scala | 223 ++++--- .../RpcExperimentalAttributes.scala | 290 ++++---- .../ServerExperimentalAttributes.scala | 39 +- .../ServiceExperimentalAttributes.scala | 117 ++-- .../SessionExperimentalAttributes.scala | 12 +- .../SourceExperimentalAttributes.scala | 22 +- .../SystemExperimentalAttributes.scala | 226 +++---- .../TelemetryExperimentalAttributes.scala | 117 ++-- .../ThreadExperimentalAttributes.scala | 12 +- .../TlsExperimentalAttributes.scala | 254 +++---- .../UrlExperimentalAttributes.scala | 202 +++--- .../UserAgentExperimentalAttributes.scala | 48 +- .../WebengineExperimentalAttributes.scala | 22 +- .../otel4s/semconv/ClientAttributes.scala | 29 +- .../otel4s/semconv/ErrorAttributes.scala | 51 +- .../otel4s/semconv/ExceptionAttributes.scala | 61 +- .../otel4s/semconv/HttpAttributes.scala | 179 ++--- .../otel4s/semconv/JvmAttributes.scala | 82 ++- .../otel4s/semconv/NetworkAttributes.scala | 120 ++-- .../otel4s/semconv/OtelAttributes.scala | 42 +- .../otel4s/semconv/ServerAttributes.scala | 29 +- .../otel4s/semconv/ServiceAttributes.scala | 24 +- .../otel4s/semconv/TelemetryAttributes.scala | 65 +- .../otel4s/semconv/UrlAttributes.scala | 64 +- .../otel4s/semconv/UserAgentAttributes.scala | 9 +- 65 files changed, 2971 insertions(+), 3935 deletions(-) diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/AndroidExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/AndroidExperimentalAttributes.scala index 76f6b60dd..4384411ac 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/AndroidExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/AndroidExperimentalAttributes.scala @@ -22,46 +22,31 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object AndroidExperimentalAttributes { - /** Uniquely identifies the framework API revision offered by a version - * (`os.version`) of the android operating system. More information can be - * found here. - */ + /** + * Uniquely identifies the framework API revision offered by a version (`os.version`) of the android operating system. More information can be found here. + */ val AndroidOsApiLevel: AttributeKey[String] = string("android.os.api_level") - /** This attribute represents the state the application has transitioned into - * at the occurrence of the event. - * - * @note - * - The Android lifecycle states are defined in Activity - * lifecycle callbacks, and from which the `OS identifiers` are - * derived. - */ + /** + * Deprecated use the `device.app.lifecycle` event definition including `android.state` as a payload field instead. + * + * @note + * - The Android lifecycle states are defined in Activity lifecycle callbacks, and from which the `OS identifiers` are derived. + */ val AndroidState: AttributeKey[String] = string("android.state") // Enum definitions - - /** Values for [[AndroidState]]. - */ + + /** + * Values for [[AndroidState]]. + */ abstract class AndroidStateValue(val value: String) object AndroidStateValue { - - /** Any time before Activity.onResume() or, if the app has no Activity, - * Context.startService() has been called in the app for the first time. - */ + /** Any time before Activity.onResume() or, if the app has no Activity, Context.startService() has been called in the app for the first time. */ case object Created extends AndroidStateValue("created") - - /** Any time after Activity.onPause() or, if the app has no Activity, - * Context.stopService() has been called when the app was in the foreground - * state. - */ + /** Any time after Activity.onPause() or, if the app has no Activity, Context.stopService() has been called when the app was in the foreground state. */ case object Background extends AndroidStateValue("background") - - /** Any time after Activity.onResume() or, if the app has no Activity, - * Context.startService() has been called when the app was in either the - * created or background states. - */ + /** Any time after Activity.onResume() or, if the app has no Activity, Context.startService() has been called when the app was in either the created or background states. */ case object Foreground extends AndroidStateValue("foreground") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/AwsExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/AwsExperimentalAttributes.scala index 4bdf7fd20..47caba768 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/AwsExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/AwsExperimentalAttributes.scala @@ -22,358 +22,287 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object AwsExperimentalAttributes { - /** The JSON-serialized value of each item in the `AttributeDefinitions` - * request field. - */ - val AwsDynamodbAttributeDefinitions: AttributeKey[Seq[String]] = stringSeq( - "aws.dynamodb.attribute_definitions" - ) - - /** The value of the `AttributesToGet` request parameter. - */ - val AwsDynamodbAttributesToGet: AttributeKey[Seq[String]] = stringSeq( - "aws.dynamodb.attributes_to_get" - ) - - /** The value of the `ConsistentRead` request parameter. - */ - val AwsDynamodbConsistentRead: AttributeKey[Boolean] = boolean( - "aws.dynamodb.consistent_read" - ) - - /** The JSON-serialized value of each item in the `ConsumedCapacity` response - * field. - */ - val AwsDynamodbConsumedCapacity: AttributeKey[Seq[String]] = stringSeq( - "aws.dynamodb.consumed_capacity" - ) - - /** The value of the `Count` response parameter. - */ + /** + * The JSON-serialized value of each item in the `AttributeDefinitions` request field. + */ + val AwsDynamodbAttributeDefinitions: AttributeKey[Seq[String]] = stringSeq("aws.dynamodb.attribute_definitions") + + /** + * The value of the `AttributesToGet` request parameter. + */ + val AwsDynamodbAttributesToGet: AttributeKey[Seq[String]] = stringSeq("aws.dynamodb.attributes_to_get") + + /** + * The value of the `ConsistentRead` request parameter. + */ + val AwsDynamodbConsistentRead: AttributeKey[Boolean] = boolean("aws.dynamodb.consistent_read") + + /** + * The JSON-serialized value of each item in the `ConsumedCapacity` response field. + */ + val AwsDynamodbConsumedCapacity: AttributeKey[Seq[String]] = stringSeq("aws.dynamodb.consumed_capacity") + + /** + * The value of the `Count` response parameter. + */ val AwsDynamodbCount: AttributeKey[Long] = long("aws.dynamodb.count") - /** The value of the `ExclusiveStartTableName` request parameter. - */ - val AwsDynamodbExclusiveStartTable: AttributeKey[String] = string( - "aws.dynamodb.exclusive_start_table" - ) - - /** The JSON-serialized value of each item in the - * `GlobalSecondaryIndexUpdates` request field. - */ - val AwsDynamodbGlobalSecondaryIndexUpdates: AttributeKey[Seq[String]] = - stringSeq("aws.dynamodb.global_secondary_index_updates") - - /** The JSON-serialized value of each item of the `GlobalSecondaryIndexes` - * request field - */ - val AwsDynamodbGlobalSecondaryIndexes: AttributeKey[Seq[String]] = stringSeq( - "aws.dynamodb.global_secondary_indexes" - ) - - /** The value of the `IndexName` request parameter. - */ - val AwsDynamodbIndexName: AttributeKey[String] = string( - "aws.dynamodb.index_name" - ) - - /** The JSON-serialized value of the `ItemCollectionMetrics` response field. - */ - val AwsDynamodbItemCollectionMetrics: AttributeKey[String] = string( - "aws.dynamodb.item_collection_metrics" - ) - - /** The value of the `Limit` request parameter. - */ + /** + * The value of the `ExclusiveStartTableName` request parameter. + */ + val AwsDynamodbExclusiveStartTable: AttributeKey[String] = string("aws.dynamodb.exclusive_start_table") + + /** + * The JSON-serialized value of each item in the `GlobalSecondaryIndexUpdates` request field. + */ + val AwsDynamodbGlobalSecondaryIndexUpdates: AttributeKey[Seq[String]] = stringSeq("aws.dynamodb.global_secondary_index_updates") + + /** + * The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field + */ + val AwsDynamodbGlobalSecondaryIndexes: AttributeKey[Seq[String]] = stringSeq("aws.dynamodb.global_secondary_indexes") + + /** + * The value of the `IndexName` request parameter. + */ + val AwsDynamodbIndexName: AttributeKey[String] = string("aws.dynamodb.index_name") + + /** + * The JSON-serialized value of the `ItemCollectionMetrics` response field. + */ + val AwsDynamodbItemCollectionMetrics: AttributeKey[String] = string("aws.dynamodb.item_collection_metrics") + + /** + * The value of the `Limit` request parameter. + */ val AwsDynamodbLimit: AttributeKey[Long] = long("aws.dynamodb.limit") - /** The JSON-serialized value of each item of the `LocalSecondaryIndexes` - * request field. - */ - val AwsDynamodbLocalSecondaryIndexes: AttributeKey[Seq[String]] = stringSeq( - "aws.dynamodb.local_secondary_indexes" - ) - - /** The value of the `ProjectionExpression` request parameter. - */ - val AwsDynamodbProjection: AttributeKey[String] = string( - "aws.dynamodb.projection" - ) - - /** The value of the `ProvisionedThroughput.ReadCapacityUnits` request - * parameter. - */ - val AwsDynamodbProvisionedReadCapacity: AttributeKey[Double] = double( - "aws.dynamodb.provisioned_read_capacity" - ) - - /** The value of the `ProvisionedThroughput.WriteCapacityUnits` request - * parameter. - */ - val AwsDynamodbProvisionedWriteCapacity: AttributeKey[Double] = double( - "aws.dynamodb.provisioned_write_capacity" - ) - - /** The value of the `ScanIndexForward` request parameter. - */ - val AwsDynamodbScanForward: AttributeKey[Boolean] = boolean( - "aws.dynamodb.scan_forward" - ) - - /** The value of the `ScannedCount` response parameter. - */ - val AwsDynamodbScannedCount: AttributeKey[Long] = long( - "aws.dynamodb.scanned_count" - ) - - /** The value of the `Segment` request parameter. - */ + /** + * The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field. + */ + val AwsDynamodbLocalSecondaryIndexes: AttributeKey[Seq[String]] = stringSeq("aws.dynamodb.local_secondary_indexes") + + /** + * The value of the `ProjectionExpression` request parameter. + */ + val AwsDynamodbProjection: AttributeKey[String] = string("aws.dynamodb.projection") + + /** + * The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter. + */ + val AwsDynamodbProvisionedReadCapacity: AttributeKey[Double] = double("aws.dynamodb.provisioned_read_capacity") + + /** + * The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter. + */ + val AwsDynamodbProvisionedWriteCapacity: AttributeKey[Double] = double("aws.dynamodb.provisioned_write_capacity") + + /** + * The value of the `ScanIndexForward` request parameter. + */ + val AwsDynamodbScanForward: AttributeKey[Boolean] = boolean("aws.dynamodb.scan_forward") + + /** + * The value of the `ScannedCount` response parameter. + */ + val AwsDynamodbScannedCount: AttributeKey[Long] = long("aws.dynamodb.scanned_count") + + /** + * The value of the `Segment` request parameter. + */ val AwsDynamodbSegment: AttributeKey[Long] = long("aws.dynamodb.segment") - /** The value of the `Select` request parameter. - */ + /** + * The value of the `Select` request parameter. + */ val AwsDynamodbSelect: AttributeKey[String] = string("aws.dynamodb.select") - /** The number of items in the `TableNames` response parameter. - */ - val AwsDynamodbTableCount: AttributeKey[Long] = long( - "aws.dynamodb.table_count" - ) - - /** The keys in the `RequestItems` object field. - */ - val AwsDynamodbTableNames: AttributeKey[Seq[String]] = stringSeq( - "aws.dynamodb.table_names" - ) - - /** The value of the `TotalSegments` request parameter. - */ - val AwsDynamodbTotalSegments: AttributeKey[Long] = long( - "aws.dynamodb.total_segments" - ) - - /** The ARN of an ECS - * cluster. - */ + /** + * The number of items in the `TableNames` response parameter. + */ + val AwsDynamodbTableCount: AttributeKey[Long] = long("aws.dynamodb.table_count") + + /** + * The keys in the `RequestItems` object field. + */ + val AwsDynamodbTableNames: AttributeKey[Seq[String]] = stringSeq("aws.dynamodb.table_names") + + /** + * The value of the `TotalSegments` request parameter. + */ + val AwsDynamodbTotalSegments: AttributeKey[Long] = long("aws.dynamodb.total_segments") + + /** + * The ARN of an ECS cluster. + */ val AwsEcsClusterArn: AttributeKey[String] = string("aws.ecs.cluster.arn") - /** The Amazon Resource Name (ARN) of an ECS - * container instance. - */ + /** + * The Amazon Resource Name (ARN) of an ECS container instance. + */ val AwsEcsContainerArn: AttributeKey[String] = string("aws.ecs.container.arn") - /** The launch - * type for an ECS task. - */ + /** + * The launch type for an ECS task. + */ val AwsEcsLaunchtype: AttributeKey[String] = string("aws.ecs.launchtype") - /** The ARN of a running ECS - * task. - */ + /** + * The ARN of a running ECS task. + */ val AwsEcsTaskArn: AttributeKey[String] = string("aws.ecs.task.arn") - /** The family name of the ECS - * task definition used to create the ECS task. - */ + /** + * The family name of the ECS task definition used to create the ECS task. + */ val AwsEcsTaskFamily: AttributeKey[String] = string("aws.ecs.task.family") - /** The ID of a running ECS task. The ID MUST be extracted from `task.arn`. - */ + /** + * The ID of a running ECS task. The ID MUST be extracted from `task.arn`. + */ val AwsEcsTaskId: AttributeKey[String] = string("aws.ecs.task.id") - /** The revision for the task definition used to create the ECS task. - */ + /** + * The revision for the task definition used to create the ECS task. + */ val AwsEcsTaskRevision: AttributeKey[String] = string("aws.ecs.task.revision") - /** The ARN of an EKS cluster. - */ + /** + * The ARN of an EKS cluster. + */ val AwsEksClusterArn: AttributeKey[String] = string("aws.eks.cluster.arn") - /** The full invoked ARN as provided on the `Context` passed to the function - * (`Lambda-Runtime-Invoked-Function-Arn` header on the - * `/runtime/invocation/next` applicable). - * - * @note - * - This may be different from `cloud.resource_id` if an alias is - * involved. - */ - val AwsLambdaInvokedArn: AttributeKey[String] = string( - "aws.lambda.invoked_arn" - ) - - /** The Amazon Resource Name(s) (ARN) of the AWS log group(s). - * - * @note - * - See the log - * group ARN format documentation. - */ - val AwsLogGroupArns: AttributeKey[Seq[String]] = stringSeq( - "aws.log.group.arns" - ) - - /** The name(s) of the AWS log group(s) an application is writing to. - * - * @note - * - Multiple log groups must be supported for cases like multi-container - * applications, where a single application has sidecar containers, and - * each write to their own log group. - */ - val AwsLogGroupNames: AttributeKey[Seq[String]] = stringSeq( - "aws.log.group.names" - ) - - /** The ARN(s) of the AWS log stream(s). - * - * @note - * - See the log - * stream ARN format documentation. One log group can contain several - * log streams, so these ARNs necessarily identify both a log group and a - * log stream. - */ - val AwsLogStreamArns: AttributeKey[Seq[String]] = stringSeq( - "aws.log.stream.arns" - ) - - /** The name(s) of the AWS log stream(s) an application is writing to. - */ - val AwsLogStreamNames: AttributeKey[Seq[String]] = stringSeq( - "aws.log.stream.names" - ) - - /** The AWS request ID as returned in the response headers `x-amz-request-id` - * or `x-amz-requestid`. - */ + /** + * The full invoked ARN as provided on the `Context` passed to the function (`Lambda-Runtime-Invoked-Function-Arn` header on the `/runtime/invocation/next` applicable). + * + * @note + * - This may be different from `cloud.resource_id` if an alias is involved. + */ + val AwsLambdaInvokedArn: AttributeKey[String] = string("aws.lambda.invoked_arn") + + /** + * The Amazon Resource Name(s) (ARN) of the AWS log group(s). + * + * @note + * - See the log group ARN format documentation. + */ + val AwsLogGroupArns: AttributeKey[Seq[String]] = stringSeq("aws.log.group.arns") + + /** + * The name(s) of the AWS log group(s) an application is writing to. + * + * @note + * - Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group. + */ + val AwsLogGroupNames: AttributeKey[Seq[String]] = stringSeq("aws.log.group.names") + + /** + * The ARN(s) of the AWS log stream(s). + * + * @note + * - See the log stream ARN format documentation. One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream. + */ + val AwsLogStreamArns: AttributeKey[Seq[String]] = stringSeq("aws.log.stream.arns") + + /** + * The name(s) of the AWS log stream(s) an application is writing to. + */ + val AwsLogStreamNames: AttributeKey[Seq[String]] = stringSeq("aws.log.stream.names") + + /** + * The AWS request ID as returned in the response headers `x-amz-request-id` or `x-amz-requestid`. + */ val AwsRequestId: AttributeKey[String] = string("aws.request_id") - /** The S3 bucket name the request refers to. Corresponds to the `--bucket` - * parameter of the S3 - * API operations. - * - * @note - * - The `bucket` attribute is applicable to all S3 operations that - * reference a bucket, i.e. that require the bucket name as a mandatory - * parameter. This applies to almost all S3 operations except - * `list-buckets`. - */ + /** + * The S3 bucket name the request refers to. Corresponds to the `--bucket` parameter of the S3 API operations. + * + * @note + * - The `bucket` attribute is applicable to all S3 operations that reference a bucket, i.e. that require the bucket name as a mandatory parameter. +This applies to almost all S3 operations except `list-buckets`. + */ val AwsS3Bucket: AttributeKey[String] = string("aws.s3.bucket") - /** The source object (in the form `bucket`/`key`) for the copy operation. - * - * @note - * - The `copy_source` attribute applies to S3 copy operations and - * corresponds to the `--copy-source` parameter of the copy-object - * operation within the S3 API. This applies in particular to the - * following operations:
  • copy-object
  • - *
  • upload-part-copy
  • - */ + /** + * The source object (in the form `bucket`/`key`) for the copy operation. + * + * @note + * - The `copy_source` attribute applies to S3 copy operations and corresponds to the `--copy-source` parameter +of the copy-object operation within the S3 API. +This applies in particular to the following operations:
  • copy-object
  • +
  • upload-part-copy
  • + + */ val AwsS3CopySource: AttributeKey[String] = string("aws.s3.copy_source") - /** The delete request container that specifies the objects to be deleted. - * - * @note - * - The `delete` attribute is only applicable to the delete-object - * operation. The `delete` attribute corresponds to the `--delete` - * parameter of the delete-objects - * operation within the S3 API. - */ + /** + * The delete request container that specifies the objects to be deleted. + * + * @note + * - The `delete` attribute is only applicable to the delete-object operation. +The `delete` attribute corresponds to the `--delete` parameter of the +delete-objects operation within the S3 API. + */ val AwsS3Delete: AttributeKey[String] = string("aws.s3.delete") - /** The S3 object key the request refers to. Corresponds to the `--key` - * parameter of the S3 - * API operations. - * - * @note - * - The `key` attribute is applicable to all object-related S3 operations, - * i.e. that require the object key as a mandatory parameter. This - * applies in particular to the following operations:
  • copy-object
  • - *
  • delete-object
  • - *
  • get-object
  • - *
  • head-object
  • - *
  • put-object
  • - *
  • restore-object
  • - *
  • select-object-content
  • - *
  • abort-multipart-upload
  • - *
  • complete-multipart-upload
  • - *
  • create-multipart-upload
  • - *
  • list-parts
  • - *
  • upload-part
  • - *
  • upload-part-copy
  • - */ + /** + * The S3 object key the request refers to. Corresponds to the `--key` parameter of the S3 API operations. + * + * @note + * - The `key` attribute is applicable to all object-related S3 operations, i.e. that require the object key as a mandatory parameter. +This applies in particular to the following operations:
  • copy-object
  • +
  • delete-object
  • +
  • get-object
  • +
  • head-object
  • +
  • put-object
  • +
  • restore-object
  • +
  • select-object-content
  • +
  • abort-multipart-upload
  • +
  • complete-multipart-upload
  • +
  • create-multipart-upload
  • +
  • list-parts
  • +
  • upload-part
  • +
  • upload-part-copy
  • + + */ val AwsS3Key: AttributeKey[String] = string("aws.s3.key") - /** The part number of the part being uploaded in a multipart-upload - * operation. This is a positive integer between 1 and 10,000. - * - * @note - * - The `part_number` attribute is only applicable to the upload-part - * and upload-part-copy - * operations. The `part_number` attribute corresponds to the - * `--part-number` parameter of the upload-part - * operation within the S3 API. - */ + /** + * The part number of the part being uploaded in a multipart-upload operation. This is a positive integer between 1 and 10,000. + * + * @note + * - The `part_number` attribute is only applicable to the upload-part +and upload-part-copy operations. +The `part_number` attribute corresponds to the `--part-number` parameter of the +upload-part operation within the S3 API. + */ val AwsS3PartNumber: AttributeKey[Long] = long("aws.s3.part_number") - /** Upload ID that identifies the multipart upload. - * - * @note - * - The `upload_id` attribute applies to S3 multipart-upload operations - * and corresponds to the `--upload-id` parameter of the S3 - * API multipart operations. This applies in particular to the - * following operations:
  • abort-multipart-upload
  • - *
  • complete-multipart-upload
  • - *
  • list-parts
  • - *
  • upload-part
  • - *
  • upload-part-copy
  • - */ + /** + * Upload ID that identifies the multipart upload. + * + * @note + * - The `upload_id` attribute applies to S3 multipart-upload operations and corresponds to the `--upload-id` parameter +of the S3 API multipart operations. +This applies in particular to the following operations:
  • abort-multipart-upload
  • +
  • complete-multipart-upload
  • +
  • list-parts
  • +
  • upload-part
  • +
  • upload-part-copy
  • + + */ val AwsS3UploadId: AttributeKey[String] = string("aws.s3.upload_id") // Enum definitions - - /** Values for [[AwsEcsLaunchtype]]. - */ + + /** + * Values for [[AwsEcsLaunchtype]]. + */ abstract class AwsEcsLaunchtypeValue(val value: String) object AwsEcsLaunchtypeValue { - /** ec2. */ case object Ec2 extends AwsEcsLaunchtypeValue("ec2") - /** fargate. */ case object Fargate extends AwsEcsLaunchtypeValue("fargate") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/BrowserExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/BrowserExperimentalAttributes.scala index d8a715a02..87bac85aa 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/BrowserExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/BrowserExperimentalAttributes.scala @@ -22,49 +22,37 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object BrowserExperimentalAttributes { - /** Array of brand name and version separated by a space - * - * @note - * - This value is intended to be taken from the UA client - * hints API (`navigator.userAgentData.brands`). - */ + /** + * Array of brand name and version separated by a space + * + * @note + * - This value is intended to be taken from the UA client hints API (`navigator.userAgentData.brands`). + */ val BrowserBrands: AttributeKey[Seq[String]] = stringSeq("browser.brands") - /** Preferred language of the user using the browser - * - * @note - * - This value is intended to be taken from the Navigator API - * `navigator.language`. - */ + /** + * Preferred language of the user using the browser + * + * @note + * - This value is intended to be taken from the Navigator API `navigator.language`. + */ val BrowserLanguage: AttributeKey[String] = string("browser.language") - /** A boolean that is true if the browser is running on a mobile device - * - * @note - * - This value is intended to be taken from the UA client - * hints API (`navigator.userAgentData.mobile`). If unavailable, this - * attribute SHOULD be left unset. - */ + /** + * A boolean that is true if the browser is running on a mobile device + * + * @note + * - This value is intended to be taken from the UA client hints API (`navigator.userAgentData.mobile`). If unavailable, this attribute SHOULD be left unset. + */ val BrowserMobile: AttributeKey[Boolean] = boolean("browser.mobile") - /** The platform on which the browser is running - * - * @note - * - This value is intended to be taken from the UA client - * hints API (`navigator.userAgentData.platform`). If unavailable, - * the legacy `navigator.platform` API SHOULD NOT be used instead and - * this attribute SHOULD be left unset in order for the values to be - * consistent. The list of possible values is defined in the W3C - * User-Agent Client Hints specification. Note that some (but not - * all) of these values can overlap with values in the `os.type` and `os.name` attributes. However, for - * consistency, the values in the `browser.platform` attribute should - * capture the exact value that the user agent provides. - */ + /** + * The platform on which the browser is running + * + * @note + * - This value is intended to be taken from the UA client hints API (`navigator.userAgentData.platform`). If unavailable, the legacy `navigator.platform` API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the values to be consistent. +The list of possible values is defined in the W3C User-Agent Client Hints specification. Note that some (but not all) of these values can overlap with values in the `os.type` and `os.name` attributes. However, for consistency, the values in the `browser.platform` attribute should capture the exact value that the user agent provides. + */ val BrowserPlatform: AttributeKey[String] = string("browser.platform") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ClientExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ClientExperimentalAttributes.scala index 8ce248d78..de2708c8d 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ClientExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ClientExperimentalAttributes.scala @@ -22,31 +22,22 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ClientExperimentalAttributes { - /** Client address - domain name if available without reverse DNS lookup; - * otherwise, IP address or Unix domain socket name. - * - * @note - * - When observed from the server side, and when communicating through an - * intermediary, `client.address` SHOULD represent the client address - * behind any intermediaries, for example proxies, if it's available. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.ClientAttributes.ClientAddress` instead.", - "0.5.0" - ) + /** + * Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. + * + * @note + * - When observed from the server side, and when communicating through an intermediary, `client.address` SHOULD represent the client address behind any intermediaries, for example proxies, if it's available. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.ClientAttributes.ClientAddress` instead.", "0.5.0") val ClientAddress: AttributeKey[String] = string("client.address") - /** Client port number. - * - * @note - * - When observed from the server side, and when communicating through an - * intermediary, `client.port` SHOULD represent the client port behind - * any intermediaries, for example proxies, if it's available. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.ClientAttributes.ClientPort` instead.", - "0.5.0" - ) + /** + * Client port number. + * + * @note + * - When observed from the server side, and when communicating through an intermediary, `client.port` SHOULD represent the client port behind any intermediaries, for example proxies, if it's available. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.ClientAttributes.ClientPort` instead.", "0.5.0") val ClientPort: AttributeKey[Long] = long("client.port") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CloudExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CloudExperimentalAttributes.scala index 718206cb5..b6fdece45 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CloudExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CloudExperimentalAttributes.scala @@ -22,212 +22,144 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object CloudExperimentalAttributes { - /** The cloud account ID the resource is assigned to. - */ + /** + * The cloud account ID the resource is assigned to. + */ val CloudAccountId: AttributeKey[String] = string("cloud.account.id") - /** Cloud regions often have multiple, isolated locations known as zones to - * increase availability. Availability zone represents the zone where the - * resource is running. - * - * @note - * - Availability zones are called "zones" on Alibaba Cloud and - * Google Cloud. - */ - val CloudAvailabilityZone: AttributeKey[String] = string( - "cloud.availability_zone" - ) - - /** The cloud platform in use. - * - * @note - * - The prefix of the service SHOULD match the one specified in - * `cloud.provider`. - */ + /** + * Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running. + * + * @note + * - Availability zones are called "zones" on Alibaba Cloud and Google Cloud. + */ + val CloudAvailabilityZone: AttributeKey[String] = string("cloud.availability_zone") + + /** + * The cloud platform in use. + * + * @note + * - The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ val CloudPlatform: AttributeKey[String] = string("cloud.platform") - /** Name of the cloud provider. - */ + /** + * Name of the cloud provider. + */ val CloudProvider: AttributeKey[String] = string("cloud.provider") - /** The geographical region the resource is running. - * - * @note - * - Refer to your provider's docs to see the available regions, for - * example Alibaba - * Cloud regions, AWS - * regions, Azure - * regions, Google - * Cloud regions, or Tencent - * Cloud regions. - */ + /** + * The geographical region the resource is running. + * + * @note + * - Refer to your provider's docs to see the available regions, for example Alibaba Cloud regions, AWS regions, Azure regions, Google Cloud regions, or Tencent Cloud regions. + */ val CloudRegion: AttributeKey[String] = string("cloud.region") - /** Cloud provider-specific native identifier of the monitored cloud resource - * (e.g. an ARN - * on AWS, a fully - * qualified resource ID on Azure, a full - * resource name on GCP) - * - * @note - * - On some cloud providers, it may not be possible to determine the full - * ID at startup, so it may be necessary to set `cloud.resource_id` as a - * span attribute instead. - * - The exact value to use for `cloud.resource_id` depends on the cloud - * provider. The following well-known definitions MUST be used if you set - * this attribute and they apply:
  • AWS Lambda: The - * function ARN. - * Take care not to use the "invoked ARN" directly but replace - * any alias - * suffix with the resolved function version, as the same runtime - * instance may be invokable with multiple different aliases.
  • - *
  • GCP: The URI of - * the resource
  • Azure: The Fully - * Qualified Resource ID of the invoked function, not the - * function app, having the form - * `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/`. - * This means that a span attribute MUST be used, as an Azure function - * app can host multiple functions that would usually share a - * TracerProvider.
  • - */ + /** + * Cloud provider-specific native identifier of the monitored cloud resource (e.g. an ARN on AWS, a fully qualified resource ID on Azure, a full resource name on GCP) + * + * @note + * - On some cloud providers, it may not be possible to determine the full ID at startup, +so it may be necessary to set `cloud.resource_id` as a span attribute instead. + * - The exact value to use for `cloud.resource_id` depends on the cloud provider. +The following well-known definitions MUST be used if you set this attribute and they apply:
  • AWS Lambda: The function ARN. +Take care not to use the "invoked ARN" directly but replace any +alias suffix +with the resolved function version, as the same runtime instance may be invokable with +multiple different aliases.
  • +
  • GCP: The URI of the resource
  • +
  • Azure: The Fully Qualified Resource ID of the invoked function, +not the function app, having the form +`/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/`. +This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share +a TracerProvider.
  • + + */ val CloudResourceId: AttributeKey[String] = string("cloud.resource_id") // Enum definitions - - /** Values for [[CloudPlatform]]. - */ + + /** + * Values for [[CloudPlatform]]. + */ abstract class CloudPlatformValue(val value: String) object CloudPlatformValue { - /** Alibaba Cloud Elastic Compute Service. */ case object AlibabaCloudEcs extends CloudPlatformValue("alibaba_cloud_ecs") - /** Alibaba Cloud Function Compute. */ case object AlibabaCloudFc extends CloudPlatformValue("alibaba_cloud_fc") - /** Red Hat OpenShift on Alibaba Cloud. */ - case object AlibabaCloudOpenshift - extends CloudPlatformValue("alibaba_cloud_openshift") - + case object AlibabaCloudOpenshift extends CloudPlatformValue("alibaba_cloud_openshift") /** AWS Elastic Compute Cloud. */ case object AwsEc2 extends CloudPlatformValue("aws_ec2") - /** AWS Elastic Container Service. */ case object AwsEcs extends CloudPlatformValue("aws_ecs") - /** AWS Elastic Kubernetes Service. */ case object AwsEks extends CloudPlatformValue("aws_eks") - /** AWS Lambda. */ case object AwsLambda extends CloudPlatformValue("aws_lambda") - /** AWS Elastic Beanstalk. */ - case object AwsElasticBeanstalk - extends CloudPlatformValue("aws_elastic_beanstalk") - + case object AwsElasticBeanstalk extends CloudPlatformValue("aws_elastic_beanstalk") /** AWS App Runner. */ case object AwsAppRunner extends CloudPlatformValue("aws_app_runner") - /** Red Hat OpenShift on AWS (ROSA). */ case object AwsOpenshift extends CloudPlatformValue("aws_openshift") - /** Azure Virtual Machines. */ case object AzureVm extends CloudPlatformValue("azure_vm") - /** Azure Container Apps. */ - case object AzureContainerApps - extends CloudPlatformValue("azure_container_apps") - + case object AzureContainerApps extends CloudPlatformValue("azure_container_apps") /** Azure Container Instances. */ - case object AzureContainerInstances - extends CloudPlatformValue("azure_container_instances") - + case object AzureContainerInstances extends CloudPlatformValue("azure_container_instances") /** Azure Kubernetes Service. */ case object AzureAks extends CloudPlatformValue("azure_aks") - /** Azure Functions. */ case object AzureFunctions extends CloudPlatformValue("azure_functions") - /** Azure App Service. */ case object AzureAppService extends CloudPlatformValue("azure_app_service") - /** Azure Red Hat OpenShift. */ case object AzureOpenshift extends CloudPlatformValue("azure_openshift") - /** Google Bare Metal Solution (BMS). */ - case object GcpBareMetalSolution - extends CloudPlatformValue("gcp_bare_metal_solution") - + case object GcpBareMetalSolution extends CloudPlatformValue("gcp_bare_metal_solution") /** Google Cloud Compute Engine (GCE). */ - case object GcpComputeEngine - extends CloudPlatformValue("gcp_compute_engine") - + case object GcpComputeEngine extends CloudPlatformValue("gcp_compute_engine") /** Google Cloud Run. */ case object GcpCloudRun extends CloudPlatformValue("gcp_cloud_run") - /** Google Cloud Kubernetes Engine (GKE). */ - case object GcpKubernetesEngine - extends CloudPlatformValue("gcp_kubernetes_engine") - + case object GcpKubernetesEngine extends CloudPlatformValue("gcp_kubernetes_engine") /** Google Cloud Functions (GCF). */ - case object GcpCloudFunctions - extends CloudPlatformValue("gcp_cloud_functions") - + case object GcpCloudFunctions extends CloudPlatformValue("gcp_cloud_functions") /** Google Cloud App Engine (GAE). */ case object GcpAppEngine extends CloudPlatformValue("gcp_app_engine") - /** Red Hat OpenShift on Google Cloud. */ case object GcpOpenshift extends CloudPlatformValue("gcp_openshift") - /** Red Hat OpenShift on IBM Cloud. */ - case object IbmCloudOpenshift - extends CloudPlatformValue("ibm_cloud_openshift") - + case object IbmCloudOpenshift extends CloudPlatformValue("ibm_cloud_openshift") /** Tencent Cloud Cloud Virtual Machine (CVM). */ case object TencentCloudCvm extends CloudPlatformValue("tencent_cloud_cvm") - /** Tencent Cloud Elastic Kubernetes Service (EKS). */ case object TencentCloudEks extends CloudPlatformValue("tencent_cloud_eks") - /** Tencent Cloud Serverless Cloud Function (SCF). */ case object TencentCloudScf extends CloudPlatformValue("tencent_cloud_scf") } - - /** Values for [[CloudProvider]]. - */ + /** + * Values for [[CloudProvider]]. + */ abstract class CloudProviderValue(val value: String) object CloudProviderValue { - /** Alibaba Cloud. */ case object AlibabaCloud extends CloudProviderValue("alibaba_cloud") - /** Amazon Web Services. */ case object Aws extends CloudProviderValue("aws") - /** Microsoft Azure. */ case object Azure extends CloudProviderValue("azure") - /** Google Cloud Platform. */ case object Gcp extends CloudProviderValue("gcp") - /** Heroku Platform as a Service. */ case object Heroku extends CloudProviderValue("heroku") - /** IBM Cloud. */ case object IbmCloud extends CloudProviderValue("ibm_cloud") - /** Tencent Cloud. */ case object TencentCloud extends CloudProviderValue("tencent_cloud") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CloudeventsExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CloudeventsExperimentalAttributes.scala index fa6f33dae..5c8901af7 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CloudeventsExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CloudeventsExperimentalAttributes.scala @@ -22,43 +22,29 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object CloudeventsExperimentalAttributes { - /** The event_id - * uniquely identifies the event. - */ + /** + * The event_id uniquely identifies the event. + */ val CloudeventsEventId: AttributeKey[String] = string("cloudevents.event_id") - /** The source - * identifies the context in which an event happened. - */ - val CloudeventsEventSource: AttributeKey[String] = string( - "cloudevents.event_source" - ) + /** + * The source identifies the context in which an event happened. + */ + val CloudeventsEventSource: AttributeKey[String] = string("cloudevents.event_source") - /** The version - * of the CloudEvents specification which the event uses. - */ - val CloudeventsEventSpecVersion: AttributeKey[String] = string( - "cloudevents.event_spec_version" - ) + /** + * The version of the CloudEvents specification which the event uses. + */ + val CloudeventsEventSpecVersion: AttributeKey[String] = string("cloudevents.event_spec_version") - /** The subject - * of the event in the context of the event producer (identified by source). - */ - val CloudeventsEventSubject: AttributeKey[String] = string( - "cloudevents.event_subject" - ) + /** + * The subject of the event in the context of the event producer (identified by source). + */ + val CloudeventsEventSubject: AttributeKey[String] = string("cloudevents.event_subject") - /** The event_type - * contains a value describing the type of event related to the originating - * occurrence. - */ - val CloudeventsEventType: AttributeKey[String] = string( - "cloudevents.event_type" - ) + /** + * The event_type contains a value describing the type of event related to the originating occurrence. + */ + val CloudeventsEventType: AttributeKey[String] = string("cloudevents.event_type") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CodeExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CodeExperimentalAttributes.scala index a340935c4..7ada1b9d1 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CodeExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CodeExperimentalAttributes.scala @@ -22,36 +22,34 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object CodeExperimentalAttributes { - /** The column number in `code.filepath` best representing the operation. It - * SHOULD point within the code unit named in `code.function`. - */ + /** + * The column number in `code.filepath` best representing the operation. It SHOULD point within the code unit named in `code.function`. + */ val CodeColumn: AttributeKey[Long] = long("code.column") - /** The source code file name that identifies the code unit as uniquely as - * possible (preferably an absolute file path). - */ + /** + * The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path). + */ val CodeFilepath: AttributeKey[String] = string("code.filepath") - /** The method or function name, or equivalent (usually rightmost part of the - * code unit's name). - */ + /** + * The method or function name, or equivalent (usually rightmost part of the code unit's name). + */ val CodeFunction: AttributeKey[String] = string("code.function") - /** The line number in `code.filepath` best representing the operation. It - * SHOULD point within the code unit named in `code.function`. - */ + /** + * The line number in `code.filepath` best representing the operation. It SHOULD point within the code unit named in `code.function`. + */ val CodeLineno: AttributeKey[Long] = long("code.lineno") - /** The "namespace" within which `code.function` is defined. Usually - * the qualified class or module name, such that `code.namespace` + some - * separator + `code.function` form a unique identifier for the code unit. - */ + /** + * The "namespace" within which `code.function` is defined. Usually the qualified class or module name, such that `code.namespace` + some separator + `code.function` form a unique identifier for the code unit. + */ val CodeNamespace: AttributeKey[String] = string("code.namespace") - /** 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. - */ + /** + * 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. + */ val CodeStacktrace: AttributeKey[String] = string("code.stacktrace") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ContainerExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ContainerExperimentalAttributes.scala index 2d4a09909..095d59638 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ContainerExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ContainerExperimentalAttributes.scala @@ -22,116 +22,95 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ContainerExperimentalAttributes { - /** The command used to run the container (i.e. the command name). - * - * @note - * - If using embedded credentials or sensitive data, it is recommended to - * remove them to prevent potential leakage. - */ + /** + * The command used to run the container (i.e. the command name). + * + * @note + * - If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage. + */ val ContainerCommand: AttributeKey[String] = string("container.command") - /** All the command arguments (including the command/executable itself) run by - * the container. [2] - */ - val ContainerCommandArgs: AttributeKey[Seq[String]] = stringSeq( - "container.command_args" - ) - - /** The full command run by the container as a single string representing the - * full command. [2] - */ - val ContainerCommandLine: AttributeKey[String] = string( - "container.command_line" - ) - - /** The CPU state for this data point. - */ + /** + * All the command arguments (including the command/executable itself) run by the container. [2] + */ + val ContainerCommandArgs: AttributeKey[Seq[String]] = stringSeq("container.command_args") + + /** + * The full command run by the container as a single string representing the full command. [2] + */ + val ContainerCommandLine: AttributeKey[String] = string("container.command_line") + + /** + * The CPU state for this data point. + */ val ContainerCpuState: AttributeKey[String] = string("container.cpu.state") - /** Container ID. Usually a UUID, as for example used to identify - * Docker containers. The UUID might be abbreviated. - */ + /** + * Container ID. Usually a UUID, as for example used to identify Docker containers. The UUID might be abbreviated. + */ val ContainerId: AttributeKey[String] = string("container.id") - /** Runtime specific image identifier. Usually a hash algorithm followed by a - * UUID. - * - * @note - * - Docker defines a sha256 of the image id; `container.image.id` - * corresponds to the `Image` field from the Docker container inspect API - * endpoint. K8s defines a link to the container registry repository with - * digest `"imageID": "registry.azurecr.io - * /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625"`. - * The ID is assinged by the container runtime and can vary in different - * environments. Consider using `oci.manifest.digest` if it is important - * to identify the same image in different environments/runtimes. - */ + /** + * Runtime specific image identifier. Usually a hash algorithm followed by a UUID. + * + * @note + * - Docker defines a sha256 of the image id; `container.image.id` corresponds to the `Image` field from the Docker container inspect API endpoint. +K8s defines a link to the container registry repository with digest `"imageID": "registry.azurecr.io /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625"`. +The ID is assigned by the container runtime and can vary in different environments. Consider using `oci.manifest.digest` if it is important to identify the same image in different environments/runtimes. + */ val ContainerImageId: AttributeKey[String] = string("container.image.id") - /** Name of the image the container was built on. - */ + /** + * Name of the image the container was built on. + */ val ContainerImageName: AttributeKey[String] = string("container.image.name") - /** Repo digests of the container image as provided by the container runtime. - * - * @note - * - Docker - * and CRI - * report those under the `RepoDigests` field. - */ - val ContainerImageRepoDigests: AttributeKey[Seq[String]] = stringSeq( - "container.image.repo_digests" - ) - - /** Container image tags. An example can be found in Docker - * Image Inspect. Should be only the `` section of the full name for - * example from `registry.example.com/my-org/my-image:`. - */ - val ContainerImageTags: AttributeKey[Seq[String]] = stringSeq( - "container.image.tags" - ) - - /** Container labels, `` being the label name, the value being the label - * value. - */ + /** + * Repo digests of the container image as provided by the container runtime. + * + * @note + * - Docker and CRI report those under the `RepoDigests` field. + */ + val ContainerImageRepoDigests: AttributeKey[Seq[String]] = stringSeq("container.image.repo_digests") + + /** + * Container image tags. An example can be found in Docker Image Inspect. Should be only the `` section of the full name for example from `registry.example.com/my-org/my-image:`. + */ + val ContainerImageTags: AttributeKey[Seq[String]] = stringSeq("container.image.tags") + + /** + * Container labels, `` being the label name, the value being the label value. + */ val ContainerLabel: AttributeKey[String] = string("container.label") - /** Deprecated, use `container.label` instead. - */ + /** + * Deprecated, use `container.label` instead. + */ @deprecated("Use `container.label` instead", "0.5.0") val ContainerLabels: AttributeKey[String] = string("container.labels") - /** Container name used by container runtime. - */ + /** + * Container name used by container runtime. + */ val ContainerName: AttributeKey[String] = string("container.name") - /** The container runtime managing this container. - */ + /** + * The container runtime managing this container. + */ val ContainerRuntime: AttributeKey[String] = string("container.runtime") // Enum definitions - - /** Values for [[ContainerCpuState]]. - */ + + /** + * Values for [[ContainerCpuState]]. + */ abstract class ContainerCpuStateValue(val value: String) object ContainerCpuStateValue { - - /** When tasks of the cgroup are in user mode (Linux). When all container - * processes are in user mode (Windows). - */ + /** When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode (Windows). */ case object User extends ContainerCpuStateValue("user") - /** When CPU is used by the system (host OS). */ case object System extends ContainerCpuStateValue("system") - - /** When tasks of the cgroup are in kernel mode (Linux). When all container - * processes are in kernel mode (Windows). - */ + /** When tasks of the cgroup are in kernel mode (Linux). When all container processes are in kernel mode (Windows). */ case object Kernel extends ContainerCpuStateValue("kernel") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DbExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DbExperimentalAttributes.scala index d4fe31101..4104fb161 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DbExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DbExperimentalAttributes.scala @@ -22,492 +22,420 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object DbExperimentalAttributes { - /** The consistency level of the query. Based on consistency values from CQL. - */ - val DbCassandraConsistencyLevel: AttributeKey[String] = string( - "db.cassandra.consistency_level" - ) - - /** The data center of the coordinating node for a query. - */ - val DbCassandraCoordinatorDc: AttributeKey[String] = string( - "db.cassandra.coordinator.dc" - ) - - /** The ID of the coordinating node for a query. - */ - val DbCassandraCoordinatorId: AttributeKey[String] = string( - "db.cassandra.coordinator.id" - ) - - /** Whether or not the query is idempotent. - */ - val DbCassandraIdempotence: AttributeKey[Boolean] = boolean( - "db.cassandra.idempotence" - ) - - /** The fetch size used for paging, i.e. how many rows will be returned at - * once. - */ + /** + * The consistency level of the query. Based on consistency values from CQL. + */ + val DbCassandraConsistencyLevel: AttributeKey[String] = string("db.cassandra.consistency_level") + + /** + * The data center of the coordinating node for a query. + */ + val DbCassandraCoordinatorDc: AttributeKey[String] = string("db.cassandra.coordinator.dc") + + /** + * The ID of the coordinating node for a query. + */ + val DbCassandraCoordinatorId: AttributeKey[String] = string("db.cassandra.coordinator.id") + + /** + * Whether or not the query is idempotent. + */ + val DbCassandraIdempotence: AttributeKey[Boolean] = boolean("db.cassandra.idempotence") + + /** + * The fetch size used for paging, i.e. how many rows will be returned at once. + */ val DbCassandraPageSize: AttributeKey[Long] = long("db.cassandra.page_size") - /** The number of times a query was speculatively executed. Not set or `0` if - * the query was not executed speculatively. - */ - val DbCassandraSpeculativeExecutionCount: AttributeKey[Long] = long( - "db.cassandra.speculative_execution_count" - ) - - /** The name of the primary Cassandra table that the operation is acting upon, - * including the keyspace name (if applicable). - * - * @note - * - This mirrors the db.sql.table attribute but references cassandra - * rather than sql. It is not recommended to attempt any client-side - * parsing of `db.statement` just to get this property, but it should be - * set if it is provided by the library being instrumented. If the - * operation is acting upon an anonymous table, or more than one table, - * this value MUST NOT be set. - */ + /** + * The number of times a query was speculatively executed. Not set or `0` if the query was not executed speculatively. + */ + val DbCassandraSpeculativeExecutionCount: AttributeKey[Long] = long("db.cassandra.speculative_execution_count") + + /** + * Deprecated, use `db.collection.name` instead. + */ + @deprecated("Use `db.collection.name` instead", "0.5.0") val DbCassandraTable: AttributeKey[String] = string("db.cassandra.table") - /** Deprecated, use `server.address`, `server.port` attributes instead. - */ + /** + * The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, instrumentation should use a combination of `server.address` and `server.port` attributes formatted as `server.address:server.port`. + */ + val DbClientConnectionsPoolName: AttributeKey[String] = string("db.client.connections.pool.name") + + /** + * The state of a connection in the pool + */ + val DbClientConnectionsState: AttributeKey[String] = string("db.client.connections.state") + + /** + * The name of a collection (table, container) within the database. + * + * @note + * - If the collection name is parsed from the query, it SHOULD match the value provided in the query and may be qualified with the schema and database name. +It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. + */ + val DbCollectionName: AttributeKey[String] = string("db.collection.name") + + /** + * Deprecated, use `server.address`, `server.port` attributes instead. + */ @deprecated("Use `server.address`, `server.port` attributes instead", "0.5.0") val DbConnectionString: AttributeKey[String] = string("db.connection_string") - /** Unique Cosmos client instance id. - */ + /** + * Unique Cosmos client instance id. + */ val DbCosmosdbClientId: AttributeKey[String] = string("db.cosmosdb.client_id") - /** Cosmos client connection mode. - */ - val DbCosmosdbConnectionMode: AttributeKey[String] = string( - "db.cosmosdb.connection_mode" - ) - - /** Cosmos DB container name. - */ - val DbCosmosdbContainer: AttributeKey[String] = string( - "db.cosmosdb.container" - ) - - /** CosmosDB Operation Type. - */ - val DbCosmosdbOperationType: AttributeKey[String] = string( - "db.cosmosdb.operation_type" - ) - - /** RU consumed for that operation - */ - val DbCosmosdbRequestCharge: AttributeKey[Double] = double( - "db.cosmosdb.request_charge" - ) - - /** Request payload size in bytes - */ - val DbCosmosdbRequestContentLength: AttributeKey[Long] = long( - "db.cosmosdb.request_content_length" - ) - - /** Cosmos DB status code. - */ + /** + * Cosmos client connection mode. + */ + val DbCosmosdbConnectionMode: AttributeKey[String] = string("db.cosmosdb.connection_mode") + + /** + * Deprecated, use `db.collection.name` instead. + */ + @deprecated("Use `db.collection.name` instead", "0.5.0") + val DbCosmosdbContainer: AttributeKey[String] = string("db.cosmosdb.container") + + /** + * CosmosDB Operation Type. + */ + val DbCosmosdbOperationType: AttributeKey[String] = string("db.cosmosdb.operation_type") + + /** + * RU consumed for that operation + */ + val DbCosmosdbRequestCharge: AttributeKey[Double] = double("db.cosmosdb.request_charge") + + /** + * Request payload size in bytes + */ + val DbCosmosdbRequestContentLength: AttributeKey[Long] = long("db.cosmosdb.request_content_length") + + /** + * Cosmos DB status code. + */ val DbCosmosdbStatusCode: AttributeKey[Long] = long("db.cosmosdb.status_code") - /** Cosmos DB sub status code. - */ - val DbCosmosdbSubStatusCode: AttributeKey[Long] = long( - "db.cosmosdb.sub_status_code" - ) - - /** Represents the identifier of an Elasticsearch cluster. - */ - val DbElasticsearchClusterName: AttributeKey[String] = string( - "db.elasticsearch.cluster.name" - ) - - /** Deprecated, use `db.instance.id` instead. - */ - @deprecated("Use `db.instance.id` instead", "0.5.0") - val DbElasticsearchNodeName: AttributeKey[String] = string( - "db.elasticsearch.node.name" - ) - - /** A dynamic value in the url path. - * - * @note - * - Many Elasticsearch url paths allow dynamic values. These SHOULD be - * recorded in span attributes in the format - * `db.elasticsearch.path_parts.`, where `` is the url path - * part name. The implementation SHOULD reference the elasticsearch - * schema in order to map the path part values to their names. - */ - val DbElasticsearchPathParts: AttributeKey[String] = string( - "db.elasticsearch.path_parts" - ) - - /** An identifier (address, unique name, or any other identifier) of the - * database instance that is executing queries or mutations on the current - * connection. This is useful in cases where the database is running in a - * clustered environment and the instrumentation is able to record the node - * executing the query. The client may obtain this value in databases like - * MySQL using queries like `select @@hostname`. - */ + /** + * Cosmos DB sub status code. + */ + val DbCosmosdbSubStatusCode: AttributeKey[Long] = long("db.cosmosdb.sub_status_code") + + /** + * Represents the identifier of an Elasticsearch cluster. + */ + val DbElasticsearchClusterName: AttributeKey[String] = string("db.elasticsearch.cluster.name") + + /** + * Represents the human-readable identifier of the node/instance to which a request was routed. + */ + val DbElasticsearchNodeName: AttributeKey[String] = string("db.elasticsearch.node.name") + + /** + * A dynamic value in the url path. + * + * @note + * - Many Elasticsearch url paths allow dynamic values. These SHOULD be recorded in span attributes in the format `db.elasticsearch.path_parts.`, where `` is the url path part name. The implementation SHOULD reference the elasticsearch schema in order to map the path part values to their names. + */ + val DbElasticsearchPathParts: AttributeKey[String] = string("db.elasticsearch.path_parts") + + /** + * Deprecated, no general replacement at this time. For Elasticsearch, use `db.elasticsearch.node.name` instead. + */ + @deprecated("No general replacement at this time. for elasticsearch, use `db.elasticsearch.node.name` instead", "0.5.0") val DbInstanceId: AttributeKey[String] = string("db.instance.id") - /** Removed, no replacement at this time. - */ + /** + * Removed, no replacement at this time. + */ @deprecated("Removed, no replacement at this time", "0.5.0") - val DbJdbcDriverClassname: AttributeKey[String] = string( - "db.jdbc.driver_classname" - ) - - /** The MongoDB collection being accessed within the database stated in - * `db.name`. - */ - val DbMongodbCollection: AttributeKey[String] = string( - "db.mongodb.collection" - ) - - /** The Microsoft SQL Server instance - * name connecting to. This name is used to determine the port of a named - * instance. - * - * @note - * - If setting a `db.mssql.instance_name`, `server.port` is no longer - * required (but still recommended if non-standard). - */ - val DbMssqlInstanceName: AttributeKey[String] = string( - "db.mssql.instance_name" - ) - - /** This attribute is used to report the name of the database being accessed. - * For commands that switch the database, this should be set to the target - * database (even if the command fails). - * - * @note - * - In some SQL databases, the database name to be used is called - * "schema name". In case there are multiple layers that could - * be considered for database name (e.g. Oracle instance name and schema - * name), the database name to be used is the more specific layer (e.g. - * Oracle schema name). - */ + val DbJdbcDriverClassname: AttributeKey[String] = string("db.jdbc.driver_classname") + + /** + * Deprecated, use `db.collection.name` instead. + */ + @deprecated("Use `db.collection.name` instead", "0.5.0") + val DbMongodbCollection: AttributeKey[String] = string("db.mongodb.collection") + + /** + * Deprecated, SQL Server instance is now populated as a part of `db.namespace` attribute. + */ + @deprecated("Sql server instance is now populated as a part of `db.namespace` attribute", "0.5.0") + val DbMssqlInstanceName: AttributeKey[String] = string("db.mssql.instance_name") + + /** + * Deprecated, use `db.namespace` instead. + */ + @deprecated("Use `db.namespace` instead", "0.5.0") val DbName: AttributeKey[String] = string("db.name") - /** The name of the operation being executed, e.g. the MongoDB - * command name such as `findAndModify`, or the SQL keyword. - * - * @note - * - When setting this to an SQL keyword, it is not recommended to attempt - * any client-side parsing of `db.statement` just to get this property, - * but it should be set if the operation name is provided by the library - * being instrumented. If the SQL statement has an ambiguous operation, - * or performs more than one operation, this value may be omitted. - */ + /** + * The name of the database, fully qualified within the server address and port. + * + * @note + * - If a database system has multiple namespace components, they SHOULD be concatenated (potentially using database system specific conventions) from most general to most specific namespace component, and more specific namespaces SHOULD NOT be captured without the more general namespaces, to ensure that "startswith" queries for the more general namespaces will be valid. +Semantic conventions for individual database systems SHOULD document what `db.namespace` means in the context of that system. +It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. + */ + val DbNamespace: AttributeKey[String] = string("db.namespace") + + /** + * Deprecated, use `db.operation.name` instead. + */ + @deprecated("Use `db.operation.name` instead", "0.5.0") val DbOperation: AttributeKey[String] = string("db.operation") - /** The index of the database being accessed as used in the `SELECT` command, provided as - * an integer. To be used instead of the generic `db.name` attribute. - */ + /** + * The name of the operation or command being executed. + * + * @note + * - It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. + */ + val DbOperationName: AttributeKey[String] = string("db.operation.name") + + /** + * The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. + * + * @note + * - Query parameters should only be captured when `db.query.text` is parameterized with placeholders. +If a parameter has no name and instead is referenced only by index, then `` SHOULD be the 0-based index. + */ + val DbQueryParameter: AttributeKey[String] = string("db.query.parameter") + + /** + * The database query being executed. + */ + val DbQueryText: AttributeKey[String] = string("db.query.text") + + /** + * Deprecated, use `db.namespace` instead. + */ + @deprecated("Use `db.namespace` instead", "0.5.0") val DbRedisDatabaseIndex: AttributeKey[Long] = long("db.redis.database_index") - /** The name of the primary table that the operation is acting upon, including - * the database name (if applicable). - * - * @note - * - It is not recommended to attempt any client-side parsing of - * `db.statement` just to get this property, but it should be set if it - * is provided by the library being instrumented. If the operation is - * acting upon an anonymous table, or more than one table, this value - * MUST NOT be set. - */ + /** + * Deprecated, use `db.collection.name` instead. + */ + @deprecated("Use `db.collection.name` instead", "0.5.0") val DbSqlTable: AttributeKey[String] = string("db.sql.table") - /** The database statement being executed. - */ + /** + * The database statement being executed. + */ + @deprecated("The database statement being executed", "0.5.0") val DbStatement: AttributeKey[String] = string("db.statement") - /** An identifier for the database management system (DBMS) product being - * used. See below for a list of well-known identifiers. - */ + /** + * The database management system (DBMS) product as identified by the client instrumentation. + * + * @note + * - The actual DBMS may differ from the one identified by the client. For example, when using PostgreSQL client libraries to connect to a CockroachDB, the `db.system` is set to `postgresql` based on the instrumentation's best knowledge. + */ val DbSystem: AttributeKey[String] = string("db.system") - /** Username for accessing the database. - */ + /** + * Deprecated, no replacement at this time. + */ + @deprecated("No replacement at this time", "0.5.0") val DbUser: AttributeKey[String] = string("db.user") // Enum definitions - - /** Values for [[DbCassandraConsistencyLevel]]. - */ + + /** + * Values for [[DbCassandraConsistencyLevel]]. + */ abstract class DbCassandraConsistencyLevelValue(val value: String) object DbCassandraConsistencyLevelValue { - /** all. */ case object All extends DbCassandraConsistencyLevelValue("all") - /** each_quorum. */ - case object EachQuorum - extends DbCassandraConsistencyLevelValue("each_quorum") - + case object EachQuorum extends DbCassandraConsistencyLevelValue("each_quorum") /** quorum. */ case object Quorum extends DbCassandraConsistencyLevelValue("quorum") - /** local_quorum. */ - case object LocalQuorum - extends DbCassandraConsistencyLevelValue("local_quorum") - + case object LocalQuorum extends DbCassandraConsistencyLevelValue("local_quorum") /** one. */ case object One extends DbCassandraConsistencyLevelValue("one") - /** two. */ case object Two extends DbCassandraConsistencyLevelValue("two") - /** three. */ case object Three extends DbCassandraConsistencyLevelValue("three") - /** local_one. */ case object LocalOne extends DbCassandraConsistencyLevelValue("local_one") - /** any. */ case object Any extends DbCassandraConsistencyLevelValue("any") - /** serial. */ case object Serial extends DbCassandraConsistencyLevelValue("serial") - /** local_serial. */ - case object LocalSerial - extends DbCassandraConsistencyLevelValue("local_serial") + case object LocalSerial extends DbCassandraConsistencyLevelValue("local_serial") } - - /** Values for [[DbCosmosdbConnectionMode]]. - */ + /** + * Values for [[DbClientConnectionsState]]. + */ + abstract class DbClientConnectionsStateValue(val value: String) + object DbClientConnectionsStateValue { + /** idle. */ + case object Idle extends DbClientConnectionsStateValue("idle") + /** used. */ + case object Used extends DbClientConnectionsStateValue("used") + } + /** + * Values for [[DbCosmosdbConnectionMode]]. + */ abstract class DbCosmosdbConnectionModeValue(val value: String) object DbCosmosdbConnectionModeValue { - /** Gateway (HTTP) connections mode. */ case object Gateway extends DbCosmosdbConnectionModeValue("gateway") - /** Direct connection. */ case object Direct extends DbCosmosdbConnectionModeValue("direct") } - - /** Values for [[DbCosmosdbOperationType]]. - */ + /** + * Values for [[DbCosmosdbOperationType]]. + */ abstract class DbCosmosdbOperationTypeValue(val value: String) object DbCosmosdbOperationTypeValue { - /** invalid. */ case object Invalid extends DbCosmosdbOperationTypeValue("Invalid") - /** create. */ case object Create extends DbCosmosdbOperationTypeValue("Create") - /** patch. */ case object Patch extends DbCosmosdbOperationTypeValue("Patch") - /** read. */ case object Read extends DbCosmosdbOperationTypeValue("Read") - /** read_feed. */ case object ReadFeed extends DbCosmosdbOperationTypeValue("ReadFeed") - /** delete. */ case object Delete extends DbCosmosdbOperationTypeValue("Delete") - /** replace. */ case object Replace extends DbCosmosdbOperationTypeValue("Replace") - /** execute. */ case object Execute extends DbCosmosdbOperationTypeValue("Execute") - /** query. */ case object Query extends DbCosmosdbOperationTypeValue("Query") - /** head. */ case object Head extends DbCosmosdbOperationTypeValue("Head") - /** head_feed. */ case object HeadFeed extends DbCosmosdbOperationTypeValue("HeadFeed") - /** upsert. */ case object Upsert extends DbCosmosdbOperationTypeValue("Upsert") - /** batch. */ case object Batch extends DbCosmosdbOperationTypeValue("Batch") - /** query_plan. */ case object QueryPlan extends DbCosmosdbOperationTypeValue("QueryPlan") - /** execute_javascript. */ - case object ExecuteJavascript - extends DbCosmosdbOperationTypeValue("ExecuteJavaScript") + case object ExecuteJavascript extends DbCosmosdbOperationTypeValue("ExecuteJavaScript") } - - /** Values for [[DbSystem]]. - */ + /** + * Values for [[DbSystem]]. + */ abstract class DbSystemValue(val value: String) object DbSystemValue { - /** Some other SQL database. Fallback only. See notes. */ case object OtherSql extends DbSystemValue("other_sql") - /** Microsoft SQL Server. */ case object Mssql extends DbSystemValue("mssql") - /** Microsoft SQL Server Compact. */ case object Mssqlcompact extends DbSystemValue("mssqlcompact") - /** MySQL. */ case object Mysql extends DbSystemValue("mysql") - /** Oracle Database. */ case object Oracle extends DbSystemValue("oracle") - /** IBM Db2. */ case object Db2 extends DbSystemValue("db2") - /** PostgreSQL. */ case object Postgresql extends DbSystemValue("postgresql") - /** Amazon Redshift. */ case object Redshift extends DbSystemValue("redshift") - /** Apache Hive. */ case object Hive extends DbSystemValue("hive") - /** Cloudscape. */ case object Cloudscape extends DbSystemValue("cloudscape") - /** HyperSQL DataBase. */ case object Hsqldb extends DbSystemValue("hsqldb") - /** Progress Database. */ case object Progress extends DbSystemValue("progress") - /** SAP MaxDB. */ case object Maxdb extends DbSystemValue("maxdb") - /** SAP HANA. */ case object Hanadb extends DbSystemValue("hanadb") - /** Ingres. */ case object Ingres extends DbSystemValue("ingres") - /** FirstSQL. */ case object Firstsql extends DbSystemValue("firstsql") - /** EnterpriseDB. */ case object Edb extends DbSystemValue("edb") - /** InterSystems Caché. */ case object Cache extends DbSystemValue("cache") - /** Adabas (Adaptable Database System). */ case object Adabas extends DbSystemValue("adabas") - /** Firebird. */ case object Firebird extends DbSystemValue("firebird") - /** Apache Derby. */ case object Derby extends DbSystemValue("derby") - /** FileMaker. */ case object Filemaker extends DbSystemValue("filemaker") - /** Informix. */ case object Informix extends DbSystemValue("informix") - /** InstantDB. */ case object Instantdb extends DbSystemValue("instantdb") - /** InterBase. */ case object Interbase extends DbSystemValue("interbase") - /** MariaDB. */ case object Mariadb extends DbSystemValue("mariadb") - /** Netezza. */ case object Netezza extends DbSystemValue("netezza") - /** Pervasive PSQL. */ case object Pervasive extends DbSystemValue("pervasive") - /** PointBase. */ case object Pointbase extends DbSystemValue("pointbase") - /** SQLite. */ case object Sqlite extends DbSystemValue("sqlite") - /** Sybase. */ case object Sybase extends DbSystemValue("sybase") - /** Teradata. */ case object Teradata extends DbSystemValue("teradata") - /** Vertica. */ case object Vertica extends DbSystemValue("vertica") - /** H2. */ case object H2 extends DbSystemValue("h2") - /** ColdFusion IMQ. */ case object Coldfusion extends DbSystemValue("coldfusion") - /** Apache Cassandra. */ case object Cassandra extends DbSystemValue("cassandra") - /** Apache HBase. */ case object Hbase extends DbSystemValue("hbase") - /** MongoDB. */ case object Mongodb extends DbSystemValue("mongodb") - /** Redis. */ case object Redis extends DbSystemValue("redis") - /** Couchbase. */ case object Couchbase extends DbSystemValue("couchbase") - /** CouchDB. */ case object Couchdb extends DbSystemValue("couchdb") - /** Microsoft Azure Cosmos DB. */ case object Cosmosdb extends DbSystemValue("cosmosdb") - /** Amazon DynamoDB. */ case object Dynamodb extends DbSystemValue("dynamodb") - /** Neo4j. */ case object Neo4j extends DbSystemValue("neo4j") - /** Apache Geode. */ case object Geode extends DbSystemValue("geode") - /** Elasticsearch. */ case object Elasticsearch extends DbSystemValue("elasticsearch") - /** Memcached. */ case object Memcached extends DbSystemValue("memcached") - /** CockroachDB. */ case object Cockroachdb extends DbSystemValue("cockroachdb") - /** OpenSearch. */ case object Opensearch extends DbSystemValue("opensearch") - /** ClickHouse. */ case object Clickhouse extends DbSystemValue("clickhouse") - /** Cloud Spanner. */ case object Spanner extends DbSystemValue("spanner") - /** Trino. */ case object Trino extends DbSystemValue("trino") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DeploymentExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DeploymentExperimentalAttributes.scala index 8f9576d10..07b791954 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DeploymentExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DeploymentExperimentalAttributes.scala @@ -22,21 +22,17 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object DeploymentExperimentalAttributes { - /** Name of the deployment - * environment (aka deployment tier). - * - * @note - * - `deployment.environment` does not affect the uniqueness constraints - * defined through the `service.namespace`, `service.name` and - * `service.instance.id` resource attributes. This implies that resources - * carrying the following attribute combinations MUST be considered to be - * identifying the same service:
  • `service.name=frontend`, - * `deployment.environment=production`
  • `service.name=frontend`, - * `deployment.environment=staging`.
  • - */ - val DeploymentEnvironment: AttributeKey[String] = string( - "deployment.environment" - ) + /** + * Name of the deployment environment (aka deployment tier). + * + * @note + * - `deployment.environment` does not affect the uniqueness constraints defined through +the `service.namespace`, `service.name` and `service.instance.id` resource attributes. +This implies that resources carrying the following attribute combinations MUST be +considered to be identifying the same service:
  • `service.name=frontend`, `deployment.environment=production`
  • +
  • `service.name=frontend`, `deployment.environment=staging`.
  • -} + */ + val DeploymentEnvironment: AttributeKey[String] = string("deployment.environment") + +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DestinationExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DestinationExperimentalAttributes.scala index 4b5483b1f..a8b03a138 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DestinationExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DestinationExperimentalAttributes.scala @@ -22,19 +22,17 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object DestinationExperimentalAttributes { - /** Destination address - domain name if available without reverse DNS lookup; - * otherwise, IP address or Unix domain socket name. - * - * @note - * - When observed from the source side, and when communicating through an - * intermediary, `destination.address` SHOULD represent the destination - * address behind any intermediaries, for example proxies, if it's - * available. - */ + /** + * Destination address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. + * + * @note + * - When observed from the source side, and when communicating through an intermediary, `destination.address` SHOULD represent the destination address behind any intermediaries, for example proxies, if it's available. + */ val DestinationAddress: AttributeKey[String] = string("destination.address") - /** Destination port number - */ + /** + * Destination port number + */ val DestinationPort: AttributeKey[Long] = long("destination.port") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DeviceExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DeviceExperimentalAttributes.scala index 7ff97c442..2e094a541 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DeviceExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DeviceExperimentalAttributes.scala @@ -22,52 +22,36 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object DeviceExperimentalAttributes { - /** A unique identifier representing the device - * - * @note - * - The device identifier MUST only be defined using the values outlined - * below. This value is not an advertising identifier and MUST NOT be - * used as such. On iOS (Swift or Objective-C), this value MUST be equal - * to the vendor - * identifier. On Android (Java or Kotlin), this value MUST be equal - * to the Firebase Installation ID or a globally unique UUID which is - * persisted across sessions in your application. More information can be - * found here - * on best practices and exact implementation details. Caution should be - * taken when storing personal data or anything which can identify a - * user. GDPR and data protection laws may apply, ensure you do your own - * due diligence. - */ + /** + * A unique identifier representing the device + * + * @note + * - The device identifier MUST only be defined using the values outlined below. This value is not an advertising identifier and MUST NOT be used as such. On iOS (Swift or Objective-C), this value MUST be equal to the vendor identifier. On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation ID or a globally unique UUID which is persisted across sessions in your application. More information can be found here on best practices and exact implementation details. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply, ensure you do your own due diligence. + */ val DeviceId: AttributeKey[String] = string("device.id") - /** The name of the device manufacturer - * - * @note - * - The Android OS provides this field via Build. - * iOS apps SHOULD hardcode the value `Apple`. - */ + /** + * The name of the device manufacturer + * + * @note + * - The Android OS provides this field via Build. iOS apps SHOULD hardcode the value `Apple`. + */ val DeviceManufacturer: AttributeKey[String] = string("device.manufacturer") - /** The model identifier for the device - * - * @note - * - It's recommended this value represents a machine-readable version of - * the model identifier rather than the market or consumer-friendly name - * of the device. - */ - val DeviceModelIdentifier: AttributeKey[String] = string( - "device.model.identifier" - ) - - /** The marketing name for the device model - * - * @note - * - It's recommended this value represents a human-readable version of the - * device model rather than a machine-readable alternative. - */ + /** + * The model identifier for the device + * + * @note + * - It's recommended this value represents a machine-readable version of the model identifier rather than the market or consumer-friendly name of the device. + */ + val DeviceModelIdentifier: AttributeKey[String] = string("device.model.identifier") + + /** + * The marketing name for the device model + * + * @note + * - It's recommended this value represents a human-readable version of the device model rather than a machine-readable alternative. + */ val DeviceModelName: AttributeKey[String] = string("device.model.name") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DiskExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DiskExperimentalAttributes.scala index de82a8dba..b18c9340e 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DiskExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DiskExperimentalAttributes.scala @@ -22,21 +22,21 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object DiskExperimentalAttributes { - /** The disk IO operation direction. - */ + /** + * The disk IO operation direction. + */ val DiskIoDirection: AttributeKey[String] = string("disk.io.direction") // Enum definitions - - /** Values for [[DiskIoDirection]]. - */ + + /** + * Values for [[DiskIoDirection]]. + */ abstract class DiskIoDirectionValue(val value: String) object DiskIoDirectionValue { - /** read. */ case object Read extends DiskIoDirectionValue("read") - /** write. */ case object Write extends DiskIoDirectionValue("write") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DnsExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DnsExperimentalAttributes.scala index 0947ca008..c14fca314 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DnsExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DnsExperimentalAttributes.scala @@ -22,15 +22,12 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object DnsExperimentalAttributes { - /** The name being queried. - * - * @note - * - If the name field contains non-printable characters (below 32 or above - * 126), those characters should be represented as escaped base 10 - * integers (\DDD). Back slashes and quotes should be escaped. Tabs, - * carriage returns, and line feeds should be converted to \t, \r, and \n - * respectively. - */ + /** + * The name being queried. + * + * @note + * - If the name field contains non-printable characters (below 32 or above 126), those characters should be represented as escaped base 10 integers (\DDD). Back slashes and quotes should be escaped. Tabs, carriage returns, and line feeds should be converted to \t, \r, and \n respectively. + */ val DnsQuestionName: AttributeKey[String] = string("dns.question.name") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/EnduserExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/EnduserExperimentalAttributes.scala index 66ece3d91..0bdf8e0e9 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/EnduserExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/EnduserExperimentalAttributes.scala @@ -22,25 +22,19 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object EnduserExperimentalAttributes { - /** Username or client_id extracted from the access token or Authorization - * header in the inbound request from outside the system. - */ + /** + * Username or client_id extracted from the access token or Authorization header in the inbound request from outside the system. + */ val EnduserId: AttributeKey[String] = string("enduser.id") - /** Actual/assumed role the client is making the request under extracted from - * token or application security context. - */ + /** + * Actual/assumed role the client is making the request under extracted from token or application security context. + */ val EnduserRole: AttributeKey[String] = string("enduser.role") - /** Scopes or granted authorities the client currently possesses extracted - * from token or application security context. The value would come from the - * scope associated with an OAuth 2.0 Access - * Token or an attribute value in a SAML - * 2.0 Assertion. - */ + /** + * Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an OAuth 2.0 Access Token or an attribute value in a SAML 2.0 Assertion. + */ val EnduserScope: AttributeKey[String] = string("enduser.scope") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ErrorExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ErrorExperimentalAttributes.scala index 3c89e491a..5311194fb 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ErrorExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ErrorExperimentalAttributes.scala @@ -22,46 +22,37 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ErrorExperimentalAttributes { - /** Describes a class of error the operation ended with. - * - * @note - * - The `error.type` SHOULD be predictable and SHOULD have low - * cardinality. Instrumentations SHOULD document the list of errors they - * report. - * - The cardinality of `error.type` within one instrumentation library - * SHOULD be low. Telemetry consumers that aggregate data from multiple - * instrumentation libraries and applications should be prepared for - * `error.type` to have high cardinality at query time when no additional - * filters are applied. - * - If the operation has completed successfully, instrumentations SHOULD - * NOT set `error.type`. - * - If a specific domain defines its own set of error identifiers (such as - * HTTP or gRPC status codes), it's RECOMMENDED to:
  • Use a - * domain-specific attribute
  • Set `error.type` to capture all - * errors, regardless of whether they are defined within the - * domain-specific set or not.
  • - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.ErrorAttributes.ErrorType` instead.", - "0.5.0" - ) + /** + * Describes a class of error the operation ended with. + * + * @note + * - The `error.type` SHOULD be predictable, and SHOULD have low cardinality. + * - When `error.type` is set to a type (e.g., an exception type), its +canonical class name identifying the type within the artifact SHOULD be used. + * - Instrumentations SHOULD document the list of errors they report. + * - The cardinality of `error.type` within one instrumentation library SHOULD be low. +Telemetry consumers that aggregate data from multiple instrumentation libraries and applications +should be prepared for `error.type` to have high cardinality at query time when no +additional filters are applied. + * - If the operation has completed successfully, instrumentations SHOULD NOT set `error.type`. + * - If a specific domain defines its own set of error identifiers (such as HTTP or gRPC status codes), +it's RECOMMENDED to:
  • Use a domain-specific attribute
  • +
  • Set `error.type` to capture all errors, regardless of whether they are defined within the domain-specific set or not.
  • + + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.ErrorAttributes.ErrorType` instead.", "0.5.0") val ErrorType: AttributeKey[String] = string("error.type") // Enum definitions - - /** Values for [[ErrorType]]. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.ErrorAttributes.ErrorTypeValue` instead.", - "0.5.0" - ) + + /** + * Values for [[ErrorType]]. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.ErrorAttributes.ErrorTypeValue` instead.", "0.5.0") abstract class ErrorTypeValue(val value: String) @annotation.nowarn("cat=deprecation") object ErrorTypeValue { - - /** A fallback error value to be used when the instrumentation doesn't - * define a custom value. - */ + /** A fallback error value to be used when the instrumentation doesn't define a custom value. */ case object Other extends ErrorTypeValue("_OTHER") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/EventExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/EventExperimentalAttributes.scala index 634c3cc28..f09c52ce6 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/EventExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/EventExperimentalAttributes.scala @@ -22,15 +22,12 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object EventExperimentalAttributes { - /** Identifies the class / type of event. - * - * @note - * - Event names are subject to the same rules as attribute - * names. Notably, event names are namespaced to avoid collisions and - * provide a clean separation of semantics for events in separate domains - * like browser, mobile, and kubernetes. - */ + /** + * Identifies the class / type of event. + * + * @note + * - Event names are subject to the same rules as attribute names. Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes. + */ val EventName: AttributeKey[String] = string("event.name") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ExceptionExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ExceptionExperimentalAttributes.scala index 8cfc4f770..c5553118d 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ExceptionExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ExceptionExperimentalAttributes.scala @@ -22,59 +22,44 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ExceptionExperimentalAttributes { - /** SHOULD be set to true if the exception event is recorded at a point where - * it is known that the exception is escaping the scope of the span. - * - * @note - * - An exception is considered to have escaped (or left) the scope of a - * span, if that span is ended while the exception is still logically - * "in flight". This may be actually "in flight" in - * some languages (e.g. if the exception is passed to a Context manager's - * `__exit__` method in Python) but will usually be caught at the point - * of recording the exception in most languages. - * - It is usually not possible to determine at the point where an - * exception is thrown whether it will escape the scope of a span. - * However, it is trivial to know that an exception will escape, if one - * checks for an active exception just before ending the span, as done in - * the example for recording span - * exceptions. - * - It follows that an exception may still escape the scope of the span - * even if the `exception.escaped` attribute was not set or set to false, - * since the event might have been recorded at a time where it was not - * clear whether the exception will escape. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.ExceptionAttributes.ExceptionEscaped` instead.", - "0.5.0" - ) + /** + * SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span. + * + * @note + * - An exception is considered to have escaped (or left) the scope of a span, +if that span is ended while the exception is still logically "in flight". +This may be actually "in flight" in some languages (e.g. if the exception +is passed to a Context manager's `__exit__` method in Python) but will +usually be caught at the point of recording the exception in most languages. + * - It is usually not possible to determine at the point where an exception is thrown +whether it will escape the scope of a span. +However, it is trivial to know that an exception +will escape, if one checks for an active exception just before ending the span, +as done in the example for recording span exceptions. + * - It follows that an exception may still escape the scope of the span +even if the `exception.escaped` attribute was not set or set to false, +since the event might have been recorded at a time where it was not +clear whether the exception will escape. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.ExceptionAttributes.ExceptionEscaped` instead.", "0.5.0") val ExceptionEscaped: AttributeKey[Boolean] = boolean("exception.escaped") - /** The exception message. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.ExceptionAttributes.ExceptionMessage` instead.", - "0.5.0" - ) + /** + * The exception message. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.ExceptionAttributes.ExceptionMessage` instead.", "0.5.0") val ExceptionMessage: AttributeKey[String] = string("exception.message") - /** 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. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.ExceptionAttributes.ExceptionStacktrace` instead.", - "0.5.0" - ) + /** + * 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. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.ExceptionAttributes.ExceptionStacktrace` instead.", "0.5.0") val ExceptionStacktrace: AttributeKey[String] = string("exception.stacktrace") - /** 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. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.ExceptionAttributes.ExceptionType` instead.", - "0.5.0" - ) + /** + * 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. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.ExceptionAttributes.ExceptionType` instead.", "0.5.0") val ExceptionType: AttributeKey[String] = string("exception.type") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FaasExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FaasExperimentalAttributes.scala index ef0511a18..183924847 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FaasExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FaasExperimentalAttributes.scala @@ -22,199 +22,171 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object FaasExperimentalAttributes { - /** A boolean that is true if the serverless function is executed for the - * first time (aka cold-start). - */ + /** + * A boolean that is true if the serverless function is executed for the first time (aka cold-start). + */ val FaasColdstart: AttributeKey[Boolean] = boolean("faas.coldstart") - /** A string containing the schedule period as Cron - * Expression. - */ + /** + * A string containing the schedule period as Cron Expression. + */ val FaasCron: AttributeKey[String] = string("faas.cron") - /** The name of the source on which the triggering operation was performed. - * For example, in Cloud Storage or S3 corresponds to the bucket name, and in - * Cosmos DB to the database name. - */ - val FaasDocumentCollection: AttributeKey[String] = string( - "faas.document.collection" - ) - - /** The document name/table subjected to the operation. For example, in Cloud - * Storage or S3 is the name of the file, and in Cosmos DB the table name. - */ + /** + * The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name. + */ + val FaasDocumentCollection: AttributeKey[String] = string("faas.document.collection") + + /** + * The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name. + */ val FaasDocumentName: AttributeKey[String] = string("faas.document.name") - /** Describes the type of the operation that was performed on the data. - */ - val FaasDocumentOperation: AttributeKey[String] = string( - "faas.document.operation" - ) + /** + * Describes the type of the operation that was performed on the data. + */ + val FaasDocumentOperation: AttributeKey[String] = string("faas.document.operation") - /** A string containing the time when the data was accessed in the ISO 8601 - * format expressed in UTC. - */ + /** + * A string containing the time when the data was accessed in the ISO 8601 format expressed in UTC. + */ val FaasDocumentTime: AttributeKey[String] = string("faas.document.time") - /** The execution environment ID as a string, that will be potentially reused - * for other invocations to the same function/function version. - * - * @note - *
  • AWS Lambda: Use the (full) log stream name.
  • - */ + /** + * The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version. + * + * @note
  • AWS Lambda: Use the (full) log stream name.
  • + + */ val FaasInstance: AttributeKey[String] = string("faas.instance") - /** The invocation ID of the current function invocation. - */ + /** + * The invocation ID of the current function invocation. + */ val FaasInvocationId: AttributeKey[String] = string("faas.invocation_id") - /** The name of the invoked function. - * - * @note - * - SHOULD be equal to the `faas.name` resource attribute of the invoked - * function. - */ + /** + * The name of the invoked function. + * + * @note + * - SHOULD be equal to the `faas.name` resource attribute of the invoked function. + */ val FaasInvokedName: AttributeKey[String] = string("faas.invoked_name") - /** The cloud provider of the invoked function. - * - * @note - * - SHOULD be equal to the `cloud.provider` resource attribute of the - * invoked function. - */ - val FaasInvokedProvider: AttributeKey[String] = string( - "faas.invoked_provider" - ) - - /** The cloud region of the invoked function. - * - * @note - * - SHOULD be equal to the `cloud.region` resource attribute of the - * invoked function. - */ + /** + * The cloud provider of the invoked function. + * + * @note + * - SHOULD be equal to the `cloud.provider` resource attribute of the invoked function. + */ + val FaasInvokedProvider: AttributeKey[String] = string("faas.invoked_provider") + + /** + * The cloud region of the invoked function. + * + * @note + * - SHOULD be equal to the `cloud.region` resource attribute of the invoked function. + */ val FaasInvokedRegion: AttributeKey[String] = string("faas.invoked_region") - /** The amount of memory available to the serverless function converted to - * Bytes. - * - * @note - * - It's recommended to set this attribute since e.g. too little memory - * can easily stop a Java AWS Lambda function from working correctly. On - * AWS Lambda, the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` - * provides this information (which must be multiplied by 1,048,576). - */ + /** + * The amount of memory available to the serverless function converted to Bytes. + * + * @note + * - It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this information (which must be multiplied by 1,048,576). + */ val FaasMaxMemory: AttributeKey[Long] = long("faas.max_memory") - /** The name of the single function that this runtime instance executes. - * - * @note - * - This is the name of the function as configured/deployed on the FaaS - * platform and is usually different from the name of the callback - * function (which may be stored in the `code.namespace`/`code.function` - * span attributes). - * - For some cloud providers, the above definition is ambiguous. The - * following definition of function name MUST be used for this attribute - * (and consequently the span name) for the listed cloud - * providers/products:
  • Azure: The full name - * `/`, i.e., function app name followed by a forward - * slash followed by the function name (this form can also be seen in the - * resource JSON for the function). This means that a span attribute MUST - * be used, as an Azure function app can host multiple functions that - * would usually share a TracerProvider (see also the `cloud.resource_id` - * attribute).
  • - */ + /** + * The name of the single function that this runtime instance executes. + * + * @note + * - This is the name of the function as configured/deployed on the FaaS +platform and is usually different from the name of the callback +function (which may be stored in the +`code.namespace`/`code.function` +span attributes). + * - For some cloud providers, the above definition is ambiguous. The following +definition of function name MUST be used for this attribute +(and consequently the span name) for the listed cloud providers/products:
  • Azure: The full name `/`, i.e., function app name +followed by a forward slash followed by the function name (this form +can also be seen in the resource JSON for the function). +This means that a span attribute MUST be used, as an Azure function +app can host multiple functions that would usually share +a TracerProvider (see also the `cloud.resource_id` attribute).
  • + + */ val FaasName: AttributeKey[String] = string("faas.name") - /** A string containing the function invocation time in the ISO 8601 - * format expressed in UTC. - */ + /** + * A string containing the function invocation time in the ISO 8601 format expressed in UTC. + */ val FaasTime: AttributeKey[String] = string("faas.time") - /** Type of the trigger which caused this function invocation. - */ + /** + * Type of the trigger which caused this function invocation. + */ val FaasTrigger: AttributeKey[String] = string("faas.trigger") - /** The immutable version of the function being executed. - * - * @note - * - Depending on the cloud provider and platform, use:
  • AWS - * Lambda: The function - * version (an integer represented as a decimal string).
  • - *
  • Google Cloud Run (Services): The revision - * (i.e., the function name plus the revision suffix).
  • - *
  • Google Cloud Functions: The value of the `K_REVISION` - * environment variable.
  • Azure Functions: - * Not applicable. Do not set this attribute.
  • - */ + /** + * The immutable version of the function being executed. + * + * @note + * - Depending on the cloud provider and platform, use:
  • AWS Lambda: The function version +(an integer represented as a decimal string).
  • +
  • Google Cloud Run (Services): The revision +(i.e., the function name plus the revision suffix).
  • +
  • Google Cloud Functions: The value of the +`K_REVISION` environment variable.
  • +
  • Azure Functions: Not applicable. Do not set this attribute.
  • + + */ val FaasVersion: AttributeKey[String] = string("faas.version") // Enum definitions - - /** Values for [[FaasDocumentOperation]]. - */ + + /** + * Values for [[FaasDocumentOperation]]. + */ abstract class FaasDocumentOperationValue(val value: String) object FaasDocumentOperationValue { - /** When a new object is created. */ case object Insert extends FaasDocumentOperationValue("insert") - /** When an object is modified. */ case object Edit extends FaasDocumentOperationValue("edit") - /** When an object is deleted. */ case object Delete extends FaasDocumentOperationValue("delete") } - - /** Values for [[FaasInvokedProvider]]. - */ + /** + * Values for [[FaasInvokedProvider]]. + */ abstract class FaasInvokedProviderValue(val value: String) object FaasInvokedProviderValue { - /** Alibaba Cloud. */ case object AlibabaCloud extends FaasInvokedProviderValue("alibaba_cloud") - /** Amazon Web Services. */ case object Aws extends FaasInvokedProviderValue("aws") - /** Microsoft Azure. */ case object Azure extends FaasInvokedProviderValue("azure") - /** Google Cloud Platform. */ case object Gcp extends FaasInvokedProviderValue("gcp") - /** Tencent Cloud. */ case object TencentCloud extends FaasInvokedProviderValue("tencent_cloud") } - - /** Values for [[FaasTrigger]]. - */ + /** + * Values for [[FaasTrigger]]. + */ abstract class FaasTriggerValue(val value: String) object FaasTriggerValue { - - /** A response to some data source operation such as a database or - * filesystem read/write. - */ + /** A response to some data source operation such as a database or filesystem read/write. */ case object Datasource extends FaasTriggerValue("datasource") - /** To provide an answer to an inbound HTTP request. */ case object Http extends FaasTriggerValue("http") - - /** A function is set to be executed when messages are sent to a messaging - * system. - */ + /** A function is set to be executed when messages are sent to a messaging system. */ case object Pubsub extends FaasTriggerValue("pubsub") - /** A function is scheduled to be executed regularly. */ case object Timer extends FaasTriggerValue("timer") - /** If none of the others apply. */ case object Other extends FaasTriggerValue("other") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FeatureFlagExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FeatureFlagExperimentalAttributes.scala index 9ac636a06..f476e9b54 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FeatureFlagExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FeatureFlagExperimentalAttributes.scala @@ -22,29 +22,28 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object FeatureFlagExperimentalAttributes { - /** The unique identifier of the feature flag. - */ + /** + * The unique identifier of the feature flag. + */ val FeatureFlagKey: AttributeKey[String] = string("feature_flag.key") - /** The name of the service provider that performs the flag evaluation. - */ - val FeatureFlagProviderName: AttributeKey[String] = string( - "feature_flag.provider_name" - ) + /** + * The name of the service provider that performs the flag evaluation. + */ + val FeatureFlagProviderName: AttributeKey[String] = string("feature_flag.provider_name") - /** SHOULD be a semantic identifier for a value. If one is unavailable, a - * stringified version of the value can be used. - * - * @note - * - A semantic identifier, commonly referred to as a variant, provides a - * means for referring to a value without including the value itself. - * This can provide additional context for understanding the meaning - * behind a value. For example, the variant `red` maybe be used for the - * value `#c05543`. - * - A stringified version of the value can be used in situations where a - * semantic identifier is unavailable. String representation of the value - * should be determined by the implementer. - */ + /** + * SHOULD be a semantic identifier for a value. If one is unavailable, a stringified version of the value can be used. + * + * @note + * - A semantic identifier, commonly referred to as a variant, provides a means +for referring to a value without including the value itself. This can +provide additional context for understanding the meaning behind a value. +For example, the variant `red` maybe be used for the value `#c05543`. + * - A stringified version of the value can be used in situations where a +semantic identifier is unavailable. String representation of the value +should be determined by the implementer. + */ val FeatureFlagVariant: AttributeKey[String] = string("feature_flag.variant") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FileExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FileExperimentalAttributes.scala index 022ac36c9..2115becc9 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FileExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FileExperimentalAttributes.scala @@ -22,30 +22,32 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object FileExperimentalAttributes { - /** Directory where the file is located. It should include the drive letter, - * when appropriate. - */ + /** + * Directory where the file is located. It should include the drive letter, when appropriate. + */ val FileDirectory: AttributeKey[String] = string("file.directory") - /** File extension, excluding the leading dot. - * - * @note - * - When the file name has multiple extensions (example.tar.gz), only the - * last one should be captured ("gz", not "tar.gz"). - */ + /** + * File extension, excluding the leading dot. + * + * @note + * - When the file name has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz"). + */ val FileExtension: AttributeKey[String] = string("file.extension") - /** Name of the file including the extension, without the directory. - */ + /** + * Name of the file including the extension, without the directory. + */ val FileName: AttributeKey[String] = string("file.name") - /** Full path to the file, including the file name. It should include the - * drive letter, when appropriate. - */ + /** + * Full path to the file, including the file name. It should include the drive letter, when appropriate. + */ val FilePath: AttributeKey[String] = string("file.path") - /** File size in bytes. - */ + /** + * File size in bytes. + */ val FileSize: AttributeKey[Long] = long("file.size") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GcpExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GcpExperimentalAttributes.scala index dbee85ea0..ebbad60b7 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GcpExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GcpExperimentalAttributes.scala @@ -22,39 +22,24 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object GcpExperimentalAttributes { - /** The name of the Cloud Run execution - * being run for the Job, as set by the `CLOUD_RUN_EXECUTION` - * environment variable. - */ - val GcpCloudRunJobExecution: AttributeKey[String] = string( - "gcp.cloud_run.job.execution" - ) - - /** The index for a task within an execution as provided by the `CLOUD_RUN_TASK_INDEX` - * environment variable. - */ - val GcpCloudRunJobTaskIndex: AttributeKey[Long] = long( - "gcp.cloud_run.job.task_index" - ) - - /** The hostname of a GCE instance. This is the full value of the default or - * custom - * hostname. - */ - val GcpGceInstanceHostname: AttributeKey[String] = string( - "gcp.gce.instance.hostname" - ) - - /** The instance name of a GCE instance. This is the value provided by - * `host.name`, the visible name of the instance in the Cloud Console UI, and - * the prefix for the default hostname of the instance as defined by the default - * internal DNS name. - */ + /** + * The name of the Cloud Run execution being run for the Job, as set by the `CLOUD_RUN_EXECUTION` environment variable. + */ + val GcpCloudRunJobExecution: AttributeKey[String] = string("gcp.cloud_run.job.execution") + + /** + * The index for a task within an execution as provided by the `CLOUD_RUN_TASK_INDEX` environment variable. + */ + val GcpCloudRunJobTaskIndex: AttributeKey[Long] = long("gcp.cloud_run.job.task_index") + + /** + * The hostname of a GCE instance. This is the full value of the default or custom hostname. + */ + val GcpGceInstanceHostname: AttributeKey[String] = string("gcp.gce.instance.hostname") + + /** + * The instance name of a GCE instance. This is the value provided by `host.name`, the visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of the instance as defined by the default internal DNS name. + */ val GcpGceInstanceName: AttributeKey[String] = string("gcp.gce.instance.name") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GraphqlExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GraphqlExperimentalAttributes.scala index d0e97ab1f..831334439 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GraphqlExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GraphqlExperimentalAttributes.scala @@ -22,39 +22,36 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object GraphqlExperimentalAttributes { - /** The GraphQL document being executed. - * - * @note - * - The value may be sanitized to exclude sensitive information. - */ + /** + * The GraphQL document being executed. + * + * @note + * - The value may be sanitized to exclude sensitive information. + */ val GraphqlDocument: AttributeKey[String] = string("graphql.document") - /** The name of the operation being executed. - */ - val GraphqlOperationName: AttributeKey[String] = string( - "graphql.operation.name" - ) + /** + * The name of the operation being executed. + */ + val GraphqlOperationName: AttributeKey[String] = string("graphql.operation.name") - /** The type of the operation being executed. - */ - val GraphqlOperationType: AttributeKey[String] = string( - "graphql.operation.type" - ) + /** + * The type of the operation being executed. + */ + val GraphqlOperationType: AttributeKey[String] = string("graphql.operation.type") // Enum definitions - - /** Values for [[GraphqlOperationType]]. - */ + + /** + * Values for [[GraphqlOperationType]]. + */ abstract class GraphqlOperationTypeValue(val value: String) object GraphqlOperationTypeValue { - /** GraphQL query. */ case object Query extends GraphqlOperationTypeValue("query") - /** GraphQL mutation. */ case object Mutation extends GraphqlOperationTypeValue("mutation") - /** GraphQL subscription. */ case object Subscription extends GraphqlOperationTypeValue("subscription") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HerokuExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HerokuExperimentalAttributes.scala index 0046031ab..5fa20144f 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HerokuExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HerokuExperimentalAttributes.scala @@ -22,20 +22,19 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object HerokuExperimentalAttributes { - /** Unique identifier for the application - */ + /** + * Unique identifier for the application + */ val HerokuAppId: AttributeKey[String] = string("heroku.app.id") - /** Commit hash for the current release - */ - val HerokuReleaseCommit: AttributeKey[String] = string( - "heroku.release.commit" - ) + /** + * Commit hash for the current release + */ + val HerokuReleaseCommit: AttributeKey[String] = string("heroku.release.commit") - /** Time and date the release was created - */ - val HerokuReleaseCreationTimestamp: AttributeKey[String] = string( - "heroku.release.creation_timestamp" - ) + /** + * Time and date the release was created + */ + val HerokuReleaseCreationTimestamp: AttributeKey[String] = string("heroku.release.creation_timestamp") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HostExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HostExperimentalAttributes.scala index 68fc3bc34..69d60c640 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HostExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HostExperimentalAttributes.scala @@ -22,120 +22,112 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object HostExperimentalAttributes { - /** The CPU architecture the host system is running on. - */ + /** + * The CPU architecture the host system is running on. + */ val HostArch: AttributeKey[String] = string("host.arch") - /** The amount of level 2 memory cache available to the processor (in Bytes). - */ + /** + * The amount of level 2 memory cache available to the processor (in Bytes). + */ val HostCpuCacheL2Size: AttributeKey[Long] = long("host.cpu.cache.l2.size") - /** Family or generation of the CPU. - */ + /** + * Family or generation of the CPU. + */ val HostCpuFamily: AttributeKey[String] = string("host.cpu.family") - /** Model identifier. It provides more granular information about the CPU, - * distinguishing it from other CPUs within the same family. - */ + /** + * Model identifier. It provides more granular information about the CPU, distinguishing it from other CPUs within the same family. + */ val HostCpuModelId: AttributeKey[String] = string("host.cpu.model.id") - /** Model designation of the processor. - */ + /** + * Model designation of the processor. + */ val HostCpuModelName: AttributeKey[String] = string("host.cpu.model.name") - /** Stepping or core revisions. - */ + /** + * Stepping or core revisions. + */ val HostCpuStepping: AttributeKey[String] = string("host.cpu.stepping") - /** Processor manufacturer identifier. A maximum 12-character string. - * - * @note - * - CPUID command returns the - * vendor ID string in EBX, EDX and ECX registers. Writing these to - * memory in this order results in a 12-character string. - */ + /** + * Processor manufacturer identifier. A maximum 12-character string. + * + * @note + * - CPUID command returns the vendor ID string in EBX, EDX and ECX registers. Writing these to memory in this order results in a 12-character string. + */ val HostCpuVendorId: AttributeKey[String] = string("host.cpu.vendor.id") - /** Unique host ID. For Cloud, this must be the instance_id assigned by the - * cloud provider. For non-containerized systems, this should be the - * `machine-id`. See the table below for the sources to use to determine the - * `machine-id` based on operating system. - */ + /** + * Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For non-containerized systems, this should be the `machine-id`. See the table below for the sources to use to determine the `machine-id` based on operating system. + */ val HostId: AttributeKey[String] = string("host.id") - /** VM image ID or host OS image ID. For Cloud, this value is from the - * provider. - */ + /** + * VM image ID or host OS image ID. For Cloud, this value is from the provider. + */ val HostImageId: AttributeKey[String] = string("host.image.id") - /** Name of the VM image or OS install the host was instantiated from. - */ + /** + * Name of the VM image or OS install the host was instantiated from. + */ val HostImageName: AttributeKey[String] = string("host.image.name") - /** The version string of the VM image or host OS as defined in Version Attributes. - */ + /** + * The version string of the VM image or host OS as defined in Version Attributes. + */ val HostImageVersion: AttributeKey[String] = string("host.image.version") - /** Available IP addresses of the host, excluding loopback interfaces. - * - * @note - * - IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 - * addresses MUST be specified in the RFC 5952 - * format. - */ + /** + * Available IP addresses of the host, excluding loopback interfaces. + * + * @note + * - IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 addresses MUST be specified in the RFC 5952 format. + */ val HostIp: AttributeKey[Seq[String]] = stringSeq("host.ip") - /** Available MAC addresses of the host, excluding loopback interfaces. - * - * @note - * - MAC Addresses MUST be represented in IEEE - * RA hexadecimal form: as hyphen-separated octets in uppercase - * hexadecimal form from most to least significant. - */ + /** + * Available MAC addresses of the host, excluding loopback interfaces. + * + * @note + * - MAC Addresses MUST be represented in IEEE RA hexadecimal form: as hyphen-separated octets in uppercase hexadecimal form from most to least significant. + */ val HostMac: AttributeKey[Seq[String]] = stringSeq("host.mac") - /** Name of the host. On Unix systems, it may contain what the hostname - * command returns, or the fully qualified hostname, or another name - * specified by the user. - */ + /** + * Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user. + */ val HostName: AttributeKey[String] = string("host.name") - /** Type of host. For Cloud, this must be the machine type. - */ + /** + * Type of host. For Cloud, this must be the machine type. + */ val HostType: AttributeKey[String] = string("host.type") // Enum definitions - - /** Values for [[HostArch]]. - */ + + /** + * Values for [[HostArch]]. + */ abstract class HostArchValue(val value: String) object HostArchValue { - /** AMD64. */ case object Amd64 extends HostArchValue("amd64") - /** ARM32. */ case object Arm32 extends HostArchValue("arm32") - /** ARM64. */ case object Arm64 extends HostArchValue("arm64") - /** Itanium. */ case object Ia64 extends HostArchValue("ia64") - /** 32-bit PowerPC. */ case object Ppc32 extends HostArchValue("ppc32") - /** 64-bit PowerPC. */ case object Ppc64 extends HostArchValue("ppc64") - /** IBM z/Architecture. */ case object S390x extends HostArchValue("s390x") - /** 32-bit x86. */ case object X86 extends HostArchValue("x86") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HttpExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HttpExperimentalAttributes.scala index 50065973b..7db8560d7 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HttpExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HttpExperimentalAttributes.scala @@ -22,300 +22,245 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object HttpExperimentalAttributes { - /** State of the HTTP connection in the HTTP connection pool. - */ - val HttpConnectionState: AttributeKey[String] = string( - "http.connection.state" - ) - - /** Deprecated, use `network.protocol.name` instead. - */ + /** + * Deprecated, use `client.address` instead. + */ + @deprecated("Use `client.address` instead", "0.5.0") + val HttpClientIp: AttributeKey[String] = string("http.client_ip") + + /** + * State of the HTTP connection in the HTTP connection pool. + */ + val HttpConnectionState: AttributeKey[String] = string("http.connection.state") + + /** + * Deprecated, use `network.protocol.name` instead. + */ @deprecated("Use `network.protocol.name` instead", "0.5.0") val HttpFlavor: AttributeKey[String] = string("http.flavor") - /** Deprecated, use `http.request.method` instead. - */ + /** + * Deprecated, use one of `server.address`, `client.address` or `http.request.header.host` instead, depending on the usage. + */ + @deprecated("Use one of `server.address`, `client.address` or `http.request.header.host` instead, depending on the usage", "0.5.0") + val HttpHost: AttributeKey[String] = string("http.host") + + /** + * Deprecated, use `http.request.method` instead. + */ @deprecated("Use `http.request.method` instead", "0.5.0") val HttpMethod: AttributeKey[String] = string("http.method") - /** The size of the request payload body in bytes. This is the number of bytes - * transferred excluding headers and is often, but not always, present as the - * Content-Length - * header. For requests using transport encoding, this should be the - * compressed size. - */ + /** + * The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size. + */ val HttpRequestBodySize: AttributeKey[Long] = long("http.request.body.size") - /** HTTP request headers, `` being the normalized HTTP Header name - * (lowercase), the value being the header values. - * - * @note - * - Instrumentations SHOULD require an explicit configuration of which - * headers are to be captured. Including all request headers can be a - * security risk - explicit configuration helps avoid leaking sensitive - * information. The `User-Agent` header is already captured in the - * `user_agent.original` attribute. Users MAY explicitly configure - * instrumentations to capture them even though it is not recommended. - * The attribute value MUST consist of either multiple header values as - * an array of strings or a single-item array containing a possibly - * comma-concatenated string, depending on the way the HTTP library - * provides access to headers. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestHeader` instead.", - "0.5.0" - ) - val HttpRequestHeader: AttributeKey[Seq[String]] = stringSeq( - "http.request.header" - ) - - /** HTTP request method. - * - * @note - * - HTTP request method value SHOULD be "known" to the - * instrumentation. By default, this convention defines "known" - * methods as the ones listed in RFC9110 - * and the PATCH method defined in RFC5789. - * - If the HTTP request method is not known to instrumentation, it MUST - * set the `http.request.method` attribute to `_OTHER`. - * - If the HTTP instrumentation could end up converting valid HTTP request - * methods to `_OTHER`, then it MUST provide a way to override the list - * of known HTTP methods. If this override is done via environment - * variable, then the environment variable MUST be named - * OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated - * list of case-sensitive known HTTP methods (this list MUST be a full - * override of the default known method, it is not a list of known - * methods in addition to the defaults). - * - HTTP method names are case-sensitive and `http.request.method` - * attribute value MUST match a known HTTP method name exactly. - * Instrumentations for specific web frameworks that consider HTTP - * methods to be case insensitive, SHOULD populate a canonical - * equivalent. Tracing instrumentations that do so, MUST also set - * `http.request.method_original` to the original value. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestMethod` instead.", - "0.5.0" - ) + /** + * HTTP request headers, `` being the normalized HTTP Header name (lowercase), the value being the header values. + * + * @note + * - Instrumentations SHOULD require an explicit configuration of which headers are to be captured. Including all request headers can be a security risk - explicit configuration helps avoid leaking sensitive information. +The `User-Agent` header is already captured in the `user_agent.original` attribute. Users MAY explicitly configure instrumentations to capture them even though it is not recommended. +The attribute value MUST consist of either multiple header values as an array of strings or a single-item array containing a possibly comma-concatenated string, depending on the way the HTTP library provides access to headers. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestHeader` instead.", "0.5.0") + val HttpRequestHeader: AttributeKey[Seq[String]] = stringSeq("http.request.header") + + /** + * HTTP request method. + * + * @note + * - HTTP request method value SHOULD be "known" to the instrumentation. +By default, this convention defines "known" methods as the ones listed in RFC9110 +and the PATCH method defined in RFC5789. + * - If the HTTP request method is not known to instrumentation, it MUST set the `http.request.method` attribute to `_OTHER`. + * - If the HTTP instrumentation could end up converting valid HTTP request methods to `_OTHER`, then it MUST provide a way to override +the list of known HTTP methods. If this override is done via environment variable, then the environment variable MUST be named +OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated list of case-sensitive known HTTP methods +(this list MUST be a full override of the default known method, it is not a list of known methods in addition to the defaults). + * - HTTP method names are case-sensitive and `http.request.method` attribute value MUST match a known HTTP method name exactly. +Instrumentations for specific web frameworks that consider HTTP methods to be case insensitive, SHOULD populate a canonical equivalent. +Tracing instrumentations that do so, MUST also set `http.request.method_original` to the original value. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestMethod` instead.", "0.5.0") val HttpRequestMethod: AttributeKey[String] = string("http.request.method") - /** Original HTTP method sent by the client in the request line. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestMethodOriginal` instead.", - "0.5.0" - ) - val HttpRequestMethodOriginal: AttributeKey[String] = string( - "http.request.method_original" - ) - - /** The ordinal number of request resending attempt (for any reason, including - * redirects). - * - * @note - * - The resend count SHOULD be updated each time an HTTP request gets - * resent by the client, regardless of what was the cause of the - * resending (e.g. redirection, authorization failure, 503 Server - * Unavailable, network issues, or any other). - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestResendCount` instead.", - "0.5.0" - ) - val HttpRequestResendCount: AttributeKey[Long] = long( - "http.request.resend_count" - ) - - /** The total size of the request in bytes. This should be the total number of - * bytes sent over the wire, including the request line (HTTP/1.1), framing - * (HTTP/2 and HTTP/3), headers, and request body if any. - */ + /** + * Original HTTP method sent by the client in the request line. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestMethodOriginal` instead.", "0.5.0") + val HttpRequestMethodOriginal: AttributeKey[String] = string("http.request.method_original") + + /** + * The ordinal number of request resending attempt (for any reason, including redirects). + * + * @note + * - The resend count SHOULD be updated each time an HTTP request gets resent by the client, regardless of what was the cause of the resending (e.g. redirection, authorization failure, 503 Server Unavailable, network issues, or any other). + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestResendCount` instead.", "0.5.0") + val HttpRequestResendCount: AttributeKey[Long] = long("http.request.resend_count") + + /** + * The total size of the request in bytes. This should be the total number of bytes sent over the wire, including the request line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and request body if any. + */ val HttpRequestSize: AttributeKey[Long] = long("http.request.size") - /** Deprecated, use `http.request.header.content-length` instead. - */ + /** + * Deprecated, use `http.request.header.content-length` instead. + */ @deprecated("Use `http.request.header.content-length` instead", "0.5.0") - val HttpRequestContentLength: AttributeKey[Long] = long( - "http.request_content_length" - ) + val HttpRequestContentLength: AttributeKey[Long] = long("http.request_content_length") - /** The size of the response payload body in bytes. This is the number of - * bytes transferred excluding headers and is often, but not always, present - * as the Content-Length - * header. For requests using transport encoding, this should be the - * compressed size. - */ - val HttpResponseBodySize: AttributeKey[Long] = long("http.response.body.size") + /** + * Deprecated, use `http.request.body.size` instead. + */ + @deprecated("Use `http.request.body.size` instead", "0.5.0") + val HttpRequestContentLengthUncompressed: AttributeKey[Long] = long("http.request_content_length_uncompressed") - /** HTTP response headers, `` being the normalized HTTP Header name - * (lowercase), the value being the header values. - * - * @note - * - Instrumentations SHOULD require an explicit configuration of which - * headers are to be captured. Including all response headers can be a - * security risk - explicit configuration helps avoid leaking sensitive - * information. Users MAY explicitly configure instrumentations to - * capture them even though it is not recommended. The attribute value - * MUST consist of either multiple header values as an array of strings - * or a single-item array containing a possibly comma-concatenated - * string, depending on the way the HTTP library provides access to - * headers. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpResponseHeader` instead.", - "0.5.0" - ) - val HttpResponseHeader: AttributeKey[Seq[String]] = stringSeq( - "http.response.header" - ) + /** + * The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size. + */ + val HttpResponseBodySize: AttributeKey[Long] = long("http.response.body.size") - /** The total size of the response in bytes. This should be the total number - * of bytes sent over the wire, including the status line (HTTP/1.1), framing - * (HTTP/2 and HTTP/3), headers, and response body and trailers if any. - */ + /** + * HTTP response headers, `` being the normalized HTTP Header name (lowercase), the value being the header values. + * + * @note + * - Instrumentations SHOULD require an explicit configuration of which headers are to be captured. Including all response headers can be a security risk - explicit configuration helps avoid leaking sensitive information. +Users MAY explicitly configure instrumentations to capture them even though it is not recommended. +The attribute value MUST consist of either multiple header values as an array of strings or a single-item array containing a possibly comma-concatenated string, depending on the way the HTTP library provides access to headers. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpResponseHeader` instead.", "0.5.0") + val HttpResponseHeader: AttributeKey[Seq[String]] = stringSeq("http.response.header") + + /** + * The total size of the response in bytes. This should be the total number of bytes sent over the wire, including the status line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and response body and trailers if any. + */ val HttpResponseSize: AttributeKey[Long] = long("http.response.size") - /** HTTP response - * status code. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpResponseStatusCode` instead.", - "0.5.0" - ) - val HttpResponseStatusCode: AttributeKey[Long] = long( - "http.response.status_code" - ) + /** + * HTTP response status code. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpResponseStatusCode` instead.", "0.5.0") + val HttpResponseStatusCode: AttributeKey[Long] = long("http.response.status_code") - /** Deprecated, use `http.response.header.content-length` instead. - */ + /** + * Deprecated, use `http.response.header.content-length` instead. + */ @deprecated("Use `http.response.header.content-length` instead", "0.5.0") - val HttpResponseContentLength: AttributeKey[Long] = long( - "http.response_content_length" - ) - - /** The matched route, that is, the path template in the format used by the - * respective server framework. - * - * @note - * - MUST NOT be populated when this is not supported by the HTTP server - * framework as the route attribute should have low-cardinality and the - * URI path can NOT substitute it. SHOULD include the application - * root if there is one. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRoute` instead.", - "0.5.0" - ) + val HttpResponseContentLength: AttributeKey[Long] = long("http.response_content_length") + + /** + * Deprecated, use `http.response.body.size` instead. + */ + @deprecated("Use `http.response.body.size` instead", "0.5.0") + val HttpResponseContentLengthUncompressed: AttributeKey[Long] = long("http.response_content_length_uncompressed") + + /** + * The matched route, that is, the path template in the format used by the respective server framework. + * + * @note + * - MUST NOT be populated when this is not supported by the HTTP server framework as the route attribute should have low-cardinality and the URI path can NOT substitute it. +SHOULD include the application root if there is one. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRoute` instead.", "0.5.0") val HttpRoute: AttributeKey[String] = string("http.route") - /** Deprecated, use `url.scheme` instead. - */ + /** + * Deprecated, use `url.scheme` instead. + */ @deprecated("Use `url.scheme` instead", "0.5.0") val HttpScheme: AttributeKey[String] = string("http.scheme") - /** Deprecated, use `http.response.status_code` instead. - */ + /** + * Deprecated, use `server.address` instead. + */ + @deprecated("Use `server.address` instead", "0.5.0") + val HttpServerName: AttributeKey[String] = string("http.server_name") + + /** + * Deprecated, use `http.response.status_code` instead. + */ @deprecated("Use `http.response.status_code` instead", "0.5.0") val HttpStatusCode: AttributeKey[Long] = long("http.status_code") - /** Deprecated, use `url.path` and `url.query` instead. - */ + /** + * Deprecated, use `url.path` and `url.query` instead. + */ @deprecated("Use `url.path` and `url.query` instead", "0.5.0") val HttpTarget: AttributeKey[String] = string("http.target") - /** Deprecated, use `url.full` instead. - */ + /** + * Deprecated, use `url.full` instead. + */ @deprecated("Use `url.full` instead", "0.5.0") val HttpUrl: AttributeKey[String] = string("http.url") - /** Deprecated, use `user_agent.original` instead. - */ + /** + * Deprecated, use `user_agent.original` instead. + */ @deprecated("Use `user_agent.original` instead", "0.5.0") val HttpUserAgent: AttributeKey[String] = string("http.user_agent") // Enum definitions - - /** Values for [[HttpConnectionState]]. - */ + + /** + * Values for [[HttpConnectionState]]. + */ abstract class HttpConnectionStateValue(val value: String) object HttpConnectionStateValue { - /** active state. */ case object Active extends HttpConnectionStateValue("active") - /** idle state. */ case object Idle extends HttpConnectionStateValue("idle") } - - /** Values for [[HttpFlavor]]. - */ + /** + * Values for [[HttpFlavor]]. + */ @deprecated("Use `network.protocol.name` instead", "0.5.0") abstract class HttpFlavorValue(val value: String) @annotation.nowarn("cat=deprecation") object HttpFlavorValue { - /** HTTP/1.0. */ case object Http10 extends HttpFlavorValue("1.0") - /** HTTP/1.1. */ case object Http11 extends HttpFlavorValue("1.1") - /** HTTP/2. */ case object Http20 extends HttpFlavorValue("2.0") - /** HTTP/3. */ case object Http30 extends HttpFlavorValue("3.0") - /** SPDY protocol. */ case object Spdy extends HttpFlavorValue("SPDY") - /** QUIC protocol. */ case object Quic extends HttpFlavorValue("QUIC") } - - /** Values for [[HttpRequestMethod]]. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestMethodValue` instead.", - "0.5.0" - ) + /** + * Values for [[HttpRequestMethod]]. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestMethodValue` instead.", "0.5.0") abstract class HttpRequestMethodValue(val value: String) @annotation.nowarn("cat=deprecation") object HttpRequestMethodValue { - /** CONNECT method. */ case object Connect extends HttpRequestMethodValue("CONNECT") - /** DELETE method. */ case object Delete extends HttpRequestMethodValue("DELETE") - /** GET method. */ case object Get extends HttpRequestMethodValue("GET") - /** HEAD method. */ case object Head extends HttpRequestMethodValue("HEAD") - /** OPTIONS method. */ case object Options extends HttpRequestMethodValue("OPTIONS") - /** PATCH method. */ case object Patch extends HttpRequestMethodValue("PATCH") - /** POST method. */ case object Post extends HttpRequestMethodValue("POST") - /** PUT method. */ case object Put extends HttpRequestMethodValue("PUT") - /** TRACE method. */ case object Trace extends HttpRequestMethodValue("TRACE") - /** Any HTTP method that the instrumentation has no prior knowledge of. */ case object Other extends HttpRequestMethodValue("_OTHER") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/JvmExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/JvmExperimentalAttributes.scala index f58712bb9..4d1c9c8d2 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/JvmExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/JvmExperimentalAttributes.scala @@ -22,123 +22,91 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object JvmExperimentalAttributes { - /** Name of the buffer pool. - * - * @note - * - Pool names are generally obtained via BufferPoolMXBean#getName(). - */ + /** + * Name of the buffer pool. + * + * @note + * - Pool names are generally obtained via BufferPoolMXBean#getName(). + */ val JvmBufferPoolName: AttributeKey[String] = string("jvm.buffer.pool.name") - /** Name of the garbage collector action. - * - * @note - * - Garbage collector action is generally obtained via GarbageCollectionNotificationInfo#getGcAction(). - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmGcAction` instead.", - "0.5.0" - ) + /** + * Name of the garbage collector action. + * + * @note + * - Garbage collector action is generally obtained via GarbageCollectionNotificationInfo#getGcAction(). + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmGcAction` instead.", "0.5.0") val JvmGcAction: AttributeKey[String] = string("jvm.gc.action") - /** Name of the garbage collector. - * - * @note - * - Garbage collector name is generally obtained via GarbageCollectionNotificationInfo#getGcName(). - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmGcName` instead.", - "0.5.0" - ) + /** + * Name of the garbage collector. + * + * @note + * - Garbage collector name is generally obtained via GarbageCollectionNotificationInfo#getGcName(). + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmGcName` instead.", "0.5.0") val JvmGcName: AttributeKey[String] = string("jvm.gc.name") - /** Name of the memory pool. - * - * @note - * - Pool names are generally obtained via MemoryPoolMXBean#getName(). - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmMemoryPoolName` instead.", - "0.5.0" - ) + /** + * Name of the memory pool. + * + * @note + * - Pool names are generally obtained via MemoryPoolMXBean#getName(). + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmMemoryPoolName` instead.", "0.5.0") val JvmMemoryPoolName: AttributeKey[String] = string("jvm.memory.pool.name") - /** The type of memory. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmMemoryType` instead.", - "0.5.0" - ) + /** + * The type of memory. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmMemoryType` instead.", "0.5.0") val JvmMemoryType: AttributeKey[String] = string("jvm.memory.type") - /** Whether the thread is daemon or not. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmThreadDaemon` instead.", - "0.5.0" - ) + /** + * Whether the thread is daemon or not. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmThreadDaemon` instead.", "0.5.0") val JvmThreadDaemon: AttributeKey[Boolean] = boolean("jvm.thread.daemon") - /** State of the thread. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmThreadState` instead.", - "0.5.0" - ) + /** + * State of the thread. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmThreadState` instead.", "0.5.0") val JvmThreadState: AttributeKey[String] = string("jvm.thread.state") // Enum definitions - - /** Values for [[JvmMemoryType]]. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmMemoryTypeValue` instead.", - "0.5.0" - ) + + /** + * Values for [[JvmMemoryType]]. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmMemoryTypeValue` instead.", "0.5.0") abstract class JvmMemoryTypeValue(val value: String) @annotation.nowarn("cat=deprecation") object JvmMemoryTypeValue { - /** Heap memory. */ case object Heap extends JvmMemoryTypeValue("heap") - /** Non-heap memory. */ case object NonHeap extends JvmMemoryTypeValue("non_heap") } - - /** Values for [[JvmThreadState]]. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmThreadStateValue` instead.", - "0.5.0" - ) + /** + * Values for [[JvmThreadState]]. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmThreadStateValue` instead.", "0.5.0") abstract class JvmThreadStateValue(val value: String) @annotation.nowarn("cat=deprecation") object JvmThreadStateValue { - /** A thread that has not yet started is in this state. */ case object New extends JvmThreadStateValue("new") - /** A thread executing in the Java virtual machine is in this state. */ case object Runnable extends JvmThreadStateValue("runnable") - /** A thread that is blocked waiting for a monitor lock is in this state. */ case object Blocked extends JvmThreadStateValue("blocked") - - /** A thread that is waiting indefinitely for another thread to perform a - * particular action is in this state. - */ + /** A thread that is waiting indefinitely for another thread to perform a particular action is in this state. */ case object Waiting extends JvmThreadStateValue("waiting") - - /** A thread that is waiting for another thread to perform an action for up - * to a specified waiting time is in this state. - */ + /** A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state. */ case object TimedWaiting extends JvmThreadStateValue("timed_waiting") - /** A thread that has exited is in this state. */ case object Terminated extends JvmThreadStateValue("terminated") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/K8sExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/K8sExperimentalAttributes.scala index 189feafd8..e7c8ef753 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/K8sExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/K8sExperimentalAttributes.scala @@ -22,134 +22,153 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object K8sExperimentalAttributes { - /** The name of the cluster. - */ + /** + * The name of the cluster. + */ val K8sClusterName: AttributeKey[String] = string("k8s.cluster.name") - /** A pseudo-ID for the cluster, set to the UID of the `kube-system` - * namespace. - * - * @note - * - K8s doesn't have support for obtaining a cluster ID. If this is ever - * added, we will recommend collecting the `k8s.cluster.uid` through the - * official APIs. In the meantime, we are able to use the `uid` of the - * `kube-system` namespace as a proxy for cluster ID. Read on for the - * rationale. - * - Every object created in a K8s cluster is assigned a distinct UID. The - * `kube-system` namespace is used by Kubernetes itself and will exist - * for the lifetime of the cluster. Using the `uid` of the `kube-system` - * namespace is a reasonable proxy for the K8s ClusterID as it will only - * change if the cluster is rebuilt. Furthermore, Kubernetes UIDs are - * UUIDs as standardized by ISO/IEC - * 9834-8 and ITU-T X.667. Which states:
    - * - * - If generated according to one of the mechanisms defined in - * Rec.
    - * - * - ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be - * different from all other UUIDs generated before 3603 A.D., or is extremely - * likely to be different (depending on the mechanism chosen). - * - Therefore, UIDs between clusters should be extremely unlikely to - * conflict. - */ + /** + * A pseudo-ID for the cluster, set to the UID of the `kube-system` namespace. + * + * @note + * - K8s doesn't have support for obtaining a cluster ID. If this is ever +added, we will recommend collecting the `k8s.cluster.uid` through the +official APIs. In the meantime, we are able to use the `uid` of the +`kube-system` namespace as a proxy for cluster ID. Read on for the +rationale. + * - Every object created in a K8s cluster is assigned a distinct UID. The +`kube-system` namespace is used by Kubernetes itself and will exist +for the lifetime of the cluster. Using the `uid` of the `kube-system` +namespace is a reasonable proxy for the K8s ClusterID as it will only +change if the cluster is rebuilt. Furthermore, Kubernetes UIDs are +UUIDs as standardized by +ISO/IEC 9834-8 and ITU-T X.667. +Which states:
    + + * - If generated according to one of the mechanisms defined in Rec.
    + + * - ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be + different from all other UUIDs generated before 3603 A.D., or is + extremely likely to be different (depending on the mechanism chosen). + * - Therefore, UIDs between clusters should be extremely unlikely to +conflict. + */ val K8sClusterUid: AttributeKey[String] = string("k8s.cluster.uid") - /** The name of the Container from Pod specification, must be unique within a - * Pod. Container runtime usually uses different globally unique name - * (`container.name`). - */ + /** + * The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (`container.name`). + */ val K8sContainerName: AttributeKey[String] = string("k8s.container.name") - /** Number of times the container was restarted. This attribute can be used to - * identify a particular container (running or stopped) within a container - * spec. - */ - val K8sContainerRestartCount: AttributeKey[Long] = long( - "k8s.container.restart_count" - ) + /** + * Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec. + */ + val K8sContainerRestartCount: AttributeKey[Long] = long("k8s.container.restart_count") - /** The name of the CronJob. - */ + /** + * Last terminated reason of the Container. + */ + val K8sContainerStatusLastTerminatedReason: AttributeKey[String] = string("k8s.container.status.last_terminated_reason") + + /** + * The name of the CronJob. + */ val K8sCronjobName: AttributeKey[String] = string("k8s.cronjob.name") - /** The UID of the CronJob. - */ + /** + * The UID of the CronJob. + */ val K8sCronjobUid: AttributeKey[String] = string("k8s.cronjob.uid") - /** The name of the DaemonSet. - */ + /** + * The name of the DaemonSet. + */ val K8sDaemonsetName: AttributeKey[String] = string("k8s.daemonset.name") - /** The UID of the DaemonSet. - */ + /** + * The UID of the DaemonSet. + */ val K8sDaemonsetUid: AttributeKey[String] = string("k8s.daemonset.uid") - /** The name of the Deployment. - */ + /** + * The name of the Deployment. + */ val K8sDeploymentName: AttributeKey[String] = string("k8s.deployment.name") - /** The UID of the Deployment. - */ + /** + * The UID of the Deployment. + */ val K8sDeploymentUid: AttributeKey[String] = string("k8s.deployment.uid") - /** The name of the Job. - */ + /** + * The name of the Job. + */ val K8sJobName: AttributeKey[String] = string("k8s.job.name") - /** The UID of the Job. - */ + /** + * The UID of the Job. + */ val K8sJobUid: AttributeKey[String] = string("k8s.job.uid") - /** The name of the namespace that the pod is running in. - */ + /** + * The name of the namespace that the pod is running in. + */ val K8sNamespaceName: AttributeKey[String] = string("k8s.namespace.name") - /** The name of the Node. - */ + /** + * The name of the Node. + */ val K8sNodeName: AttributeKey[String] = string("k8s.node.name") - /** The UID of the Node. - */ + /** + * The UID of the Node. + */ val K8sNodeUid: AttributeKey[String] = string("k8s.node.uid") - /** The annotation key-value pairs placed on the Pod, the `` being the - * annotation name, the value being the annotation value. - */ + /** + * The annotation key-value pairs placed on the Pod, the `` being the annotation name, the value being the annotation value. + */ val K8sPodAnnotation: AttributeKey[String] = string("k8s.pod.annotation") - /** The label key-value pairs placed on the Pod, the `` being the label - * name, the value being the label value. - */ + /** + * The label key-value pairs placed on the Pod, the `` being the label name, the value being the label value. + */ val K8sPodLabel: AttributeKey[String] = string("k8s.pod.label") - /** Deprecated, use `k8s.pod.label` instead. - */ + /** + * Deprecated, use `k8s.pod.label` instead. + */ @deprecated("Use `k8s.pod.label` instead", "0.5.0") val K8sPodLabels: AttributeKey[String] = string("k8s.pod.labels") - /** The name of the Pod. - */ + /** + * The name of the Pod. + */ val K8sPodName: AttributeKey[String] = string("k8s.pod.name") - /** The UID of the Pod. - */ + /** + * The UID of the Pod. + */ val K8sPodUid: AttributeKey[String] = string("k8s.pod.uid") - /** The name of the ReplicaSet. - */ + /** + * The name of the ReplicaSet. + */ val K8sReplicasetName: AttributeKey[String] = string("k8s.replicaset.name") - /** The UID of the ReplicaSet. - */ + /** + * The UID of the ReplicaSet. + */ val K8sReplicasetUid: AttributeKey[String] = string("k8s.replicaset.uid") - /** The name of the StatefulSet. - */ + /** + * The name of the StatefulSet. + */ val K8sStatefulsetName: AttributeKey[String] = string("k8s.statefulset.name") - /** The UID of the StatefulSet. - */ + /** + * The UID of the StatefulSet. + */ val K8sStatefulsetUid: AttributeKey[String] = string("k8s.statefulset.uid") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/LogExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/LogExperimentalAttributes.scala index d0ca68a47..fc26efcfa 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/LogExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/LogExperimentalAttributes.scala @@ -22,54 +22,50 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object LogExperimentalAttributes { - /** The basename of the file. - */ + /** + * The basename of the file. + */ val LogFileName: AttributeKey[String] = string("log.file.name") - /** The basename of the file, with symlinks resolved. - */ - val LogFileNameResolved: AttributeKey[String] = string( - "log.file.name_resolved" - ) + /** + * The basename of the file, with symlinks resolved. + */ + val LogFileNameResolved: AttributeKey[String] = string("log.file.name_resolved") - /** The full path to the file. - */ + /** + * The full path to the file. + */ val LogFilePath: AttributeKey[String] = string("log.file.path") - /** The full path to the file, with symlinks resolved. - */ - val LogFilePathResolved: AttributeKey[String] = string( - "log.file.path_resolved" - ) + /** + * The full path to the file, with symlinks resolved. + */ + val LogFilePathResolved: AttributeKey[String] = string("log.file.path_resolved") - /** The stream associated with the log. See below for a list of well-known - * values. - */ + /** + * The stream associated with the log. See below for a list of well-known values. + */ val LogIostream: AttributeKey[String] = string("log.iostream") - /** A unique identifier for the Log Record. - * - * @note - * - If an id is provided, other log records with the same id will be - * considered duplicates and can be removed safely. This means, that two - * distinguishable log records MUST have different values. The id MAY be - * an Universally Unique - * Lexicographically Sortable Identifier (ULID), but other - * identifiers (e.g. UUID) may be used as needed. - */ + /** + * A unique identifier for the Log Record. + * + * @note + * - If an id is provided, other log records with the same id will be considered duplicates and can be removed safely. This means, that two distinguishable log records MUST have different values. +The id MAY be an Universally Unique Lexicographically Sortable Identifier (ULID), but other identifiers (e.g. UUID) may be used as needed. + */ val LogRecordUid: AttributeKey[String] = string("log.record.uid") // Enum definitions - - /** Values for [[LogIostream]]. - */ + + /** + * Values for [[LogIostream]]. + */ abstract class LogIostreamValue(val value: String) object LogIostreamValue { - /** Logs from stdout stream. */ case object Stdout extends LogIostreamValue("stdout") - /** Events from stderr stream. */ case object Stderr extends LogIostreamValue("stderr") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessageExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessageExperimentalAttributes.scala index 55ec416fe..416466b8b 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessageExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessageExperimentalAttributes.scala @@ -22,42 +22,42 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object MessageExperimentalAttributes { - /** Compressed size of the message in bytes. - */ - val MessageCompressedSize: AttributeKey[Long] = long( - "message.compressed_size" - ) - - /** MUST be calculated as two different counters starting from `1` one for - * sent messages and one for received message. - * - * @note - * - This way we guarantee that the values will be consistent between - * different implementations. - */ + /** + * Deprecated, use `rpc.message.compressed_size` instead. + */ + @deprecated("Use `rpc.message.compressed_size` instead", "0.5.0") + val MessageCompressedSize: AttributeKey[Long] = long("message.compressed_size") + + /** + * Deprecated, use `rpc.message.id` instead. + */ + @deprecated("Use `rpc.message.id` instead", "0.5.0") val MessageId: AttributeKey[Long] = long("message.id") - /** Whether this is a received or sent message. - */ + /** + * Deprecated, use `rpc.message.type` instead. + */ + @deprecated("Use `rpc.message.type` instead", "0.5.0") val MessageType: AttributeKey[String] = string("message.type") - /** Uncompressed size of the message in bytes. - */ - val MessageUncompressedSize: AttributeKey[Long] = long( - "message.uncompressed_size" - ) + /** + * Deprecated, use `rpc.message.uncompressed_size` instead. + */ + @deprecated("Use `rpc.message.uncompressed_size` instead", "0.5.0") + val MessageUncompressedSize: AttributeKey[Long] = long("message.uncompressed_size") // Enum definitions - - /** Values for [[MessageType]]. - */ + + /** + * Values for [[MessageType]]. + */ + @deprecated("Use `rpc.message.type` instead", "0.5.0") abstract class MessageTypeValue(val value: String) + @annotation.nowarn("cat=deprecation") object MessageTypeValue { - /** sent. */ case object Sent extends MessageTypeValue("SENT") - /** received. */ case object Received extends MessageTypeValue("RECEIVED") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessagingExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessagingExperimentalAttributes.scala index 97f3ba7c3..1e3809172 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessagingExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessagingExperimentalAttributes.scala @@ -22,409 +22,340 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object MessagingExperimentalAttributes { - /** The number of messages sent, received, or processed in the scope of the - * batching operation. - * - * @note - * - Instrumentations SHOULD NOT set `messaging.batch.message_count` on - * spans that operate with a single message. When a messaging client - * library supports both batch and single-message API for the same - * operation, instrumentations SHOULD use `messaging.batch.message_count` - * for batching APIs and SHOULD NOT use it for single-message APIs. - */ - val MessagingBatchMessageCount: AttributeKey[Long] = long( - "messaging.batch.message_count" - ) - - /** A unique identifier for the client that consumes or produces a message. - */ + /** + * The number of messages sent, received, or processed in the scope of the batching operation. + * + * @note + * - Instrumentations SHOULD NOT set `messaging.batch.message_count` on spans that operate with a single message. When a messaging client library supports both batch and single-message API for the same operation, instrumentations SHOULD use `messaging.batch.message_count` for batching APIs and SHOULD NOT use it for single-message APIs. + */ + val MessagingBatchMessageCount: AttributeKey[Long] = long("messaging.batch.message_count") + + /** + * A unique identifier for the client that consumes or produces a message. + */ + val MessagingClientId: AttributeKey[String] = string("messaging.client.id") + + /** + * Deprecated, use `messaging.client.id` instead. + */ + @deprecated("Use `messaging.client.id` instead", "0.5.0") val MessagingClientId: AttributeKey[String] = string("messaging.client_id") - /** A boolean that is true if the message destination is anonymous (could be - * unnamed or have auto-generated name). - */ - val MessagingDestinationAnonymous: AttributeKey[Boolean] = boolean( - "messaging.destination.anonymous" - ) - - /** The message destination name - * - * @note - * - Destination name SHOULD uniquely identify a specific queue, topic or - * other entity within the broker. If the broker doesn't have such - * notion, the destination name SHOULD uniquely identify the broker. - */ - val MessagingDestinationName: AttributeKey[String] = string( - "messaging.destination.name" - ) - - /** The identifier of the partition messages are sent to or received from, - * unique within the `messaging.destination.name`. - */ - val MessagingDestinationPartitionId: AttributeKey[String] = string( - "messaging.destination.partition.id" - ) - - /** Low cardinality representation of the messaging destination name - * - * @note - * - Destination names could be constructed from templates. An example - * would be a destination name involving a user name or product id. - * Although the destination name in this case is of high cardinality, the - * underlying template is of low cardinality and can be effectively used - * for grouping and aggregation. - */ - val MessagingDestinationTemplate: AttributeKey[String] = string( - "messaging.destination.template" - ) - - /** A boolean that is true if the message destination is temporary and might - * not exist anymore after messages are processed. - */ - val MessagingDestinationTemporary: AttributeKey[Boolean] = boolean( - "messaging.destination.temporary" - ) - - /** A boolean that is true if the publish message destination is anonymous - * (could be unnamed or have auto-generated name). - */ - val MessagingDestinationPublishAnonymous: AttributeKey[Boolean] = boolean( - "messaging.destination_publish.anonymous" - ) - - /** The name of the original destination the message was published to - * - * @note - * - The name SHOULD uniquely identify a specific queue, topic, or other - * entity within the broker. If the broker doesn't have such notion, the - * original destination name SHOULD uniquely identify the broker. - */ - val MessagingDestinationPublishName: AttributeKey[String] = string( - "messaging.destination_publish.name" - ) - - /** The name of the consumer group the event consumer is associated with. - */ - val MessagingEventhubsConsumerGroup: AttributeKey[String] = string( - "messaging.eventhubs.consumer.group" - ) - - /** The UTC epoch seconds at which the message has been accepted and stored in - * the entity. - */ - val MessagingEventhubsMessageEnqueuedTime: AttributeKey[Long] = long( - "messaging.eventhubs.message.enqueued_time" - ) - - /** The ordering key for a given message. If the attribute is not present, the - * message does not have an ordering key. - */ - val MessagingGcpPubsubMessageOrderingKey: AttributeKey[String] = string( - "messaging.gcp_pubsub.message.ordering_key" - ) - - /** Name of the Kafka Consumer Group that is handling the message. Only - * applies to consumers, not producers. - */ - val MessagingKafkaConsumerGroup: AttributeKey[String] = string( - "messaging.kafka.consumer.group" - ) - - /** "Deprecated, use `messaging.destination.partition.id` instead." - */ - @deprecated("'use `messaging.destination.partition.id` instead.'", "0.5.0") - val MessagingKafkaDestinationPartition: AttributeKey[Long] = long( - "messaging.kafka.destination.partition" - ) - - /** Message keys in Kafka are used for grouping alike messages to ensure - * they're processed on the same partition. They differ from - * `messaging.message.id` in that they're not unique. If the key is `null`, - * the attribute MUST NOT be set. - * - * @note - * - If the key type is not string, it's string representation has to be - * supplied for the attribute. If the key has no unambiguous, canonical - * string form, don't include its value. - */ - val MessagingKafkaMessageKey: AttributeKey[String] = string( - "messaging.kafka.message.key" - ) - - /** The offset of a record in the corresponding Kafka partition. - */ - val MessagingKafkaMessageOffset: AttributeKey[Long] = long( - "messaging.kafka.message.offset" - ) - - /** A boolean that is true if the message is a tombstone. - */ - val MessagingKafkaMessageTombstone: AttributeKey[Boolean] = boolean( - "messaging.kafka.message.tombstone" - ) - - /** The size of the message body in bytes. - * - * @note - * - This can refer to both the compressed or uncompressed body size. If - * both sizes are known, the uncompressed body size should be used. - */ - val MessagingMessageBodySize: AttributeKey[Long] = long( - "messaging.message.body.size" - ) - - /** The conversation ID identifying the conversation to which the message - * belongs, represented as a string. Sometimes called "Correlation - * ID". - */ - val MessagingMessageConversationId: AttributeKey[String] = string( - "messaging.message.conversation_id" - ) - - /** The size of the message body and metadata in bytes. - * - * @note - * - This can refer to both the compressed or uncompressed size. If both - * sizes are known, the uncompressed size should be used. - */ - val MessagingMessageEnvelopeSize: AttributeKey[Long] = long( - "messaging.message.envelope.size" - ) - - /** A value used by the messaging system as an identifier for the message, - * represented as a string. - */ + /** + * A boolean that is true if the message destination is anonymous (could be unnamed or have auto-generated name). + */ + val MessagingDestinationAnonymous: AttributeKey[Boolean] = boolean("messaging.destination.anonymous") + + /** + * The message destination name + * + * @note + * - Destination name SHOULD uniquely identify a specific queue, topic or other entity within the broker. If +the broker doesn't have such notion, the destination name SHOULD uniquely identify the broker. + */ + val MessagingDestinationName: AttributeKey[String] = string("messaging.destination.name") + + /** + * The identifier of the partition messages are sent to or received from, unique within the `messaging.destination.name`. + */ + val MessagingDestinationPartitionId: AttributeKey[String] = string("messaging.destination.partition.id") + + /** + * Low cardinality representation of the messaging destination name + * + * @note + * - Destination names could be constructed from templates. An example would be a destination name involving a user name or product id. Although the destination name in this case is of high cardinality, the underlying template is of low cardinality and can be effectively used for grouping and aggregation. + */ + val MessagingDestinationTemplate: AttributeKey[String] = string("messaging.destination.template") + + /** + * A boolean that is true if the message destination is temporary and might not exist anymore after messages are processed. + */ + val MessagingDestinationTemporary: AttributeKey[Boolean] = boolean("messaging.destination.temporary") + + /** + * A boolean that is true if the publish message destination is anonymous (could be unnamed or have auto-generated name). + */ + val MessagingDestinationPublishAnonymous: AttributeKey[Boolean] = boolean("messaging.destination_publish.anonymous") + + /** + * The name of the original destination the message was published to + * + * @note + * - The name SHOULD uniquely identify a specific queue, topic, or other entity within the broker. If +the broker doesn't have such notion, the original destination name SHOULD uniquely identify the broker. + */ + val MessagingDestinationPublishName: AttributeKey[String] = string("messaging.destination_publish.name") + + /** + * The name of the consumer group the event consumer is associated with. + */ + val MessagingEventhubsConsumerGroup: AttributeKey[String] = string("messaging.eventhubs.consumer.group") + + /** + * The UTC epoch seconds at which the message has been accepted and stored in the entity. + */ + val MessagingEventhubsMessageEnqueuedTime: AttributeKey[Long] = long("messaging.eventhubs.message.enqueued_time") + + /** + * The ack deadline in seconds set for the modify ack deadline request. + */ + val MessagingGcpPubsubMessageAckDeadline: AttributeKey[Long] = long("messaging.gcp_pubsub.message.ack_deadline") + + /** + * The ack id for a given message. + */ + val MessagingGcpPubsubMessageAckId: AttributeKey[String] = string("messaging.gcp_pubsub.message.ack_id") + + /** + * The delivery attempt for a given message. + */ + val MessagingGcpPubsubMessageDeliveryAttempt: AttributeKey[Long] = long("messaging.gcp_pubsub.message.delivery_attempt") + + /** + * The ordering key for a given message. If the attribute is not present, the message does not have an ordering key. + */ + val MessagingGcpPubsubMessageOrderingKey: AttributeKey[String] = string("messaging.gcp_pubsub.message.ordering_key") + + /** + * Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers. + */ + val MessagingKafkaConsumerGroup: AttributeKey[String] = string("messaging.kafka.consumer.group") + + /** + * Deprecated, use `messaging.destination.partition.id` instead. + */ + @deprecated("Use `messaging.destination.partition.id` instead", "0.5.0") + val MessagingKafkaDestinationPartition: AttributeKey[Long] = long("messaging.kafka.destination.partition") + + /** + * Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from `messaging.message.id` in that they're not unique. If the key is `null`, the attribute MUST NOT be set. + * + * @note + * - If the key type is not string, it's string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don't include its value. + */ + val MessagingKafkaMessageKey: AttributeKey[String] = string("messaging.kafka.message.key") + + /** + * The offset of a record in the corresponding Kafka partition. + */ + val MessagingKafkaMessageOffset: AttributeKey[Long] = long("messaging.kafka.message.offset") + + /** + * A boolean that is true if the message is a tombstone. + */ + val MessagingKafkaMessageTombstone: AttributeKey[Boolean] = boolean("messaging.kafka.message.tombstone") + + /** + * The size of the message body in bytes. + * + * @note + * - This can refer to both the compressed or uncompressed body size. If both sizes are known, the uncompressed +body size should be used. + */ + val MessagingMessageBodySize: AttributeKey[Long] = long("messaging.message.body.size") + + /** + * The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID". + */ + val MessagingMessageConversationId: AttributeKey[String] = string("messaging.message.conversation_id") + + /** + * The size of the message body and metadata in bytes. + * + * @note + * - This can refer to both the compressed or uncompressed size. If both sizes are known, the uncompressed +size should be used. + */ + val MessagingMessageEnvelopeSize: AttributeKey[Long] = long("messaging.message.envelope.size") + + /** + * A value used by the messaging system as an identifier for the message, represented as a string. + */ val MessagingMessageId: AttributeKey[String] = string("messaging.message.id") - /** A string identifying the kind of messaging operation. - * - * @note - * - If a custom value is used, it MUST be of low cardinality. - */ + /** + * Deprecated, use `messaging.operation.type` instead. + */ + @deprecated("Use `messaging.operation.type` instead", "0.5.0") val MessagingOperation: AttributeKey[String] = string("messaging.operation") - /** RabbitMQ message routing key. - */ - val MessagingRabbitmqDestinationRoutingKey: AttributeKey[String] = string( - "messaging.rabbitmq.destination.routing_key" - ) - - /** RabbitMQ message delivery tag - */ - val MessagingRabbitmqMessageDeliveryTag: AttributeKey[Long] = long( - "messaging.rabbitmq.message.delivery_tag" - ) - - /** Name of the RocketMQ producer/consumer group that is handling the message. - * The client type is identified by the SpanKind. - */ - val MessagingRocketmqClientGroup: AttributeKey[String] = string( - "messaging.rocketmq.client_group" - ) - - /** Model of message consumption. This only applies to consumer spans. - */ - val MessagingRocketmqConsumptionModel: AttributeKey[String] = string( - "messaging.rocketmq.consumption_model" - ) - - /** The delay time level for delay message, which determines the message delay - * time. - */ - val MessagingRocketmqMessageDelayTimeLevel: AttributeKey[Long] = long( - "messaging.rocketmq.message.delay_time_level" - ) - - /** The timestamp in milliseconds that the delay message is expected to be - * delivered to consumer. - */ - val MessagingRocketmqMessageDeliveryTimestamp: AttributeKey[Long] = long( - "messaging.rocketmq.message.delivery_timestamp" - ) - - /** It is essential for FIFO message. Messages that belong to the same message - * group are always processed one by one within the same consumer group. - */ - val MessagingRocketmqMessageGroup: AttributeKey[String] = string( - "messaging.rocketmq.message.group" - ) - - /** Key(s) of message, another way to mark message besides message id. - */ - val MessagingRocketmqMessageKeys: AttributeKey[Seq[String]] = stringSeq( - "messaging.rocketmq.message.keys" - ) - - /** The secondary classifier of message besides topic. - */ - val MessagingRocketmqMessageTag: AttributeKey[String] = string( - "messaging.rocketmq.message.tag" - ) - - /** Type of message. - */ - val MessagingRocketmqMessageType: AttributeKey[String] = string( - "messaging.rocketmq.message.type" - ) - - /** Namespace of RocketMQ resources, resources in different namespaces are - * individual. - */ - val MessagingRocketmqNamespace: AttributeKey[String] = string( - "messaging.rocketmq.namespace" - ) - - /** The name of the subscription in the topic messages are received from. - */ - val MessagingServicebusDestinationSubscriptionName: AttributeKey[String] = - string("messaging.servicebus.destination.subscription_name") - - /** Describes the settlement - * type. - */ - val MessagingServicebusDispositionStatus: AttributeKey[String] = string( - "messaging.servicebus.disposition_status" - ) - - /** Number of deliveries that have been attempted for this message. - */ - val MessagingServicebusMessageDeliveryCount: AttributeKey[Long] = long( - "messaging.servicebus.message.delivery_count" - ) - - /** The UTC epoch seconds at which the message has been accepted and stored in - * the entity. - */ - val MessagingServicebusMessageEnqueuedTime: AttributeKey[Long] = long( - "messaging.servicebus.message.enqueued_time" - ) - - /** An identifier for the messaging system being used. See below for a list of - * well-known identifiers. - */ + /** + * The system-specific name of the messaging operation. + */ + val MessagingOperationName: AttributeKey[String] = string("messaging.operation.name") + + /** + * A string identifying the type of the messaging operation. + * + * @note + * - If a custom value is used, it MUST be of low cardinality. + */ + val MessagingOperationType: AttributeKey[String] = string("messaging.operation.type") + + /** + * RabbitMQ message routing key. + */ + val MessagingRabbitmqDestinationRoutingKey: AttributeKey[String] = string("messaging.rabbitmq.destination.routing_key") + + /** + * RabbitMQ message delivery tag + */ + val MessagingRabbitmqMessageDeliveryTag: AttributeKey[Long] = long("messaging.rabbitmq.message.delivery_tag") + + /** + * Name of the RocketMQ producer/consumer group that is handling the message. The client type is identified by the SpanKind. + */ + val MessagingRocketmqClientGroup: AttributeKey[String] = string("messaging.rocketmq.client_group") + + /** + * Model of message consumption. This only applies to consumer spans. + */ + val MessagingRocketmqConsumptionModel: AttributeKey[String] = string("messaging.rocketmq.consumption_model") + + /** + * The delay time level for delay message, which determines the message delay time. + */ + val MessagingRocketmqMessageDelayTimeLevel: AttributeKey[Long] = long("messaging.rocketmq.message.delay_time_level") + + /** + * The timestamp in milliseconds that the delay message is expected to be delivered to consumer. + */ + val MessagingRocketmqMessageDeliveryTimestamp: AttributeKey[Long] = long("messaging.rocketmq.message.delivery_timestamp") + + /** + * It is essential for FIFO message. Messages that belong to the same message group are always processed one by one within the same consumer group. + */ + val MessagingRocketmqMessageGroup: AttributeKey[String] = string("messaging.rocketmq.message.group") + + /** + * Key(s) of message, another way to mark message besides message id. + */ + val MessagingRocketmqMessageKeys: AttributeKey[Seq[String]] = stringSeq("messaging.rocketmq.message.keys") + + /** + * The secondary classifier of message besides topic. + */ + val MessagingRocketmqMessageTag: AttributeKey[String] = string("messaging.rocketmq.message.tag") + + /** + * Type of message. + */ + val MessagingRocketmqMessageType: AttributeKey[String] = string("messaging.rocketmq.message.type") + + /** + * Namespace of RocketMQ resources, resources in different namespaces are individual. + */ + val MessagingRocketmqNamespace: AttributeKey[String] = string("messaging.rocketmq.namespace") + + /** + * The name of the subscription in the topic messages are received from. + */ + val MessagingServicebusDestinationSubscriptionName: AttributeKey[String] = string("messaging.servicebus.destination.subscription_name") + + /** + * Describes the settlement type. + */ + val MessagingServicebusDispositionStatus: AttributeKey[String] = string("messaging.servicebus.disposition_status") + + /** + * Number of deliveries that have been attempted for this message. + */ + val MessagingServicebusMessageDeliveryCount: AttributeKey[Long] = long("messaging.servicebus.message.delivery_count") + + /** + * The UTC epoch seconds at which the message has been accepted and stored in the entity. + */ + val MessagingServicebusMessageEnqueuedTime: AttributeKey[Long] = long("messaging.servicebus.message.enqueued_time") + + /** + * The messaging system as identified by the client instrumentation. + * + * @note + * - The actual messaging system may differ from the one known by the client. For example, when using Kafka client libraries to communicate with Azure Event Hubs, the `messaging.system` is set to `kafka` based on the instrumentation's best knowledge. + */ val MessagingSystem: AttributeKey[String] = string("messaging.system") // Enum definitions - - /** Values for [[MessagingOperation]]. - */ - abstract class MessagingOperationValue(val value: String) - object MessagingOperationValue { - - /** One or more messages are provided for publishing to an intermediary. If - * a single message is published, the context of the "Publish" span - * can be used as the creation context and no "Create" span needs - * to be created. - */ - case object Publish extends MessagingOperationValue("publish") - - /** A message is created. "Create" spans always refer to a single - * message and are used to provide a unique creation context for messages - * in batch publishing scenarios. - */ - case object Create extends MessagingOperationValue("create") - - /** One or more messages are requested by a consumer. This operation refers - * to pull-based scenarios, where consumers explicitly call methods of - * messaging SDKs to receive messages. - */ - case object Receive extends MessagingOperationValue("receive") - + + /** + * Values for [[MessagingOperationType]]. + */ + abstract class MessagingOperationTypeValue(val value: String) + object MessagingOperationTypeValue { + /** One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. */ + case object Publish extends MessagingOperationTypeValue("publish") + /** A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. */ + case object Create extends MessagingOperationTypeValue("create") + /** One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. */ + case object Receive extends MessagingOperationTypeValue("receive") /** One or more messages are delivered to or processed by a consumer. */ - case object Deliver extends MessagingOperationValue("process") - + case object Deliver extends MessagingOperationTypeValue("process") /** One or more messages are settled. */ - case object Settle extends MessagingOperationValue("settle") + case object Settle extends MessagingOperationTypeValue("settle") } - - /** Values for [[MessagingRocketmqConsumptionModel]]. - */ + /** + * Values for [[MessagingRocketmqConsumptionModel]]. + */ abstract class MessagingRocketmqConsumptionModelValue(val value: String) object MessagingRocketmqConsumptionModelValue { - /** Clustering consumption model. */ - case object Clustering - extends MessagingRocketmqConsumptionModelValue("clustering") - + case object Clustering extends MessagingRocketmqConsumptionModelValue("clustering") /** Broadcasting consumption model. */ - case object Broadcasting - extends MessagingRocketmqConsumptionModelValue("broadcasting") + case object Broadcasting extends MessagingRocketmqConsumptionModelValue("broadcasting") } - - /** Values for [[MessagingRocketmqMessageType]]. - */ + /** + * Values for [[MessagingRocketmqMessageType]]. + */ abstract class MessagingRocketmqMessageTypeValue(val value: String) object MessagingRocketmqMessageTypeValue { - /** Normal message. */ case object Normal extends MessagingRocketmqMessageTypeValue("normal") - /** FIFO message. */ case object Fifo extends MessagingRocketmqMessageTypeValue("fifo") - /** Delay message. */ case object Delay extends MessagingRocketmqMessageTypeValue("delay") - /** Transaction message. */ - case object Transaction - extends MessagingRocketmqMessageTypeValue("transaction") + case object Transaction extends MessagingRocketmqMessageTypeValue("transaction") } - - /** Values for [[MessagingServicebusDispositionStatus]]. - */ + /** + * Values for [[MessagingServicebusDispositionStatus]]. + */ abstract class MessagingServicebusDispositionStatusValue(val value: String) object MessagingServicebusDispositionStatusValue { - /** Message is completed. */ - case object Complete - extends MessagingServicebusDispositionStatusValue("complete") - + case object Complete extends MessagingServicebusDispositionStatusValue("complete") /** Message is abandoned. */ - case object Abandon - extends MessagingServicebusDispositionStatusValue("abandon") - + case object Abandon extends MessagingServicebusDispositionStatusValue("abandon") /** Message is sent to dead letter queue. */ - case object DeadLetter - extends MessagingServicebusDispositionStatusValue("dead_letter") - + case object DeadLetter extends MessagingServicebusDispositionStatusValue("dead_letter") /** Message is deferred. */ case object Defer extends MessagingServicebusDispositionStatusValue("defer") } - - /** Values for [[MessagingSystem]]. - */ + /** + * Values for [[MessagingSystem]]. + */ abstract class MessagingSystemValue(val value: String) object MessagingSystemValue { - /** Apache ActiveMQ. */ case object Activemq extends MessagingSystemValue("activemq") - /** Amazon Simple Queue Service (SQS). */ case object AwsSqs extends MessagingSystemValue("aws_sqs") - /** Azure Event Grid. */ case object Eventgrid extends MessagingSystemValue("eventgrid") - /** Azure Event Hubs. */ case object Eventhubs extends MessagingSystemValue("eventhubs") - /** Azure Service Bus. */ case object Servicebus extends MessagingSystemValue("servicebus") - /** Google Cloud Pub/Sub. */ case object GcpPubsub extends MessagingSystemValue("gcp_pubsub") - /** Java Message Service. */ case object Jms extends MessagingSystemValue("jms") - /** Apache Kafka. */ case object Kafka extends MessagingSystemValue("kafka") - /** RabbitMQ. */ case object Rabbitmq extends MessagingSystemValue("rabbitmq") - /** Apache RocketMQ. */ case object Rocketmq extends MessagingSystemValue("rocketmq") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/NetExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/NetExperimentalAttributes.scala index 68f450ce8..abbc67585 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/NetExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/NetExperimentalAttributes.scala @@ -22,118 +22,128 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object NetExperimentalAttributes { - /** Deprecated, use `server.address`. - */ + /** + * Deprecated, use `network.local.address`. + */ + @deprecated("Use `network.local.address`", "0.5.0") + val NetHostIp: AttributeKey[String] = string("net.host.ip") + + /** + * Deprecated, use `server.address`. + */ @deprecated("Use `server.address`", "0.5.0") val NetHostName: AttributeKey[String] = string("net.host.name") - /** Deprecated, use `server.port`. - */ + /** + * Deprecated, use `server.port`. + */ @deprecated("Use `server.port`", "0.5.0") val NetHostPort: AttributeKey[Long] = long("net.host.port") - /** Deprecated, use `server.address` on client spans and `client.address` on - * server spans. - */ - @deprecated( - "Use `server.address` on client spans and `client.address` on server spans", - "0.5.0" - ) + /** + * Deprecated, use `network.peer.address`. + */ + @deprecated("Use `network.peer.address`", "0.5.0") + val NetPeerIp: AttributeKey[String] = string("net.peer.ip") + + /** + * Deprecated, use `server.address` on client spans and `client.address` on server spans. + */ + @deprecated("Use `server.address` on client spans and `client.address` on server spans", "0.5.0") val NetPeerName: AttributeKey[String] = string("net.peer.name") - /** Deprecated, use `server.port` on client spans and `client.port` on server - * spans. - */ - @deprecated( - "Use `server.port` on client spans and `client.port` on server spans", - "0.5.0" - ) + /** + * Deprecated, use `server.port` on client spans and `client.port` on server spans. + */ + @deprecated("Use `server.port` on client spans and `client.port` on server spans", "0.5.0") val NetPeerPort: AttributeKey[Long] = long("net.peer.port") - /** Deprecated, use `network.protocol.name`. - */ + /** + * Deprecated, use `network.protocol.name`. + */ @deprecated("Use `network.protocol.name`", "0.5.0") val NetProtocolName: AttributeKey[String] = string("net.protocol.name") - /** Deprecated, use `network.protocol.version`. - */ + /** + * Deprecated, use `network.protocol.version`. + */ @deprecated("Use `network.protocol.version`", "0.5.0") val NetProtocolVersion: AttributeKey[String] = string("net.protocol.version") - /** Deprecated, use `network.transport` and `network.type`. - */ + /** + * Deprecated, use `network.transport` and `network.type`. + */ @deprecated("Use `network.transport` and `network.type`", "0.5.0") val NetSockFamily: AttributeKey[String] = string("net.sock.family") - /** Deprecated, use `network.local.address`. - */ + /** + * Deprecated, use `network.local.address`. + */ @deprecated("Use `network.local.address`", "0.5.0") val NetSockHostAddr: AttributeKey[String] = string("net.sock.host.addr") - /** Deprecated, use `network.local.port`. - */ + /** + * Deprecated, use `network.local.port`. + */ @deprecated("Use `network.local.port`", "0.5.0") val NetSockHostPort: AttributeKey[Long] = long("net.sock.host.port") - /** Deprecated, use `network.peer.address`. - */ + /** + * Deprecated, use `network.peer.address`. + */ @deprecated("Use `network.peer.address`", "0.5.0") val NetSockPeerAddr: AttributeKey[String] = string("net.sock.peer.addr") - /** Deprecated, no replacement at this time. - */ + /** + * Deprecated, no replacement at this time. + */ @deprecated("No replacement at this time", "0.5.0") val NetSockPeerName: AttributeKey[String] = string("net.sock.peer.name") - /** Deprecated, use `network.peer.port`. - */ + /** + * Deprecated, use `network.peer.port`. + */ @deprecated("Use `network.peer.port`", "0.5.0") val NetSockPeerPort: AttributeKey[Long] = long("net.sock.peer.port") - /** Deprecated, use `network.transport`. - */ + /** + * Deprecated, use `network.transport`. + */ @deprecated("Use `network.transport`", "0.5.0") val NetTransport: AttributeKey[String] = string("net.transport") // Enum definitions - - /** Values for [[NetSockFamily]]. - */ + + /** + * Values for [[NetSockFamily]]. + */ @deprecated("Use `network.transport` and `network.type`", "0.5.0") abstract class NetSockFamilyValue(val value: String) @annotation.nowarn("cat=deprecation") object NetSockFamilyValue { - /** IPv4 address. */ case object Inet extends NetSockFamilyValue("inet") - /** IPv6 address. */ case object Inet6 extends NetSockFamilyValue("inet6") - /** Unix domain socket path. */ case object Unix extends NetSockFamilyValue("unix") } - - /** Values for [[NetTransport]]. - */ + /** + * Values for [[NetTransport]]. + */ @deprecated("Use `network.transport`", "0.5.0") abstract class NetTransportValue(val value: String) @annotation.nowarn("cat=deprecation") object NetTransportValue { - /** ip_tcp. */ case object IpTcp extends NetTransportValue("ip_tcp") - /** ip_udp. */ case object IpUdp extends NetTransportValue("ip_udp") - /** Named or anonymous pipe. */ case object Pipe extends NetTransportValue("pipe") - /** In-process communication. */ case object Inproc extends NetTransportValue("inproc") - /** Something else (non IP-based). */ case object Other extends NetTransportValue("other") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/NetworkExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/NetworkExperimentalAttributes.scala index 4e9886eaf..b0176e48e 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/NetworkExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/NetworkExperimentalAttributes.scala @@ -22,279 +22,206 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object NetworkExperimentalAttributes { - /** The ISO 3166-1 alpha-2 2-character country code associated with the mobile - * carrier network. - */ + /** + * The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network. + */ val NetworkCarrierIcc: AttributeKey[String] = string("network.carrier.icc") - /** The mobile carrier country code. - */ + /** + * The mobile carrier country code. + */ val NetworkCarrierMcc: AttributeKey[String] = string("network.carrier.mcc") - /** The mobile carrier network code. - */ + /** + * The mobile carrier network code. + */ val NetworkCarrierMnc: AttributeKey[String] = string("network.carrier.mnc") - /** The name of the mobile carrier. - */ + /** + * The name of the mobile carrier. + */ val NetworkCarrierName: AttributeKey[String] = string("network.carrier.name") - /** This describes more details regarding the connection.type. It may be the - * type of cell technology connection, but it could be used for describing - * details about a wifi connection. - */ - val NetworkConnectionSubtype: AttributeKey[String] = string( - "network.connection.subtype" - ) + /** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ + val NetworkConnectionSubtype: AttributeKey[String] = string("network.connection.subtype") - /** The internet connection type. - */ - val NetworkConnectionType: AttributeKey[String] = string( - "network.connection.type" - ) + /** + * The internet connection type. + */ + val NetworkConnectionType: AttributeKey[String] = string("network.connection.type") - /** The network IO operation direction. - */ + /** + * The network IO operation direction. + */ val NetworkIoDirection: AttributeKey[String] = string("network.io.direction") - /** Local address of the network connection - IP address or Unix domain socket - * name. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkLocalAddress` instead.", - "0.5.0" - ) - val NetworkLocalAddress: AttributeKey[String] = string( - "network.local.address" - ) + /** + * Local address of the network connection - IP address or Unix domain socket name. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkLocalAddress` instead.", "0.5.0") + val NetworkLocalAddress: AttributeKey[String] = string("network.local.address") - /** Local port number of the network connection. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkLocalPort` instead.", - "0.5.0" - ) + /** + * Local port number of the network connection. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkLocalPort` instead.", "0.5.0") val NetworkLocalPort: AttributeKey[Long] = long("network.local.port") - /** Peer address of the network connection - IP address or Unix domain socket - * name. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkPeerAddress` instead.", - "0.5.0" - ) + /** + * Peer address of the network connection - IP address or Unix domain socket name. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkPeerAddress` instead.", "0.5.0") val NetworkPeerAddress: AttributeKey[String] = string("network.peer.address") - /** Peer port number of the network connection. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkPeerPort` instead.", - "0.5.0" - ) + /** + * Peer port number of the network connection. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkPeerPort` instead.", "0.5.0") val NetworkPeerPort: AttributeKey[Long] = long("network.peer.port") - /** OSI application - * layer or non-OSI equivalent. - * - * @note - * - The value SHOULD be normalized to lowercase. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkProtocolName` instead.", - "0.5.0" - ) - val NetworkProtocolName: AttributeKey[String] = string( - "network.protocol.name" - ) - - /** The actual version of the protocol used for network communication. - * - * @note - * - If protocol version is subject to negotiation (for example using ALPN), this - * attribute SHOULD be set to the negotiated version. If the actual - * protocol version is not known, this attribute SHOULD NOT be set. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkProtocolVersion` instead.", - "0.5.0" - ) - val NetworkProtocolVersion: AttributeKey[String] = string( - "network.protocol.version" - ) - - /** OSI transport layer - * or inter-process - * communication method. - * - * @note - * - The value SHOULD be normalized to lowercase. - * - Consider always setting the transport when setting a port number, - * since a port number is ambiguous without knowing the transport. For - * example different processes could be listening on TCP port 12345 and - * UDP port 12345. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkTransport` instead.", - "0.5.0" - ) + /** + * OSI application layer or non-OSI equivalent. + * + * @note + * - The value SHOULD be normalized to lowercase. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkProtocolName` instead.", "0.5.0") + val NetworkProtocolName: AttributeKey[String] = string("network.protocol.name") + + /** + * The actual version of the protocol used for network communication. + * + * @note + * - If protocol version is subject to negotiation (for example using ALPN), this attribute SHOULD be set to the negotiated version. If the actual protocol version is not known, this attribute SHOULD NOT be set. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkProtocolVersion` instead.", "0.5.0") + val NetworkProtocolVersion: AttributeKey[String] = string("network.protocol.version") + + /** + * OSI transport layer or inter-process communication method. + * + * @note + * - The value SHOULD be normalized to lowercase. + * - Consider always setting the transport when setting a port number, since +a port number is ambiguous without knowing the transport. For example +different processes could be listening on TCP port 12345 and UDP port 12345. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkTransport` instead.", "0.5.0") val NetworkTransport: AttributeKey[String] = string("network.transport") - /** OSI network layer or - * non-OSI equivalent. - * - * @note - * - The value SHOULD be normalized to lowercase. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkType` instead.", - "0.5.0" - ) + /** + * OSI network layer or non-OSI equivalent. + * + * @note + * - The value SHOULD be normalized to lowercase. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkType` instead.", "0.5.0") val NetworkType: AttributeKey[String] = string("network.type") // Enum definitions - - /** Values for [[NetworkConnectionSubtype]]. - */ + + /** + * Values for [[NetworkConnectionSubtype]]. + */ abstract class NetworkConnectionSubtypeValue(val value: String) object NetworkConnectionSubtypeValue { - /** GPRS. */ case object Gprs extends NetworkConnectionSubtypeValue("gprs") - /** EDGE. */ case object Edge extends NetworkConnectionSubtypeValue("edge") - /** UMTS. */ case object Umts extends NetworkConnectionSubtypeValue("umts") - /** CDMA. */ case object Cdma extends NetworkConnectionSubtypeValue("cdma") - /** EVDO Rel. 0. */ case object Evdo0 extends NetworkConnectionSubtypeValue("evdo_0") - /** EVDO Rev. A. */ case object EvdoA extends NetworkConnectionSubtypeValue("evdo_a") - /** CDMA2000 1XRTT. */ - case object Cdma20001xrtt - extends NetworkConnectionSubtypeValue("cdma2000_1xrtt") - + case object Cdma20001xrtt extends NetworkConnectionSubtypeValue("cdma2000_1xrtt") /** HSDPA. */ case object Hsdpa extends NetworkConnectionSubtypeValue("hsdpa") - /** HSUPA. */ case object Hsupa extends NetworkConnectionSubtypeValue("hsupa") - /** HSPA. */ case object Hspa extends NetworkConnectionSubtypeValue("hspa") - /** IDEN. */ case object Iden extends NetworkConnectionSubtypeValue("iden") - /** EVDO Rev. B. */ case object EvdoB extends NetworkConnectionSubtypeValue("evdo_b") - /** LTE. */ case object Lte extends NetworkConnectionSubtypeValue("lte") - /** EHRPD. */ case object Ehrpd extends NetworkConnectionSubtypeValue("ehrpd") - /** HSPAP. */ case object Hspap extends NetworkConnectionSubtypeValue("hspap") - /** GSM. */ case object Gsm extends NetworkConnectionSubtypeValue("gsm") - /** TD-SCDMA. */ case object TdScdma extends NetworkConnectionSubtypeValue("td_scdma") - /** IWLAN. */ case object Iwlan extends NetworkConnectionSubtypeValue("iwlan") - /** 5G NR (New Radio). */ case object Nr extends NetworkConnectionSubtypeValue("nr") - /** 5G NRNSA (New Radio Non-Standalone). */ case object Nrnsa extends NetworkConnectionSubtypeValue("nrnsa") - /** LTE CA. */ case object LteCa extends NetworkConnectionSubtypeValue("lte_ca") } - - /** Values for [[NetworkConnectionType]]. - */ + /** + * Values for [[NetworkConnectionType]]. + */ abstract class NetworkConnectionTypeValue(val value: String) object NetworkConnectionTypeValue { - /** wifi. */ case object Wifi extends NetworkConnectionTypeValue("wifi") - /** wired. */ case object Wired extends NetworkConnectionTypeValue("wired") - /** cell. */ case object Cell extends NetworkConnectionTypeValue("cell") - /** unavailable. */ case object Unavailable extends NetworkConnectionTypeValue("unavailable") - /** unknown. */ case object Unknown extends NetworkConnectionTypeValue("unknown") } - - /** Values for [[NetworkIoDirection]]. - */ + /** + * Values for [[NetworkIoDirection]]. + */ abstract class NetworkIoDirectionValue(val value: String) object NetworkIoDirectionValue { - /** transmit. */ case object Transmit extends NetworkIoDirectionValue("transmit") - /** receive. */ case object Receive extends NetworkIoDirectionValue("receive") } - - /** Values for [[NetworkTransport]]. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkTransportValue` instead.", - "0.5.0" - ) + /** + * Values for [[NetworkTransport]]. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkTransportValue` instead.", "0.5.0") abstract class NetworkTransportValue(val value: String) @annotation.nowarn("cat=deprecation") object NetworkTransportValue { - /** TCP. */ case object Tcp extends NetworkTransportValue("tcp") - /** UDP. */ case object Udp extends NetworkTransportValue("udp") - /** Named or anonymous pipe. */ case object Pipe extends NetworkTransportValue("pipe") - /** Unix domain socket. */ case object Unix extends NetworkTransportValue("unix") } - - /** Values for [[NetworkType]]. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkTypeValue` instead.", - "0.5.0" - ) + /** + * Values for [[NetworkType]]. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkTypeValue` instead.", "0.5.0") abstract class NetworkTypeValue(val value: String) @annotation.nowarn("cat=deprecation") object NetworkTypeValue { - /** IPv4. */ case object Ipv4 extends NetworkTypeValue("ipv4") - /** IPv6. */ case object Ipv6 extends NetworkTypeValue("ipv6") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OciExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OciExperimentalAttributes.scala index 63f9634d0..7cee681e2 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OciExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OciExperimentalAttributes.scala @@ -22,18 +22,13 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object OciExperimentalAttributes { - /** The digest of the OCI image manifest. For container images specifically is - * the digest by which the container image is known. - * - * @note - * - Follows OCI - * Image Manifest Specification, and specifically the Digest - * property. An example can be found in Example - * Image Manifest. - */ + /** + * The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known. + * + * @note + * - Follows OCI Image Manifest Specification, and specifically the Digest property. +An example can be found in Example Image Manifest. + */ val OciManifestDigest: AttributeKey[String] = string("oci.manifest.digest") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OpentracingExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OpentracingExperimentalAttributes.scala index a17823770..2c691ee58 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OpentracingExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OpentracingExperimentalAttributes.scala @@ -22,26 +22,24 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object OpentracingExperimentalAttributes { - /** Parent-child Reference type - * - * @note - * - The causal relationship between a child Span and a parent Span. - */ + /** + * Parent-child Reference type + * + * @note + * - The causal relationship between a child Span and a parent Span. + */ val OpentracingRefType: AttributeKey[String] = string("opentracing.ref_type") // Enum definitions - - /** Values for [[OpentracingRefType]]. - */ + + /** + * Values for [[OpentracingRefType]]. + */ abstract class OpentracingRefTypeValue(val value: String) object OpentracingRefTypeValue { - /** The parent Span depends on the child Span in some capacity. */ case object ChildOf extends OpentracingRefTypeValue("child_of") - - /** The parent Span doesn't depend in any way on the result of the child - * Span. - */ + /** The parent Span doesn't depend in any way on the result of the child Span. */ case object FollowsFrom extends OpentracingRefTypeValue("follows_from") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OsExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OsExperimentalAttributes.scala index a1cb9155a..29d696d0e 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OsExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OsExperimentalAttributes.scala @@ -22,67 +22,59 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object OsExperimentalAttributes { - /** Unique identifier for a particular build or compilation of the operating - * system. - */ + /** + * Unique identifier for a particular build or compilation of the operating system. + */ val OsBuildId: AttributeKey[String] = string("os.build_id") - /** Human readable (not intended to be parsed) OS version information, like - * e.g. reported by `ver` or `lsb_release -a` commands. - */ + /** + * Human readable (not intended to be parsed) OS version information, like e.g. reported by `ver` or `lsb_release -a` commands. + */ val OsDescription: AttributeKey[String] = string("os.description") - /** Human readable operating system name. - */ + /** + * Human readable operating system name. + */ val OsName: AttributeKey[String] = string("os.name") - /** The operating system type. - */ + /** + * The operating system type. + */ val OsType: AttributeKey[String] = string("os.type") - /** The version string of the operating system as defined in Version Attributes. - */ + /** + * The version string of the operating system as defined in Version Attributes. + */ val OsVersion: AttributeKey[String] = string("os.version") // Enum definitions - - /** Values for [[OsType]]. - */ + + /** + * Values for [[OsType]]. + */ abstract class OsTypeValue(val value: String) object OsTypeValue { - /** Microsoft Windows. */ case object Windows extends OsTypeValue("windows") - /** Linux. */ case object Linux extends OsTypeValue("linux") - /** Apple Darwin. */ case object Darwin extends OsTypeValue("darwin") - /** FreeBSD. */ case object Freebsd extends OsTypeValue("freebsd") - /** NetBSD. */ case object Netbsd extends OsTypeValue("netbsd") - /** OpenBSD. */ case object Openbsd extends OsTypeValue("openbsd") - /** DragonFly BSD. */ case object Dragonflybsd extends OsTypeValue("dragonflybsd") - /** HP-UX (Hewlett Packard Unix). */ case object Hpux extends OsTypeValue("hpux") - /** AIX (Advanced Interactive eXecutive). */ case object Aix extends OsTypeValue("aix") - /** SunOS, Oracle Solaris. */ case object Solaris extends OsTypeValue("solaris") - /** IBM z/OS. */ case object ZOs extends OsTypeValue("z_os") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OtelExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OtelExperimentalAttributes.scala index d134b4315..c9b95f119 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OtelExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OtelExperimentalAttributes.scala @@ -22,71 +22,54 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object OtelExperimentalAttributes { - /** None - */ + /** + * None + */ @deprecated("None", "0.5.0") val OtelLibraryName: AttributeKey[String] = string("otel.library.name") - /** None - */ + /** + * None + */ @deprecated("None", "0.5.0") val OtelLibraryVersion: AttributeKey[String] = string("otel.library.version") - /** The name of the instrumentation scope - (`InstrumentationScope.Name` in - * OTLP). - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelScopeName` instead.", - "0.5.0" - ) + /** + * The name of the instrumentation scope - (`InstrumentationScope.Name` in OTLP). + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelScopeName` instead.", "0.5.0") val OtelScopeName: AttributeKey[String] = string("otel.scope.name") - /** The version of the instrumentation scope - (`InstrumentationScope.Version` - * in OTLP). - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelScopeVersion` instead.", - "0.5.0" - ) + /** + * The version of the instrumentation scope - (`InstrumentationScope.Version` in OTLP). + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelScopeVersion` instead.", "0.5.0") val OtelScopeVersion: AttributeKey[String] = string("otel.scope.version") - /** Name of the code, either "OK" or "ERROR". MUST NOT be - * set if the status code is UNSET. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelStatusCode` instead.", - "0.5.0" - ) + /** + * Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelStatusCode` instead.", "0.5.0") val OtelStatusCode: AttributeKey[String] = string("otel.status_code") - /** Description of the Status if it has a value, otherwise not set. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelStatusDescription` instead.", - "0.5.0" - ) - val OtelStatusDescription: AttributeKey[String] = string( - "otel.status_description" - ) + /** + * Description of the Status if it has a value, otherwise not set. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelStatusDescription` instead.", "0.5.0") + val OtelStatusDescription: AttributeKey[String] = string("otel.status_description") // Enum definitions - - /** Values for [[OtelStatusCode]]. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelStatusCodeValue` instead.", - "0.5.0" - ) + + /** + * Values for [[OtelStatusCode]]. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelStatusCodeValue` instead.", "0.5.0") abstract class OtelStatusCodeValue(val value: String) @annotation.nowarn("cat=deprecation") object OtelStatusCodeValue { - - /** The operation has been validated by an Application developer or Operator - * to have completed successfully. - */ + /** The operation has been validated by an Application developer or Operator to have completed successfully. */ case object Ok extends OtelStatusCodeValue("OK") - /** The operation contains an error. */ case object Error extends OtelStatusCodeValue("ERROR") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OtherExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OtherExperimentalAttributes.scala index c37f979f4..56ee352f7 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OtherExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OtherExperimentalAttributes.scala @@ -22,21 +22,24 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object OtherExperimentalAttributes { - /** The state of a connection in the pool - */ + /** + * Deprecated, use `db.client.connections.state` instead. + */ + @deprecated("Use `db.client.connections.state` instead", "0.5.0") val State: AttributeKey[String] = string("state") // Enum definitions - - /** Values for [[State]]. - */ + + /** + * Values for [[State]]. + */ + @deprecated("Use `db.client.connections.state` instead", "0.5.0") abstract class StateValue(val value: String) + @annotation.nowarn("cat=deprecation") object StateValue { - /** idle. */ case object Idle extends StateValue("idle") - /** used. */ case object Used extends StateValue("used") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/PeerExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/PeerExperimentalAttributes.scala index 7cb3fbd55..326551532 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/PeerExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/PeerExperimentalAttributes.scala @@ -22,10 +22,9 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object PeerExperimentalAttributes { - /** The `service.name` of the - * remote service. SHOULD be equal to the actual `service.name` resource - * attribute of the remote service if any. - */ + /** + * The `service.name` of the remote service. SHOULD be equal to the actual `service.name` resource attribute of the remote service if any. + */ val PeerService: AttributeKey[String] = string("peer.service") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/PoolExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/PoolExperimentalAttributes.scala index ba00528b6..bcac2ac49 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/PoolExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/PoolExperimentalAttributes.scala @@ -22,11 +22,10 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object PoolExperimentalAttributes { - /** The name of the connection pool; unique within the instrumented - * application. In case the connection pool implementation doesn't provide a - * name, instrumentation should use a combination of `server.address` and - * `server.port` attributes formatted as `server.address:server.port`. - */ + /** + * Deprecated, use `db.client.connections.pool.name` instead. + */ + @deprecated("Use `db.client.connections.pool.name` instead", "0.5.0") val PoolName: AttributeKey[String] = string("pool.name") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ProcessExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ProcessExperimentalAttributes.scala index 315c907f8..d0687e78d 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ProcessExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ProcessExperimentalAttributes.scala @@ -22,135 +22,176 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ProcessExperimentalAttributes { - /** The command used to launch the process (i.e. the command name). On Linux - * based systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On - * Windows, can be set to the first parameter extracted from - * `GetCommandLineW`. - */ + /** + * The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can be set to the first parameter extracted from `GetCommandLineW`. + */ val ProcessCommand: AttributeKey[String] = string("process.command") - /** All the command arguments (including the command/executable itself) as - * received by the process. On Linux-based systems (and some other Unixoid - * systems supporting procfs), can be set according to the list of - * null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based - * executables, this would be the full argv vector passed to `main`. - */ - val ProcessCommandArgs: AttributeKey[Seq[String]] = stringSeq( - "process.command_args" - ) - - /** The full command used to launch the process as a single string - * representing the full command. On Windows, can be set to the result of - * `GetCommandLineW`. Do not set this if you have to assemble it just for - * monitoring; use `process.command_args` instead. - */ + /** + * All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. + */ + val ProcessCommandArgs: AttributeKey[Seq[String]] = stringSeq("process.command_args") + + /** + * The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. Do not set this if you have to assemble it just for monitoring; use `process.command_args` instead. + */ val ProcessCommandLine: AttributeKey[String] = string("process.command_line") - /** Specifies whether the context switches for this data point were voluntary - * or involuntary. - */ - val ProcessContextSwitchType: AttributeKey[String] = string( - "process.context_switch_type" - ) - - /** The CPU state for this data point. A process SHOULD be characterized - * either by data points with no `state` labels, or only - * data points with `state` labels. - */ + /** + * Specifies whether the context switches for this data point were voluntary or involuntary. + */ + val ProcessContextSwitchType: AttributeKey[String] = string("process.context_switch_type") + + /** + * The CPU state of the process. + */ val ProcessCpuState: AttributeKey[String] = string("process.cpu.state") - /** The name of the process executable. On Linux based systems, can be set to - * the `Name` in `proc/[pid]/status`. On Windows, can be set to the base name - * of `GetProcessImageFileNameW`. - */ - val ProcessExecutableName: AttributeKey[String] = string( - "process.executable.name" - ) - - /** The full path to the process executable. On Linux based systems, can be - * set to the target of `proc/[pid]/exe`. On Windows, can be set to the - * result of `GetProcessImageFileNameW`. - */ - val ProcessExecutablePath: AttributeKey[String] = string( - "process.executable.path" - ) - - /** The username of the user that owns the process. - */ + /** + * The date and time the process was created, in ISO 8601 format. + */ + val ProcessCreationTime: AttributeKey[String] = string("process.creation.time") + + /** + * The name of the process executable. On Linux based systems, can be set to the `Name` in `proc/[pid]/status`. On Windows, can be set to the base name of `GetProcessImageFileNameW`. + */ + val ProcessExecutableName: AttributeKey[String] = string("process.executable.name") + + /** + * The full path to the process executable. On Linux based systems, can be set to the target of `proc/[pid]/exe`. On Windows, can be set to the result of `GetProcessImageFileNameW`. + */ + val ProcessExecutablePath: AttributeKey[String] = string("process.executable.path") + + /** + * The exit code of the process. + */ + val ProcessExitCode: AttributeKey[Long] = long("process.exit.code") + + /** + * The date and time the process exited, in ISO 8601 format. + */ + val ProcessExitTime: AttributeKey[String] = string("process.exit.time") + + /** + * The PID of the process's group leader. This is also the process group ID (PGID) of the process. + */ + val ProcessGroupLeaderPid: AttributeKey[Long] = long("process.group_leader.pid") + + /** + * Whether the process is connected to an interactive shell. + */ + val ProcessInteractive: AttributeKey[Boolean] = boolean("process.interactive") + + /** + * The username of the user that owns the process. + */ val ProcessOwner: AttributeKey[String] = string("process.owner") - /** The type of page fault for this data point. Type `major` is for major/hard - * page faults, and `minor` is for minor/soft page faults. - */ - val ProcessPagingFaultType: AttributeKey[String] = string( - "process.paging.fault_type" - ) + /** + * The type of page fault for this data point. Type `major` is for major/hard page faults, and `minor` is for minor/soft page faults. + */ + val ProcessPagingFaultType: AttributeKey[String] = string("process.paging.fault_type") - /** Parent Process identifier (PPID). - */ + /** + * Parent Process identifier (PPID). + */ val ProcessParentPid: AttributeKey[Long] = long("process.parent_pid") - /** Process identifier (PID). - */ + /** + * Process identifier (PID). + */ val ProcessPid: AttributeKey[Long] = long("process.pid") - /** An additional description about the runtime of the process, for example a - * specific vendor customization of the runtime environment. - */ - val ProcessRuntimeDescription: AttributeKey[String] = string( - "process.runtime.description" - ) + /** + * The real user ID (RUID) of the process. + */ + val ProcessRealUserId: AttributeKey[Long] = long("process.real_user.id") + + /** + * The username of the real user of the process. + */ + val ProcessRealUserName: AttributeKey[String] = string("process.real_user.name") + + /** + * An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. + */ + val ProcessRuntimeDescription: AttributeKey[String] = string("process.runtime.description") - /** The name of the runtime of this process. For compiled native binaries, - * this SHOULD be the name of the compiler. - */ + /** + * The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler. + */ val ProcessRuntimeName: AttributeKey[String] = string("process.runtime.name") - /** The version of the runtime of this process, as returned by the runtime - * without modification. - */ - val ProcessRuntimeVersion: AttributeKey[String] = string( - "process.runtime.version" - ) + /** + * The version of the runtime of this process, as returned by the runtime without modification. + */ + val ProcessRuntimeVersion: AttributeKey[String] = string("process.runtime.version") + + /** + * The saved user ID (SUID) of the process. + */ + val ProcessSavedUserId: AttributeKey[Long] = long("process.saved_user.id") + + /** + * The username of the saved user. + */ + val ProcessSavedUserName: AttributeKey[String] = string("process.saved_user.name") + + /** + * The PID of the process's session leader. This is also the session ID (SID) of the process. + */ + val ProcessSessionLeaderPid: AttributeKey[Long] = long("process.session_leader.pid") + + /** + * The effective user ID (EUID) of the process. + */ + val ProcessUserId: AttributeKey[Long] = long("process.user.id") + + /** + * The username of the effective user of the process. + */ + val ProcessUserName: AttributeKey[String] = string("process.user.name") + + /** + * Virtual process identifier. + * + * @note + * - The process ID within a PID namespace. This is not necessarily unique across all processes on the host but it is unique within the process namespace that the process exists within. + */ + val ProcessVpid: AttributeKey[Long] = long("process.vpid") // Enum definitions - - /** Values for [[ProcessContextSwitchType]]. - */ + + /** + * Values for [[ProcessContextSwitchType]]. + */ abstract class ProcessContextSwitchTypeValue(val value: String) object ProcessContextSwitchTypeValue { - /** voluntary. */ case object Voluntary extends ProcessContextSwitchTypeValue("voluntary") - /** involuntary. */ case object Involuntary extends ProcessContextSwitchTypeValue("involuntary") } - - /** Values for [[ProcessCpuState]]. - */ + /** + * Values for [[ProcessCpuState]]. + */ abstract class ProcessCpuStateValue(val value: String) object ProcessCpuStateValue { - /** system. */ case object System extends ProcessCpuStateValue("system") - /** user. */ case object User extends ProcessCpuStateValue("user") - /** wait. */ case object Wait extends ProcessCpuStateValue("wait") } - - /** Values for [[ProcessPagingFaultType]]. - */ + /** + * Values for [[ProcessPagingFaultType]]. + */ abstract class ProcessPagingFaultTypeValue(val value: String) object ProcessPagingFaultTypeValue { - /** major. */ case object Major extends ProcessPagingFaultTypeValue("major") - /** minor. */ case object Minor extends ProcessPagingFaultTypeValue("minor") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/RpcExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/RpcExperimentalAttributes.scala index 4e85b3709..1dd2e49b2 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/RpcExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/RpcExperimentalAttributes.scala @@ -22,264 +22,216 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object RpcExperimentalAttributes { - /** The error - * codes of the Connect request. Error codes are always string values. - */ - val RpcConnectRpcErrorCode: AttributeKey[String] = string( - "rpc.connect_rpc.error_code" - ) - - /** Connect request metadata, `` being the normalized Connect Metadata - * key (lowercase), the value being the metadata values. - * - * @note - * - Instrumentations SHOULD require an explicit configuration of which - * metadata values are to be captured. Including all request metadata - * values can be a security risk - explicit configuration helps avoid - * leaking sensitive information. - */ - val RpcConnectRpcRequestMetadata: AttributeKey[Seq[String]] = stringSeq( - "rpc.connect_rpc.request.metadata" - ) - - /** Connect response metadata, `` being the normalized Connect Metadata - * key (lowercase), the value being the metadata values. - * - * @note - * - Instrumentations SHOULD require an explicit configuration of which - * metadata values are to be captured. Including all response metadata - * values can be a security risk - explicit configuration helps avoid - * leaking sensitive information. - */ - val RpcConnectRpcResponseMetadata: AttributeKey[Seq[String]] = stringSeq( - "rpc.connect_rpc.response.metadata" - ) - - /** gRPC request metadata, `` being the normalized gRPC Metadata key - * (lowercase), the value being the metadata values. - * - * @note - * - Instrumentations SHOULD require an explicit configuration of which - * metadata values are to be captured. Including all request metadata - * values can be a security risk - explicit configuration helps avoid - * leaking sensitive information. - */ - val RpcGrpcRequestMetadata: AttributeKey[Seq[String]] = stringSeq( - "rpc.grpc.request.metadata" - ) - - /** gRPC response metadata, `` being the normalized gRPC Metadata key - * (lowercase), the value being the metadata values. - * - * @note - * - Instrumentations SHOULD require an explicit configuration of which - * metadata values are to be captured. Including all response metadata - * values can be a security risk - explicit configuration helps avoid - * leaking sensitive information. - */ - val RpcGrpcResponseMetadata: AttributeKey[Seq[String]] = stringSeq( - "rpc.grpc.response.metadata" - ) - - /** The numeric - * status code of the gRPC request. - */ + /** + * The error codes of the Connect request. Error codes are always string values. + */ + val RpcConnectRpcErrorCode: AttributeKey[String] = string("rpc.connect_rpc.error_code") + + /** + * Connect request metadata, `` being the normalized Connect Metadata key (lowercase), the value being the metadata values. + * + * @note + * - Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information. + */ + val RpcConnectRpcRequestMetadata: AttributeKey[Seq[String]] = stringSeq("rpc.connect_rpc.request.metadata") + + /** + * Connect response metadata, `` being the normalized Connect Metadata key (lowercase), the value being the metadata values. + * + * @note + * - Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information. + */ + val RpcConnectRpcResponseMetadata: AttributeKey[Seq[String]] = stringSeq("rpc.connect_rpc.response.metadata") + + /** + * gRPC request metadata, `` being the normalized gRPC Metadata key (lowercase), the value being the metadata values. + * + * @note + * - Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information. + */ + val RpcGrpcRequestMetadata: AttributeKey[Seq[String]] = stringSeq("rpc.grpc.request.metadata") + + /** + * gRPC response metadata, `` being the normalized gRPC Metadata key (lowercase), the value being the metadata values. + * + * @note + * - Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information. + */ + val RpcGrpcResponseMetadata: AttributeKey[Seq[String]] = stringSeq("rpc.grpc.response.metadata") + + /** + * The numeric status code of the gRPC request. + */ val RpcGrpcStatusCode: AttributeKey[Long] = long("rpc.grpc.status_code") - /** `error.code` property of response if it is an error response. - */ + /** + * `error.code` property of response if it is an error response. + */ val RpcJsonrpcErrorCode: AttributeKey[Long] = long("rpc.jsonrpc.error_code") - /** `error.message` property of response if it is an error response. - */ - val RpcJsonrpcErrorMessage: AttributeKey[String] = string( - "rpc.jsonrpc.error_message" - ) + /** + * `error.message` property of response if it is an error response. + */ + val RpcJsonrpcErrorMessage: AttributeKey[String] = string("rpc.jsonrpc.error_message") - /** `id` property of request or response. Since protocol allows id to be int, - * string, `null` or missing (for notifications), value is expected to be - * cast to string for simplicity. Use empty string in case of `null` value. - * Omit entirely if this is a notification. - */ - val RpcJsonrpcRequestId: AttributeKey[String] = string( - "rpc.jsonrpc.request_id" - ) + /** + * `id` property of request or response. Since protocol allows id to be int, string, `null` or missing (for notifications), value is expected to be cast to string for simplicity. Use empty string in case of `null` value. Omit entirely if this is a notification. + */ + val RpcJsonrpcRequestId: AttributeKey[String] = string("rpc.jsonrpc.request_id") - /** Protocol version as in `jsonrpc` property of request/response. Since - * JSON-RPC 1.0 doesn't specify this, the value can be omitted. - */ + /** + * Protocol version as in `jsonrpc` property of request/response. Since JSON-RPC 1.0 doesn't specify this, the value can be omitted. + */ val RpcJsonrpcVersion: AttributeKey[String] = string("rpc.jsonrpc.version") - /** The name of the (logical) method being called, must be equal to the method - * part in the span name. - * - * @note - * - This is the logical name of the method from the RPC interface - * perspective, which can be different from the name of any implementing - * method/function. The `code.function` attribute may be used to store - * the latter (e.g., method actually executing the call on the server - * side, RPC client stub method on the client side). - */ + /** + * Compressed size of the message in bytes. + */ + val RpcMessageCompressedSize: AttributeKey[Long] = long("rpc.message.compressed_size") + + /** + * MUST be calculated as two different counters starting from `1` one for sent messages and one for received message. + * + * @note + * - This way we guarantee that the values will be consistent between different implementations. + */ + val RpcMessageId: AttributeKey[Long] = long("rpc.message.id") + + /** + * Whether this is a received or sent message. + */ + val RpcMessageType: AttributeKey[String] = string("rpc.message.type") + + /** + * Uncompressed size of the message in bytes. + */ + val RpcMessageUncompressedSize: AttributeKey[Long] = long("rpc.message.uncompressed_size") + + /** + * The name of the (logical) method being called, must be equal to the method part in the span name. + * + * @note + * - This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The `code.function` attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side). + */ val RpcMethod: AttributeKey[String] = string("rpc.method") - /** The full (logical) name of the service being called, including its package - * name, if applicable. - * - * @note - * - This is the logical name of the service from the RPC interface - * perspective, which can be different from the name of any implementing - * class. The `code.namespace` attribute may be used to store the latter - * (despite the attribute name, it may include a class name; e.g., class - * with method actually executing the call on the server side, RPC client - * stub class on the client side). - */ + /** + * The full (logical) name of the service being called, including its package name, if applicable. + * + * @note + * - This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The `code.namespace` attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side). + */ val RpcService: AttributeKey[String] = string("rpc.service") - /** A string identifying the remoting system. See below for a list of - * well-known identifiers. - */ + /** + * A string identifying the remoting system. See below for a list of well-known identifiers. + */ val RpcSystem: AttributeKey[String] = string("rpc.system") // Enum definitions - - /** Values for [[RpcConnectRpcErrorCode]]. - */ + + /** + * Values for [[RpcConnectRpcErrorCode]]. + */ abstract class RpcConnectRpcErrorCodeValue(val value: String) object RpcConnectRpcErrorCodeValue { - /** cancelled. */ case object Cancelled extends RpcConnectRpcErrorCodeValue("cancelled") - /** unknown. */ case object Unknown extends RpcConnectRpcErrorCodeValue("unknown") - /** invalid_argument. */ - case object InvalidArgument - extends RpcConnectRpcErrorCodeValue("invalid_argument") - + case object InvalidArgument extends RpcConnectRpcErrorCodeValue("invalid_argument") /** deadline_exceeded. */ - case object DeadlineExceeded - extends RpcConnectRpcErrorCodeValue("deadline_exceeded") - + case object DeadlineExceeded extends RpcConnectRpcErrorCodeValue("deadline_exceeded") /** not_found. */ case object NotFound extends RpcConnectRpcErrorCodeValue("not_found") - /** already_exists. */ - case object AlreadyExists - extends RpcConnectRpcErrorCodeValue("already_exists") - + case object AlreadyExists extends RpcConnectRpcErrorCodeValue("already_exists") /** permission_denied. */ - case object PermissionDenied - extends RpcConnectRpcErrorCodeValue("permission_denied") - + case object PermissionDenied extends RpcConnectRpcErrorCodeValue("permission_denied") /** resource_exhausted. */ - case object ResourceExhausted - extends RpcConnectRpcErrorCodeValue("resource_exhausted") - + case object ResourceExhausted extends RpcConnectRpcErrorCodeValue("resource_exhausted") /** failed_precondition. */ - case object FailedPrecondition - extends RpcConnectRpcErrorCodeValue("failed_precondition") - + case object FailedPrecondition extends RpcConnectRpcErrorCodeValue("failed_precondition") /** aborted. */ case object Aborted extends RpcConnectRpcErrorCodeValue("aborted") - /** out_of_range. */ case object OutOfRange extends RpcConnectRpcErrorCodeValue("out_of_range") - /** unimplemented. */ - case object Unimplemented - extends RpcConnectRpcErrorCodeValue("unimplemented") - + case object Unimplemented extends RpcConnectRpcErrorCodeValue("unimplemented") /** internal. */ case object Internal extends RpcConnectRpcErrorCodeValue("internal") - /** unavailable. */ case object Unavailable extends RpcConnectRpcErrorCodeValue("unavailable") - /** data_loss. */ case object DataLoss extends RpcConnectRpcErrorCodeValue("data_loss") - /** unauthenticated. */ - case object Unauthenticated - extends RpcConnectRpcErrorCodeValue("unauthenticated") + case object Unauthenticated extends RpcConnectRpcErrorCodeValue("unauthenticated") } - - /** Values for [[RpcGrpcStatusCode]]. - */ + /** + * Values for [[RpcGrpcStatusCode]]. + */ abstract class RpcGrpcStatusCodeValue(val value: Long) object RpcGrpcStatusCodeValue { - /** OK. */ case object Ok extends RpcGrpcStatusCodeValue(0) - /** CANCELLED. */ case object Cancelled extends RpcGrpcStatusCodeValue(1) - /** UNKNOWN. */ case object Unknown extends RpcGrpcStatusCodeValue(2) - /** INVALID_ARGUMENT. */ case object InvalidArgument extends RpcGrpcStatusCodeValue(3) - /** DEADLINE_EXCEEDED. */ case object DeadlineExceeded extends RpcGrpcStatusCodeValue(4) - /** NOT_FOUND. */ case object NotFound extends RpcGrpcStatusCodeValue(5) - /** ALREADY_EXISTS. */ case object AlreadyExists extends RpcGrpcStatusCodeValue(6) - /** PERMISSION_DENIED. */ case object PermissionDenied extends RpcGrpcStatusCodeValue(7) - /** RESOURCE_EXHAUSTED. */ case object ResourceExhausted extends RpcGrpcStatusCodeValue(8) - /** FAILED_PRECONDITION. */ case object FailedPrecondition extends RpcGrpcStatusCodeValue(9) - /** ABORTED. */ case object Aborted extends RpcGrpcStatusCodeValue(10) - /** OUT_OF_RANGE. */ case object OutOfRange extends RpcGrpcStatusCodeValue(11) - /** UNIMPLEMENTED. */ case object Unimplemented extends RpcGrpcStatusCodeValue(12) - /** INTERNAL. */ case object Internal extends RpcGrpcStatusCodeValue(13) - /** UNAVAILABLE. */ case object Unavailable extends RpcGrpcStatusCodeValue(14) - /** DATA_LOSS. */ case object DataLoss extends RpcGrpcStatusCodeValue(15) - /** UNAUTHENTICATED. */ case object Unauthenticated extends RpcGrpcStatusCodeValue(16) } - - /** Values for [[RpcSystem]]. - */ + /** + * Values for [[RpcMessageType]]. + */ + abstract class RpcMessageTypeValue(val value: String) + object RpcMessageTypeValue { + /** sent. */ + case object Sent extends RpcMessageTypeValue("SENT") + /** received. */ + case object Received extends RpcMessageTypeValue("RECEIVED") + } + /** + * Values for [[RpcSystem]]. + */ abstract class RpcSystemValue(val value: String) object RpcSystemValue { - /** gRPC. */ case object Grpc extends RpcSystemValue("grpc") - /** Java RMI. */ case object JavaRmi extends RpcSystemValue("java_rmi") - /** .NET WCF. */ case object DotnetWcf extends RpcSystemValue("dotnet_wcf") - /** Apache Dubbo. */ case object ApacheDubbo extends RpcSystemValue("apache_dubbo") - /** Connect RPC. */ case object ConnectRpc extends RpcSystemValue("connect_rpc") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ServerExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ServerExperimentalAttributes.scala index 4131bcdd1..4c17d516d 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ServerExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ServerExperimentalAttributes.scala @@ -22,31 +22,22 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ServerExperimentalAttributes { - /** Server domain name if available without reverse DNS lookup; otherwise, IP - * address or Unix domain socket name. - * - * @note - * - When observed from the client side, and when communicating through an - * intermediary, `server.address` SHOULD represent the server address - * behind any intermediaries, for example proxies, if it's available. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.ServerAttributes.ServerAddress` instead.", - "0.5.0" - ) + /** + * Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. + * + * @note + * - When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.ServerAttributes.ServerAddress` instead.", "0.5.0") val ServerAddress: AttributeKey[String] = string("server.address") - /** Server port number. - * - * @note - * - When observed from the client side, and when communicating through an - * intermediary, `server.port` SHOULD represent the server port behind - * any intermediaries, for example proxies, if it's available. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.ServerAttributes.ServerPort` instead.", - "0.5.0" - ) + /** + * Server port number. + * + * @note + * - When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.ServerAttributes.ServerPort` instead.", "0.5.0") val ServerPort: AttributeKey[Long] = long("server.port") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ServiceExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ServiceExperimentalAttributes.scala index 1faa35334..f86b3fa64 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ServiceExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ServiceExperimentalAttributes.scala @@ -22,83 +22,56 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ServiceExperimentalAttributes { - /** The string ID of the service instance. - * - * @note - * - MUST be unique for each instance of the same - * `service.namespace,service.name` pair (in other words - * `service.namespace,service.name,service.instance.id` triplet MUST be - * globally unique). The ID helps to distinguish instances of the same - * service that exist at the same time (e.g. instances of a horizontally - * scaled service). - * - Implementations, such as SDKs, are recommended to generate a random - * Version 1 or Version 4 RFC 4122 UUID, but are - * free to use an inherent unique ID as the source of this value if - * stability is desirable. In that case, the ID SHOULD be used as source - * of a UUID Version 5 and SHOULD use the following UUID as the - * namespace: `4d63009a-8d0f-11ee-aad7-4c796ed8e320`. - * - UUIDs are typically recommended, as only an opaque value for the - * purposes of identifying a service instance is needed. Similar to what - * can be seen in the man page for the `/etc/machine-id` - * file, the underlying data, such as pod name and namespace should be - * treated as confidential, being the user's choice to expose it or not - * via another resource attribute. - * - For applications running behind an application server (like unicorn), - * we do not recommend using one identifier for all processes - * participating in the application. Instead, it's recommended each - * division (e.g. a worker thread in unicorn) to have its own - * instance.id. - * - It's not recommended for a Collector to set `service.instance.id` if - * it can't unambiguously determine the service instance that is - * generating that telemetry. For instance, creating an UUID based on - * `pod.name` will likely be wrong, as the Collector might not know from - * which container within that pod the telemetry originated. However, - * Collectors can set the `service.instance.id` if they can unambiguously - * determine the service instance for that telemetry. This is typically - * the case for scraping receivers, as they know the target address and - * port. - */ + /** + * The string ID of the service instance. + * + * @note + * - MUST be unique for each instance of the same `service.namespace,service.name` pair (in other words +`service.namespace,service.name,service.instance.id` triplet MUST be globally unique). The ID helps to +distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled +service). + * - Implementations, such as SDKs, are recommended to generate a random Version 1 or Version 4 RFC +4122 UUID, but are free to use an inherent unique ID as the source of +this value if stability is desirable. In that case, the ID SHOULD be used as source of a UUID Version 5 and +SHOULD use the following UUID as the namespace: `4d63009a-8d0f-11ee-aad7-4c796ed8e320`. + * - UUIDs are typically recommended, as only an opaque value for the purposes of identifying a service instance is +needed. Similar to what can be seen in the man page for the +`/etc/machine-id` file, the underlying +data, such as pod name and namespace should be treated as confidential, being the user's choice to expose it +or not via another resource attribute. + * - For applications running behind an application server (like unicorn), we do not recommend using one identifier +for all processes participating in the application. Instead, it's recommended each division (e.g. a worker +thread in unicorn) to have its own instance.id. + * - It's not recommended for a Collector to set `service.instance.id` if it can't unambiguously determine the +service instance that is generating that telemetry. For instance, creating an UUID based on `pod.name` will +likely be wrong, as the Collector might not know from which container within that pod the telemetry originated. +However, Collectors can set the `service.instance.id` if they can unambiguously determine the service instance +for that telemetry. This is typically the case for scraping receivers, as they know the target address and +port. + */ val ServiceInstanceId: AttributeKey[String] = string("service.instance.id") - /** Logical name of the service. - * - * @note - * - MUST be the same for all instances of horizontally scaled services. If - * the value was not specified, SDKs MUST fallback to `unknown_service:` - * concatenated with `process.executable.name`, e.g. - * `unknown_service:bash`. If `process.executable.name` is not available, - * the value MUST be set to `unknown_service`. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.ServiceAttributes.ServiceName` instead.", - "0.5.0" - ) + /** + * Logical name of the service. + * + * @note + * - MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to `unknown_service:` concatenated with `process.executable.name`, e.g. `unknown_service:bash`. If `process.executable.name` is not available, the value MUST be set to `unknown_service`. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.ServiceAttributes.ServiceName` instead.", "0.5.0") val ServiceName: AttributeKey[String] = string("service.name") - /** A namespace for `service.name`. - * - * @note - * - A string value having a meaning that helps to distinguish a group of - * services, for example the team name that owns a group of services. - * `service.name` is expected to be unique within the same namespace. If - * `service.namespace` is not specified in the Resource then - * `service.name` is expected to be unique for all services that have no - * explicit namespace defined (so the empty/unspecified namespace is - * simply one more valid namespace). Zero-length namespace string is - * assumed equal to unspecified namespace. - */ + /** + * A namespace for `service.name`. + * + * @note + * - A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. `service.name` is expected to be unique within the same namespace. If `service.namespace` is not specified in the Resource then `service.name` is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace. + */ val ServiceNamespace: AttributeKey[String] = string("service.namespace") - /** The version string of the service API or implementation. The format is not - * defined by these conventions. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.ServiceAttributes.ServiceVersion` instead.", - "0.5.0" - ) + /** + * The version string of the service API or implementation. The format is not defined by these conventions. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.ServiceAttributes.ServiceVersion` instead.", "0.5.0") val ServiceVersion: AttributeKey[String] = string("service.version") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SessionExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SessionExperimentalAttributes.scala index 1ca888aa9..eed805fd8 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SessionExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SessionExperimentalAttributes.scala @@ -22,12 +22,14 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object SessionExperimentalAttributes { - /** A unique id to identify a session. - */ + /** + * A unique id to identify a session. + */ val SessionId: AttributeKey[String] = string("session.id") - /** The previous `session.id` for this user, when known. - */ + /** + * The previous `session.id` for this user, when known. + */ val SessionPreviousId: AttributeKey[String] = string("session.previous_id") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SourceExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SourceExperimentalAttributes.scala index 8c9abb1ef..179079cd1 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SourceExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SourceExperimentalAttributes.scala @@ -22,19 +22,17 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object SourceExperimentalAttributes { - /** Source address - domain name if available without reverse DNS lookup; - * otherwise, IP address or Unix domain socket name. - * - * @note - * - When observed from the destination side, and when communicating - * through an intermediary, `source.address` SHOULD represent the source - * address behind any intermediaries, for example proxies, if it's - * available. - */ + /** + * Source address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. + * + * @note + * - When observed from the destination side, and when communicating through an intermediary, `source.address` SHOULD represent the source address behind any intermediaries, for example proxies, if it's available. + */ val SourceAddress: AttributeKey[String] = string("source.address") - /** Source port number - */ + /** + * Source port number + */ val SourcePort: AttributeKey[Long] = long("source.port") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SystemExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SystemExperimentalAttributes.scala index 132373370..4ffe6fcf4 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SystemExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SystemExperimentalAttributes.scala @@ -22,285 +22,233 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object SystemExperimentalAttributes { - /** The logical CPU number [0..n-1] - */ - val SystemCpuLogicalNumber: AttributeKey[Long] = long( - "system.cpu.logical_number" - ) - - /** The CPU state for this data point. A system's CPU SHOULD be characterized - * either by data points with no `state` labels, or only - * data points with `state` labels. - */ + /** + * The logical CPU number [0..n-1] + */ + val SystemCpuLogicalNumber: AttributeKey[Long] = long("system.cpu.logical_number") + + /** + * The state of the CPU + */ val SystemCpuState: AttributeKey[String] = string("system.cpu.state") - /** The device identifier - */ + /** + * The device identifier + */ val SystemDevice: AttributeKey[String] = string("system.device") - /** The filesystem mode - */ - val SystemFilesystemMode: AttributeKey[String] = string( - "system.filesystem.mode" - ) - - /** The filesystem mount path - */ - val SystemFilesystemMountpoint: AttributeKey[String] = string( - "system.filesystem.mountpoint" - ) - - /** The filesystem state - */ - val SystemFilesystemState: AttributeKey[String] = string( - "system.filesystem.state" - ) - - /** The filesystem type - */ - val SystemFilesystemType: AttributeKey[String] = string( - "system.filesystem.type" - ) - - /** The memory state - */ + /** + * The filesystem mode + */ + val SystemFilesystemMode: AttributeKey[String] = string("system.filesystem.mode") + + /** + * The filesystem mount path + */ + val SystemFilesystemMountpoint: AttributeKey[String] = string("system.filesystem.mountpoint") + + /** + * The filesystem state + */ + val SystemFilesystemState: AttributeKey[String] = string("system.filesystem.state") + + /** + * The filesystem type + */ + val SystemFilesystemType: AttributeKey[String] = string("system.filesystem.type") + + /** + * The memory state + */ val SystemMemoryState: AttributeKey[String] = string("system.memory.state") - /** A stateless protocol MUST NOT set this attribute - */ + /** + * A stateless protocol MUST NOT set this attribute + */ val SystemNetworkState: AttributeKey[String] = string("system.network.state") - /** The paging access direction - */ - val SystemPagingDirection: AttributeKey[String] = string( - "system.paging.direction" - ) + /** + * The paging access direction + */ + val SystemPagingDirection: AttributeKey[String] = string("system.paging.direction") - /** The memory paging state - */ + /** + * The memory paging state + */ val SystemPagingState: AttributeKey[String] = string("system.paging.state") - /** The memory paging type - */ + /** + * The memory paging type + */ val SystemPagingType: AttributeKey[String] = string("system.paging.type") - /** The process state, e.g., Linux - * Process State Codes - */ - val SystemProcessStatus: AttributeKey[String] = string( - "system.process.status" - ) + /** + * The process state, e.g., Linux Process State Codes + */ + val SystemProcessStatus: AttributeKey[String] = string("system.process.status") - /** Deprecated, use `system.process.status` instead. - */ + /** + * Deprecated, use `system.process.status` instead. + */ @deprecated("Use `system.process.status` instead", "0.5.0") - val SystemProcessesStatus: AttributeKey[String] = string( - "system.processes.status" - ) + val SystemProcessesStatus: AttributeKey[String] = string("system.processes.status") // Enum definitions - - /** Values for [[SystemCpuState]]. - */ + + /** + * Values for [[SystemCpuState]]. + */ abstract class SystemCpuStateValue(val value: String) object SystemCpuStateValue { - /** user. */ case object User extends SystemCpuStateValue("user") - /** system. */ case object System extends SystemCpuStateValue("system") - /** nice. */ case object Nice extends SystemCpuStateValue("nice") - /** idle. */ case object Idle extends SystemCpuStateValue("idle") - /** iowait. */ case object Iowait extends SystemCpuStateValue("iowait") - /** interrupt. */ case object Interrupt extends SystemCpuStateValue("interrupt") - /** steal. */ case object Steal extends SystemCpuStateValue("steal") } - - /** Values for [[SystemFilesystemState]]. - */ + /** + * Values for [[SystemFilesystemState]]. + */ abstract class SystemFilesystemStateValue(val value: String) object SystemFilesystemStateValue { - /** used. */ case object Used extends SystemFilesystemStateValue("used") - /** free. */ case object Free extends SystemFilesystemStateValue("free") - /** reserved. */ case object Reserved extends SystemFilesystemStateValue("reserved") } - - /** Values for [[SystemFilesystemType]]. - */ + /** + * Values for [[SystemFilesystemType]]. + */ abstract class SystemFilesystemTypeValue(val value: String) object SystemFilesystemTypeValue { - /** fat32. */ case object Fat32 extends SystemFilesystemTypeValue("fat32") - /** exfat. */ case object Exfat extends SystemFilesystemTypeValue("exfat") - /** ntfs. */ case object Ntfs extends SystemFilesystemTypeValue("ntfs") - /** refs. */ case object Refs extends SystemFilesystemTypeValue("refs") - /** hfsplus. */ case object Hfsplus extends SystemFilesystemTypeValue("hfsplus") - /** ext4. */ case object Ext4 extends SystemFilesystemTypeValue("ext4") } - - /** Values for [[SystemMemoryState]]. - */ + /** + * Values for [[SystemMemoryState]]. + */ abstract class SystemMemoryStateValue(val value: String) object SystemMemoryStateValue { - /** used. */ case object Used extends SystemMemoryStateValue("used") - /** free. */ case object Free extends SystemMemoryStateValue("free") - /** shared. */ case object Shared extends SystemMemoryStateValue("shared") - /** buffers. */ case object Buffers extends SystemMemoryStateValue("buffers") - /** cached. */ case object Cached extends SystemMemoryStateValue("cached") } - - /** Values for [[SystemNetworkState]]. - */ + /** + * Values for [[SystemNetworkState]]. + */ abstract class SystemNetworkStateValue(val value: String) object SystemNetworkStateValue { - /** close. */ case object Close extends SystemNetworkStateValue("close") - /** close_wait. */ case object CloseWait extends SystemNetworkStateValue("close_wait") - /** closing. */ case object Closing extends SystemNetworkStateValue("closing") - /** delete. */ case object Delete extends SystemNetworkStateValue("delete") - /** established. */ case object Established extends SystemNetworkStateValue("established") - /** fin_wait_1. */ case object FinWait1 extends SystemNetworkStateValue("fin_wait_1") - /** fin_wait_2. */ case object FinWait2 extends SystemNetworkStateValue("fin_wait_2") - /** last_ack. */ case object LastAck extends SystemNetworkStateValue("last_ack") - /** listen. */ case object Listen extends SystemNetworkStateValue("listen") - /** syn_recv. */ case object SynRecv extends SystemNetworkStateValue("syn_recv") - /** syn_sent. */ case object SynSent extends SystemNetworkStateValue("syn_sent") - /** time_wait. */ case object TimeWait extends SystemNetworkStateValue("time_wait") } - - /** Values for [[SystemPagingDirection]]. - */ + /** + * Values for [[SystemPagingDirection]]. + */ abstract class SystemPagingDirectionValue(val value: String) object SystemPagingDirectionValue { - /** in. */ case object In extends SystemPagingDirectionValue("in") - /** out. */ case object Out extends SystemPagingDirectionValue("out") } - - /** Values for [[SystemPagingState]]. - */ + /** + * Values for [[SystemPagingState]]. + */ abstract class SystemPagingStateValue(val value: String) object SystemPagingStateValue { - /** used. */ case object Used extends SystemPagingStateValue("used") - /** free. */ case object Free extends SystemPagingStateValue("free") } - - /** Values for [[SystemPagingType]]. - */ + /** + * Values for [[SystemPagingType]]. + */ abstract class SystemPagingTypeValue(val value: String) object SystemPagingTypeValue { - /** major. */ case object Major extends SystemPagingTypeValue("major") - /** minor. */ case object Minor extends SystemPagingTypeValue("minor") } - - /** Values for [[SystemProcessStatus]]. - */ + /** + * Values for [[SystemProcessStatus]]. + */ abstract class SystemProcessStatusValue(val value: String) object SystemProcessStatusValue { - /** running. */ case object Running extends SystemProcessStatusValue("running") - /** sleeping. */ case object Sleeping extends SystemProcessStatusValue("sleeping") - /** stopped. */ case object Stopped extends SystemProcessStatusValue("stopped") - /** defunct. */ case object Defunct extends SystemProcessStatusValue("defunct") } - - /** Values for [[SystemProcessesStatus]]. - */ + /** + * Values for [[SystemProcessesStatus]]. + */ @deprecated("Use `system.process.status` instead", "0.5.0") abstract class SystemProcessesStatusValue(val value: String) @annotation.nowarn("cat=deprecation") object SystemProcessesStatusValue { - /** running. */ case object Running extends SystemProcessesStatusValue("running") - /** sleeping. */ case object Sleeping extends SystemProcessesStatusValue("sleeping") - /** stopped. */ case object Stopped extends SystemProcessesStatusValue("stopped") - /** defunct. */ case object Defunct extends SystemProcessesStatusValue("defunct") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/TelemetryExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/TelemetryExperimentalAttributes.scala index 50b02b88e..827bc7033 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/TelemetryExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/TelemetryExperimentalAttributes.scala @@ -22,111 +22,80 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object TelemetryExperimentalAttributes { - /** The name of the auto instrumentation agent or distribution, if used. - * - * @note - * - Official auto instrumentation agents and distributions SHOULD set the - * `telemetry.distro.name` attribute to a string starting with - * `opentelemetry-`, e.g. `opentelemetry-java-instrumentation`. - */ - val TelemetryDistroName: AttributeKey[String] = string( - "telemetry.distro.name" - ) - - /** The version string of the auto instrumentation agent or distribution, if - * used. - */ - val TelemetryDistroVersion: AttributeKey[String] = string( - "telemetry.distro.version" - ) - - /** The language of the telemetry SDK. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.TelemetryAttributes.TelemetrySdkLanguage` instead.", - "0.5.0" - ) - val TelemetrySdkLanguage: AttributeKey[String] = string( - "telemetry.sdk.language" - ) - - /** The name of the telemetry SDK as defined above. - * - * @note - * - The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute to - * `opentelemetry`. If another SDK, like a fork or a vendor-provided - * implementation, is used, this SDK MUST set the `telemetry.sdk.name` - * attribute to the fully-qualified class or module name of this SDK's - * main entry point or another suitable identifier depending on the - * language. The identifier `opentelemetry` is reserved and MUST NOT be - * used in this case. All custom identifiers SHOULD be stable across - * different versions of an implementation. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.TelemetryAttributes.TelemetrySdkName` instead.", - "0.5.0" - ) + /** + * The name of the auto instrumentation agent or distribution, if used. + * + * @note + * - Official auto instrumentation agents and distributions SHOULD set the `telemetry.distro.name` attribute to +a string starting with `opentelemetry-`, e.g. `opentelemetry-java-instrumentation`. + */ + val TelemetryDistroName: AttributeKey[String] = string("telemetry.distro.name") + + /** + * The version string of the auto instrumentation agent or distribution, if used. + */ + val TelemetryDistroVersion: AttributeKey[String] = string("telemetry.distro.version") + + /** + * The language of the telemetry SDK. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.TelemetryAttributes.TelemetrySdkLanguage` instead.", "0.5.0") + val TelemetrySdkLanguage: AttributeKey[String] = string("telemetry.sdk.language") + + /** + * The name of the telemetry SDK as defined above. + * + * @note + * - The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute to `opentelemetry`. +If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the +`telemetry.sdk.name` attribute to the fully-qualified class or module name of this SDK's main entry point +or another suitable identifier depending on the language. +The identifier `opentelemetry` is reserved and MUST NOT be used in this case. +All custom identifiers SHOULD be stable across different versions of an implementation. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.TelemetryAttributes.TelemetrySdkName` instead.", "0.5.0") val TelemetrySdkName: AttributeKey[String] = string("telemetry.sdk.name") - /** The version string of the telemetry SDK. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.TelemetryAttributes.TelemetrySdkVersion` instead.", - "0.5.0" - ) - val TelemetrySdkVersion: AttributeKey[String] = string( - "telemetry.sdk.version" - ) + /** + * The version string of the telemetry SDK. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.TelemetryAttributes.TelemetrySdkVersion` instead.", "0.5.0") + val TelemetrySdkVersion: AttributeKey[String] = string("telemetry.sdk.version") // Enum definitions - - /** Values for [[TelemetrySdkLanguage]]. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.TelemetryAttributes.TelemetrySdkLanguageValue` instead.", - "0.5.0" - ) + + /** + * Values for [[TelemetrySdkLanguage]]. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.TelemetryAttributes.TelemetrySdkLanguageValue` instead.", "0.5.0") abstract class TelemetrySdkLanguageValue(val value: String) @annotation.nowarn("cat=deprecation") object TelemetrySdkLanguageValue { - /** cpp. */ case object Cpp extends TelemetrySdkLanguageValue("cpp") - /** dotnet. */ case object Dotnet extends TelemetrySdkLanguageValue("dotnet") - /** erlang. */ case object Erlang extends TelemetrySdkLanguageValue("erlang") - /** go. */ case object Go extends TelemetrySdkLanguageValue("go") - /** java. */ case object Java extends TelemetrySdkLanguageValue("java") - /** nodejs. */ case object Nodejs extends TelemetrySdkLanguageValue("nodejs") - /** php. */ case object Php extends TelemetrySdkLanguageValue("php") - /** python. */ case object Python extends TelemetrySdkLanguageValue("python") - /** ruby. */ case object Ruby extends TelemetrySdkLanguageValue("ruby") - /** rust. */ case object Rust extends TelemetrySdkLanguageValue("rust") - /** swift. */ case object Swift extends TelemetrySdkLanguageValue("swift") - /** webjs. */ case object Webjs extends TelemetrySdkLanguageValue("webjs") - /** scala. */ case object Scala extends TelemetrySdkLanguageValue("scala") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ThreadExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ThreadExperimentalAttributes.scala index 93e57ca9b..c6fc5d487 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ThreadExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ThreadExperimentalAttributes.scala @@ -22,12 +22,14 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ThreadExperimentalAttributes { - /** Current "managed" thread ID (as opposed to OS thread ID). - */ + /** + * Current "managed" thread ID (as opposed to OS thread ID). + */ val ThreadId: AttributeKey[Long] = long("thread.id") - /** Current thread name. - */ + /** + * Current thread name. + */ val ThreadName: AttributeKey[String] = string("thread.name") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/TlsExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/TlsExperimentalAttributes.scala index 6cab14af3..29d8384f6 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/TlsExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/TlsExperimentalAttributes.scala @@ -22,200 +22,164 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object TlsExperimentalAttributes { - /** String indicating the cipher - * used during the current connection. - * - * @note - * - The values allowed for `tls.cipher` MUST be one of the `Descriptions` - * of the registered - * TLS Cipher Suits. - */ + /** + * String indicating the cipher used during the current connection. + * + * @note + * - The values allowed for `tls.cipher` MUST be one of the `Descriptions` of the registered TLS Cipher Suits. + */ val TlsCipher: AttributeKey[String] = string("tls.cipher") - /** PEM-encoded stand-alone certificate offered by the client. This is usually - * mutually-exclusive of `client.certificate_chain` since this value also - * exists in that list. - */ - val TlsClientCertificate: AttributeKey[String] = string( - "tls.client.certificate" - ) - - /** Array of PEM-encoded certificates that make up the certificate chain - * offered by the client. This is usually mutually-exclusive of - * `client.certificate` since that value should be the first certificate in - * the chain. - */ - val TlsClientCertificateChain: AttributeKey[Seq[String]] = stringSeq( - "tls.client.certificate_chain" - ) - - /** Certificate fingerprint using the MD5 digest of DER-encoded version of - * certificate offered by the client. For consistency with other hash values, - * this value should be formatted as an uppercase hash. - */ + /** + * PEM-encoded stand-alone certificate offered by the client. This is usually mutually-exclusive of `client.certificate_chain` since this value also exists in that list. + */ + val TlsClientCertificate: AttributeKey[String] = string("tls.client.certificate") + + /** + * Array of PEM-encoded certificates that make up the certificate chain offered by the client. This is usually mutually-exclusive of `client.certificate` since that value should be the first certificate in the chain. + */ + val TlsClientCertificateChain: AttributeKey[Seq[String]] = stringSeq("tls.client.certificate_chain") + + /** + * Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash. + */ val TlsClientHashMd5: AttributeKey[String] = string("tls.client.hash.md5") - /** Certificate fingerprint using the SHA1 digest of DER-encoded version of - * certificate offered by the client. For consistency with other hash values, - * this value should be formatted as an uppercase hash. - */ + /** + * Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash. + */ val TlsClientHashSha1: AttributeKey[String] = string("tls.client.hash.sha1") - /** Certificate fingerprint using the SHA256 digest of DER-encoded version of - * certificate offered by the client. For consistency with other hash values, - * this value should be formatted as an uppercase hash. - */ - val TlsClientHashSha256: AttributeKey[String] = string( - "tls.client.hash.sha256" - ) - - /** Distinguished name of subject - * of the issuer of the x.509 certificate presented by the client. - */ + /** + * Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash. + */ + val TlsClientHashSha256: AttributeKey[String] = string("tls.client.hash.sha256") + + /** + * Distinguished name of subject of the issuer of the x.509 certificate presented by the client. + */ val TlsClientIssuer: AttributeKey[String] = string("tls.client.issuer") - /** A hash that identifies clients based on how they perform an SSL/TLS - * handshake. - */ + /** + * A hash that identifies clients based on how they perform an SSL/TLS handshake. + */ val TlsClientJa3: AttributeKey[String] = string("tls.client.ja3") - /** Date/Time indicating when client certificate is no longer considered - * valid. - */ + /** + * Date/Time indicating when client certificate is no longer considered valid. + */ val TlsClientNotAfter: AttributeKey[String] = string("tls.client.not_after") - /** Date/Time indicating when client certificate is first considered valid. - */ + /** + * Date/Time indicating when client certificate is first considered valid. + */ val TlsClientNotBefore: AttributeKey[String] = string("tls.client.not_before") - /** Also called an SNI, this tells the server which hostname to which the - * client is attempting to connect to. - */ - val TlsClientServerName: AttributeKey[String] = string( - "tls.client.server_name" - ) + /** + * Also called an SNI, this tells the server which hostname to which the client is attempting to connect to. + */ + val TlsClientServerName: AttributeKey[String] = string("tls.client.server_name") - /** Distinguished name of subject of the x.509 certificate presented by the - * client. - */ + /** + * Distinguished name of subject of the x.509 certificate presented by the client. + */ val TlsClientSubject: AttributeKey[String] = string("tls.client.subject") - /** Array of ciphers offered by the client during the client hello. - */ - val TlsClientSupportedCiphers: AttributeKey[Seq[String]] = stringSeq( - "tls.client.supported_ciphers" - ) + /** + * Array of ciphers offered by the client during the client hello. + */ + val TlsClientSupportedCiphers: AttributeKey[Seq[String]] = stringSeq("tls.client.supported_ciphers") - /** String indicating the curve used for the given cipher, when applicable - */ + /** + * String indicating the curve used for the given cipher, when applicable + */ val TlsCurve: AttributeKey[String] = string("tls.curve") - /** Boolean flag indicating if the TLS negotiation was successful and - * transitioned to an encrypted tunnel. - */ + /** + * Boolean flag indicating if the TLS negotiation was successful and transitioned to an encrypted tunnel. + */ val TlsEstablished: AttributeKey[Boolean] = boolean("tls.established") - /** String indicating the protocol being tunneled. Per the values in the IANA - * registry, this string should be lower case. - */ + /** + * String indicating the protocol being tunneled. Per the values in the IANA registry, this string should be lower case. + */ val TlsNextProtocol: AttributeKey[String] = string("tls.next_protocol") - /** Normalized lowercase protocol name parsed from original string of the - * negotiated SSL/TLS - * protocol version - */ + /** + * Normalized lowercase protocol name parsed from original string of the negotiated SSL/TLS protocol version + */ val TlsProtocolName: AttributeKey[String] = string("tls.protocol.name") - /** Numeric part of the version parsed from the original string of the - * negotiated SSL/TLS - * protocol version - */ + /** + * Numeric part of the version parsed from the original string of the negotiated SSL/TLS protocol version + */ val TlsProtocolVersion: AttributeKey[String] = string("tls.protocol.version") - /** Boolean flag indicating if this TLS connection was resumed from an - * existing TLS negotiation. - */ + /** + * Boolean flag indicating if this TLS connection was resumed from an existing TLS negotiation. + */ val TlsResumed: AttributeKey[Boolean] = boolean("tls.resumed") - /** PEM-encoded stand-alone certificate offered by the server. This is usually - * mutually-exclusive of `server.certificate_chain` since this value also - * exists in that list. - */ - val TlsServerCertificate: AttributeKey[String] = string( - "tls.server.certificate" - ) - - /** Array of PEM-encoded certificates that make up the certificate chain - * offered by the server. This is usually mutually-exclusive of - * `server.certificate` since that value should be the first certificate in - * the chain. - */ - val TlsServerCertificateChain: AttributeKey[Seq[String]] = stringSeq( - "tls.server.certificate_chain" - ) - - /** Certificate fingerprint using the MD5 digest of DER-encoded version of - * certificate offered by the server. For consistency with other hash values, - * this value should be formatted as an uppercase hash. - */ + /** + * PEM-encoded stand-alone certificate offered by the server. This is usually mutually-exclusive of `server.certificate_chain` since this value also exists in that list. + */ + val TlsServerCertificate: AttributeKey[String] = string("tls.server.certificate") + + /** + * Array of PEM-encoded certificates that make up the certificate chain offered by the server. This is usually mutually-exclusive of `server.certificate` since that value should be the first certificate in the chain. + */ + val TlsServerCertificateChain: AttributeKey[Seq[String]] = stringSeq("tls.server.certificate_chain") + + /** + * Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash. + */ val TlsServerHashMd5: AttributeKey[String] = string("tls.server.hash.md5") - /** Certificate fingerprint using the SHA1 digest of DER-encoded version of - * certificate offered by the server. For consistency with other hash values, - * this value should be formatted as an uppercase hash. - */ + /** + * Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash. + */ val TlsServerHashSha1: AttributeKey[String] = string("tls.server.hash.sha1") - /** Certificate fingerprint using the SHA256 digest of DER-encoded version of - * certificate offered by the server. For consistency with other hash values, - * this value should be formatted as an uppercase hash. - */ - val TlsServerHashSha256: AttributeKey[String] = string( - "tls.server.hash.sha256" - ) - - /** Distinguished name of subject - * of the issuer of the x.509 certificate presented by the client. - */ + /** + * Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash. + */ + val TlsServerHashSha256: AttributeKey[String] = string("tls.server.hash.sha256") + + /** + * Distinguished name of subject of the issuer of the x.509 certificate presented by the client. + */ val TlsServerIssuer: AttributeKey[String] = string("tls.server.issuer") - /** A hash that identifies servers based on how they perform an SSL/TLS - * handshake. - */ + /** + * A hash that identifies servers based on how they perform an SSL/TLS handshake. + */ val TlsServerJa3s: AttributeKey[String] = string("tls.server.ja3s") - /** Date/Time indicating when server certificate is no longer considered - * valid. - */ + /** + * Date/Time indicating when server certificate is no longer considered valid. + */ val TlsServerNotAfter: AttributeKey[String] = string("tls.server.not_after") - /** Date/Time indicating when server certificate is first considered valid. - */ + /** + * Date/Time indicating when server certificate is first considered valid. + */ val TlsServerNotBefore: AttributeKey[String] = string("tls.server.not_before") - /** Distinguished name of subject of the x.509 certificate presented by the - * server. - */ + /** + * Distinguished name of subject of the x.509 certificate presented by the server. + */ val TlsServerSubject: AttributeKey[String] = string("tls.server.subject") // Enum definitions - - /** Values for [[TlsProtocolName]]. - */ + + /** + * Values for [[TlsProtocolName]]. + */ abstract class TlsProtocolNameValue(val value: String) object TlsProtocolNameValue { - /** ssl. */ case object Ssl extends TlsProtocolNameValue("ssl") - /** tls. */ case object Tls extends TlsProtocolNameValue("tls") } -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/UrlExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/UrlExperimentalAttributes.scala index 1840c4a04..d7c7a6986 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/UrlExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/UrlExperimentalAttributes.scala @@ -22,148 +22,104 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object UrlExperimentalAttributes { - /** Domain extracted from the `url.full`, such as - * "opentelemetry.io". - * - * @note - * - In some cases a URL may refer to an IP and/or port directly, without a - * domain name. In this case, the IP address would go to the domain - * field. If the URL contains a literal IPv6 - * address enclosed by `[` and `]`, the `[` and `]` characters should - * also be captured in the domain field. - */ + /** + * Domain extracted from the `url.full`, such as "opentelemetry.io". + * + * @note + * - In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case, the IP address would go to the domain field. If the URL contains a literal IPv6 address enclosed by `[` and `]`, the `[` and `]` characters should also be captured in the domain field. + */ val UrlDomain: AttributeKey[String] = string("url.domain") - /** The file extension extracted from the `url.full`, excluding the leading - * dot. - * - * @note - * - The file extension is only set if it exists, as not every url has a - * file extension. When the file name has multiple extensions - * `example.tar.gz`, only the last one should be captured `gz`, not - * `tar.gz`. - */ + /** + * The file extension extracted from the `url.full`, excluding the leading dot. + * + * @note + * - The file extension is only set if it exists, as not every url has a file extension. When the file name has multiple extensions `example.tar.gz`, only the last one should be captured `gz`, not `tar.gz`. + */ val UrlExtension: AttributeKey[String] = string("url.extension") - /** The URI - * fragment component - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlFragment` instead.", - "0.5.0" - ) + /** + * The URI fragment component + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlFragment` instead.", "0.5.0") val UrlFragment: AttributeKey[String] = string("url.fragment") - /** Absolute URL describing a network resource according to RFC3986 - * - * @note - * - For network calls, URL usually has - * `scheme://host[:port][path][?query][#fragment]` format, where the - * fragment is not transmitted over HTTP, but if it is known, it SHOULD - * be included nevertheless. `url.full` MUST NOT contain credentials - * passed via URL in form of - * `https://username:password@www.example.com/`. In such case username - * and password SHOULD be redacted and attribute's value SHOULD be - * `https://REDACTED:REDACTED@www.example.com/`. `url.full` SHOULD - * capture the absolute URL when it is available (or can be - * reconstructed). Sensitive content provided in `url.full` SHOULD be - * scrubbed when instrumentations can identify it. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlFull` instead.", - "0.5.0" - ) + /** + * Absolute URL describing a network resource according to RFC3986 + * + * @note + * - For network calls, URL usually has `scheme://host[:port][path][?query][#fragment]` format, where the fragment is not transmitted over HTTP, but if it is known, it SHOULD be included nevertheless. +`url.full` MUST NOT contain credentials passed via URL in form of `https://username:password@www.example.com/`. In such case username and password SHOULD be redacted and attribute's value SHOULD be `https://REDACTED:REDACTED@www.example.com/`. +`url.full` SHOULD capture the absolute URL when it is available (or can be reconstructed). Sensitive content provided in `url.full` SHOULD be scrubbed when instrumentations can identify it. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlFull` instead.", "0.5.0") val UrlFull: AttributeKey[String] = string("url.full") - /** Unmodified original URL as seen in the event source. - * - * @note - * - In network monitoring, the observed URL may be a full URL, whereas in - * access logs, the URL is often just represented as a path. This field - * is meant to represent the URL as it was observed, complete or not. - * `url.original` might contain credentials passed via URL in form of - * `https://username:password@www.example.com/`. In such case password - * and username SHOULD NOT be redacted and attribute's value SHOULD - * remain the same. - */ + /** + * Unmodified original URL as seen in the event source. + * + * @note + * - In network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is often just represented as a path. This field is meant to represent the URL as it was observed, complete or not. +`url.original` might contain credentials passed via URL in form of `https://username:password@www.example.com/`. In such case password and username SHOULD NOT be redacted and attribute's value SHOULD remain the same. + */ val UrlOriginal: AttributeKey[String] = string("url.original") - /** The URI - * path component - * - * @note - * - Sensitive content provided in `url.path` SHOULD be scrubbed when - * instrumentations can identify it. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlPath` instead.", - "0.5.0" - ) + /** + * The URI path component + * + * @note + * - Sensitive content provided in `url.path` SHOULD be scrubbed when instrumentations can identify it. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlPath` instead.", "0.5.0") val UrlPath: AttributeKey[String] = string("url.path") - /** Port extracted from the `url.full` - */ + /** + * Port extracted from the `url.full` + */ val UrlPort: AttributeKey[Long] = long("url.port") - /** The URI - * query component - * - * @note - * - Sensitive content provided in `url.query` SHOULD be scrubbed when - * instrumentations can identify it. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlQuery` instead.", - "0.5.0" - ) + /** + * The URI query component + * + * @note + * - Sensitive content provided in `url.query` SHOULD be scrubbed when instrumentations can identify it. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlQuery` instead.", "0.5.0") val UrlQuery: AttributeKey[String] = string("url.query") - /** The highest registered url domain, stripped of the subdomain. - * - * @note - * - This value can be determined precisely with the public suffix list. For example, - * the registered domain for `foo.example.com` is `example.com`. Trying - * to approximate this by simply taking the last two labels will not work - * well for TLDs such as `co.uk`. - */ - val UrlRegisteredDomain: AttributeKey[String] = string( - "url.registered_domain" - ) - - /** The URI - * scheme component identifying the used protocol. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlScheme` instead.", - "0.5.0" - ) + /** + * The highest registered url domain, stripped of the subdomain. + * + * @note + * - This value can be determined precisely with the public suffix list. For example, the registered domain for `foo.example.com` is `example.com`. Trying to approximate this by simply taking the last two labels will not work well for TLDs such as `co.uk`. + */ + val UrlRegisteredDomain: AttributeKey[String] = string("url.registered_domain") + + /** + * The URI scheme component identifying the used protocol. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlScheme` instead.", "0.5.0") val UrlScheme: AttributeKey[String] = string("url.scheme") - /** The subdomain portion of a fully qualified domain name includes all of the - * names except the host name under the registered_domain. In a partially - * qualified domain, or if the qualification level of the full name cannot be - * determined, subdomain contains all of the names below the registered - * domain. - * - * @note - * - The subdomain portion of `www.east.mydomain.co.uk` is `east`. If the - * domain has multiple levels of subdomain, such as - * `sub2.sub1.example.com`, the subdomain field should contain - * `sub2.sub1`, with no trailing period. - */ + /** + * The subdomain portion of a fully qualified domain name includes all of the names except the host name under the registered_domain. In a partially qualified domain, or if the qualification level of the full name cannot be determined, subdomain contains all of the names below the registered domain. + * + * @note + * - The subdomain portion of `www.east.mydomain.co.uk` is `east`. If the domain has multiple levels of subdomain, such as `sub2.sub1.example.com`, the subdomain field should contain `sub2.sub1`, with no trailing period. + */ val UrlSubdomain: AttributeKey[String] = string("url.subdomain") - /** The effective top level domain (eTLD), also known as the domain suffix, is - * the last part of the domain name. For example, the top level domain for - * example.com is `com`. - * - * @note - * - This value can be determined precisely with the public suffix list. - */ + /** + * The low-cardinality template of an absolute path reference. + */ + val UrlTemplate: AttributeKey[String] = string("url.template") + + /** + * The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is `com`. + * + * @note + * - This value can be determined precisely with the public suffix list. + */ val UrlTopLevelDomain: AttributeKey[String] = string("url.top_level_domain") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/UserAgentExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/UserAgentExperimentalAttributes.scala index f38c37824..2827e560a 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/UserAgentExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/UserAgentExperimentalAttributes.scala @@ -22,40 +22,26 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object UserAgentExperimentalAttributes { - /** Name of the user-agent extracted from original. Usually refers to the - * browser's name. - * - * @note - * - Example of extracting - * browser's name from original string. In the case of using a user-agent - * for non-browser products, such as microservices with multiple - * names/versions inside the `user_agent.original`, the most significant - * name SHOULD be selected. In such a scenario it should align with - * `user_agent.version` - */ + /** + * Name of the user-agent extracted from original. Usually refers to the browser's name. + * + * @note + * - Example of extracting browser's name from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the `user_agent.original`, the most significant name SHOULD be selected. In such a scenario it should align with `user_agent.version` + */ val UserAgentName: AttributeKey[String] = string("user_agent.name") - /** Value of the HTTP - * User-Agent header sent by the client. - */ - @deprecated( - "use `org.typelevel.otel4s.semconv.attributes.UserAgentAttributes.UserAgentOriginal` instead.", - "0.5.0" - ) + /** + * Value of the HTTP User-Agent header sent by the client. + */ + @deprecated("use `org.typelevel.otel4s.semconv.attributes.UserAgentAttributes.UserAgentOriginal` instead.", "0.5.0") val UserAgentOriginal: AttributeKey[String] = string("user_agent.original") - /** Version of the user-agent extracted from original. Usually refers to the - * browser's version - * - * @note - * - Example of extracting - * browser's version from original string. In the case of using a - * user-agent for non-browser products, such as microservices with - * multiple names/versions inside the `user_agent.original`, the most - * significant version SHOULD be selected. In such a scenario it should - * align with `user_agent.name` - */ + /** + * Version of the user-agent extracted from original. Usually refers to the browser's version + * + * @note + * - Example of extracting browser's version from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the `user_agent.original`, the most significant version SHOULD be selected. In such a scenario it should align with `user_agent.name` + */ val UserAgentVersion: AttributeKey[String] = string("user_agent.version") -} +} \ No newline at end of file diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/WebengineExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/WebengineExperimentalAttributes.scala index 5c8136de0..a0b0a7f3b 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/WebengineExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/WebengineExperimentalAttributes.scala @@ -22,19 +22,19 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object WebengineExperimentalAttributes { - /** Additional description of the web engine (e.g. detailed version and - * edition information). - */ - val WebengineDescription: AttributeKey[String] = string( - "webengine.description" - ) + /** + * Additional description of the web engine (e.g. detailed version and edition information). + */ + val WebengineDescription: AttributeKey[String] = string("webengine.description") - /** The name of the web engine. - */ + /** + * The name of the web engine. + */ val WebengineName: AttributeKey[String] = string("webengine.name") - /** The version of the web engine. - */ + /** + * The version of the web engine. + */ val WebengineVersion: AttributeKey[String] = string("webengine.version") -} +} \ No newline at end of file diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ClientAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ClientAttributes.scala index bdcec0dcc..0bbb92cf6 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ClientAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ClientAttributes.scala @@ -22,23 +22,20 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ClientAttributes { - /** Client address - domain name if available without reverse DNS lookup; - * otherwise, IP address or Unix domain socket name. - * - * @note - * - When observed from the server side, and when communicating through an - * intermediary, `client.address` SHOULD represent the client address - * behind any intermediaries, for example proxies, if it's available. - */ + /** + * Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. + * + * @note + * - When observed from the server side, and when communicating through an intermediary, `client.address` SHOULD represent the client address behind any intermediaries, for example proxies, if it's available. + */ val ClientAddress: AttributeKey[String] = string("client.address") - /** Client port number. - * - * @note - * - When observed from the server side, and when communicating through an - * intermediary, `client.port` SHOULD represent the client port behind - * any intermediaries, for example proxies, if it's available. - */ + /** + * Client port number. + * + * @note + * - When observed from the server side, and when communicating through an intermediary, `client.port` SHOULD represent the client port behind any intermediaries, for example proxies, if it's available. + */ val ClientPort: AttributeKey[Long] = long("client.port") -} +} \ No newline at end of file diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ErrorAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ErrorAttributes.scala index d924f697c..9bd5ca168 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ErrorAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ErrorAttributes.scala @@ -22,37 +22,34 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ErrorAttributes { - /** Describes a class of error the operation ended with. - * - * @note - * - The `error.type` SHOULD be predictable and SHOULD have low - * cardinality. Instrumentations SHOULD document the list of errors they - * report. - * - The cardinality of `error.type` within one instrumentation library - * SHOULD be low. Telemetry consumers that aggregate data from multiple - * instrumentation libraries and applications should be prepared for - * `error.type` to have high cardinality at query time when no additional - * filters are applied. - * - If the operation has completed successfully, instrumentations SHOULD - * NOT set `error.type`. - * - If a specific domain defines its own set of error identifiers (such as - * HTTP or gRPC status codes), it's RECOMMENDED to:
  • Use a - * domain-specific attribute
  • Set `error.type` to capture all - * errors, regardless of whether they are defined within the - * domain-specific set or not.
  • - */ + /** + * Describes a class of error the operation ended with. + * + * @note + * - The `error.type` SHOULD be predictable, and SHOULD have low cardinality. + * - When `error.type` is set to a type (e.g., an exception type), its +canonical class name identifying the type within the artifact SHOULD be used. + * - Instrumentations SHOULD document the list of errors they report. + * - The cardinality of `error.type` within one instrumentation library SHOULD be low. +Telemetry consumers that aggregate data from multiple instrumentation libraries and applications +should be prepared for `error.type` to have high cardinality at query time when no +additional filters are applied. + * - If the operation has completed successfully, instrumentations SHOULD NOT set `error.type`. + * - If a specific domain defines its own set of error identifiers (such as HTTP or gRPC status codes), +it's RECOMMENDED to:
  • Use a domain-specific attribute
  • +
  • Set `error.type` to capture all errors, regardless of whether they are defined within the domain-specific set or not.
  • + + */ val ErrorType: AttributeKey[String] = string("error.type") // Enum definitions - - /** Values for [[ErrorType]]. - */ + + /** + * Values for [[ErrorType]]. + */ abstract class ErrorTypeValue(val value: String) object ErrorTypeValue { - - /** A fallback error value to be used when the instrumentation doesn't - * define a custom value. - */ + /** A fallback error value to be used when the instrumentation doesn't define a custom value. */ case object Other extends ErrorTypeValue("_OTHER") } -} +} \ No newline at end of file diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ExceptionAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ExceptionAttributes.scala index 69b6409ec..87134f9bc 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ExceptionAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ExceptionAttributes.scala @@ -22,43 +22,40 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ExceptionAttributes { - /** SHOULD be set to true if the exception event is recorded at a point where - * it is known that the exception is escaping the scope of the span. - * - * @note - * - An exception is considered to have escaped (or left) the scope of a - * span, if that span is ended while the exception is still logically - * "in flight". This may be actually "in flight" in - * some languages (e.g. if the exception is passed to a Context manager's - * `__exit__` method in Python) but will usually be caught at the point - * of recording the exception in most languages. - * - It is usually not possible to determine at the point where an - * exception is thrown whether it will escape the scope of a span. - * However, it is trivial to know that an exception will escape, if one - * checks for an active exception just before ending the span, as done in - * the example for recording span - * exceptions. - * - It follows that an exception may still escape the scope of the span - * even if the `exception.escaped` attribute was not set or set to false, - * since the event might have been recorded at a time where it was not - * clear whether the exception will escape. - */ + /** + * SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span. + * + * @note + * - An exception is considered to have escaped (or left) the scope of a span, +if that span is ended while the exception is still logically "in flight". +This may be actually "in flight" in some languages (e.g. if the exception +is passed to a Context manager's `__exit__` method in Python) but will +usually be caught at the point of recording the exception in most languages. + * - It is usually not possible to determine at the point where an exception is thrown +whether it will escape the scope of a span. +However, it is trivial to know that an exception +will escape, if one checks for an active exception just before ending the span, +as done in the example for recording span exceptions. + * - It follows that an exception may still escape the scope of the span +even if the `exception.escaped` attribute was not set or set to false, +since the event might have been recorded at a time where it was not +clear whether the exception will escape. + */ val ExceptionEscaped: AttributeKey[Boolean] = boolean("exception.escaped") - /** The exception message. - */ + /** + * The exception message. + */ val ExceptionMessage: AttributeKey[String] = string("exception.message") - /** 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. - */ + /** + * 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. + */ val ExceptionStacktrace: AttributeKey[String] = string("exception.stacktrace") - /** 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. - */ + /** + * 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. + */ val ExceptionType: AttributeKey[String] = string("exception.type") -} +} \ No newline at end of file diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/HttpAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/HttpAttributes.scala index 061dbb044..a6bc4a340 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/HttpAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/HttpAttributes.scala @@ -22,144 +22,97 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object HttpAttributes { - /** HTTP request headers, `` being the normalized HTTP Header name - * (lowercase), the value being the header values. - * - * @note - * - Instrumentations SHOULD require an explicit configuration of which - * headers are to be captured. Including all request headers can be a - * security risk - explicit configuration helps avoid leaking sensitive - * information. The `User-Agent` header is already captured in the - * `user_agent.original` attribute. Users MAY explicitly configure - * instrumentations to capture them even though it is not recommended. - * The attribute value MUST consist of either multiple header values as - * an array of strings or a single-item array containing a possibly - * comma-concatenated string, depending on the way the HTTP library - * provides access to headers. - */ - val HttpRequestHeader: AttributeKey[Seq[String]] = stringSeq( - "http.request.header" - ) - - /** HTTP request method. - * - * @note - * - HTTP request method value SHOULD be "known" to the - * instrumentation. By default, this convention defines "known" - * methods as the ones listed in RFC9110 - * and the PATCH method defined in RFC5789. - * - If the HTTP request method is not known to instrumentation, it MUST - * set the `http.request.method` attribute to `_OTHER`. - * - If the HTTP instrumentation could end up converting valid HTTP request - * methods to `_OTHER`, then it MUST provide a way to override the list - * of known HTTP methods. If this override is done via environment - * variable, then the environment variable MUST be named - * OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated - * list of case-sensitive known HTTP methods (this list MUST be a full - * override of the default known method, it is not a list of known - * methods in addition to the defaults). - * - HTTP method names are case-sensitive and `http.request.method` - * attribute value MUST match a known HTTP method name exactly. - * Instrumentations for specific web frameworks that consider HTTP - * methods to be case insensitive, SHOULD populate a canonical - * equivalent. Tracing instrumentations that do so, MUST also set - * `http.request.method_original` to the original value. - */ + /** + * HTTP request headers, `` being the normalized HTTP Header name (lowercase), the value being the header values. + * + * @note + * - Instrumentations SHOULD require an explicit configuration of which headers are to be captured. Including all request headers can be a security risk - explicit configuration helps avoid leaking sensitive information. +The `User-Agent` header is already captured in the `user_agent.original` attribute. Users MAY explicitly configure instrumentations to capture them even though it is not recommended. +The attribute value MUST consist of either multiple header values as an array of strings or a single-item array containing a possibly comma-concatenated string, depending on the way the HTTP library provides access to headers. + */ + val HttpRequestHeader: AttributeKey[Seq[String]] = stringSeq("http.request.header") + + /** + * HTTP request method. + * + * @note + * - HTTP request method value SHOULD be "known" to the instrumentation. +By default, this convention defines "known" methods as the ones listed in RFC9110 +and the PATCH method defined in RFC5789. + * - If the HTTP request method is not known to instrumentation, it MUST set the `http.request.method` attribute to `_OTHER`. + * - If the HTTP instrumentation could end up converting valid HTTP request methods to `_OTHER`, then it MUST provide a way to override +the list of known HTTP methods. If this override is done via environment variable, then the environment variable MUST be named +OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated list of case-sensitive known HTTP methods +(this list MUST be a full override of the default known method, it is not a list of known methods in addition to the defaults). + * - HTTP method names are case-sensitive and `http.request.method` attribute value MUST match a known HTTP method name exactly. +Instrumentations for specific web frameworks that consider HTTP methods to be case insensitive, SHOULD populate a canonical equivalent. +Tracing instrumentations that do so, MUST also set `http.request.method_original` to the original value. + */ val HttpRequestMethod: AttributeKey[String] = string("http.request.method") - /** Original HTTP method sent by the client in the request line. - */ - val HttpRequestMethodOriginal: AttributeKey[String] = string( - "http.request.method_original" - ) - - /** The ordinal number of request resending attempt (for any reason, including - * redirects). - * - * @note - * - The resend count SHOULD be updated each time an HTTP request gets - * resent by the client, regardless of what was the cause of the - * resending (e.g. redirection, authorization failure, 503 Server - * Unavailable, network issues, or any other). - */ - val HttpRequestResendCount: AttributeKey[Long] = long( - "http.request.resend_count" - ) - - /** HTTP response headers, `` being the normalized HTTP Header name - * (lowercase), the value being the header values. - * - * @note - * - Instrumentations SHOULD require an explicit configuration of which - * headers are to be captured. Including all response headers can be a - * security risk - explicit configuration helps avoid leaking sensitive - * information. Users MAY explicitly configure instrumentations to - * capture them even though it is not recommended. The attribute value - * MUST consist of either multiple header values as an array of strings - * or a single-item array containing a possibly comma-concatenated - * string, depending on the way the HTTP library provides access to - * headers. - */ - val HttpResponseHeader: AttributeKey[Seq[String]] = stringSeq( - "http.response.header" - ) - - /** HTTP response - * status code. - */ - val HttpResponseStatusCode: AttributeKey[Long] = long( - "http.response.status_code" - ) - - /** The matched route, that is, the path template in the format used by the - * respective server framework. - * - * @note - * - MUST NOT be populated when this is not supported by the HTTP server - * framework as the route attribute should have low-cardinality and the - * URI path can NOT substitute it. SHOULD include the application - * root if there is one. - */ + /** + * Original HTTP method sent by the client in the request line. + */ + val HttpRequestMethodOriginal: AttributeKey[String] = string("http.request.method_original") + + /** + * The ordinal number of request resending attempt (for any reason, including redirects). + * + * @note + * - The resend count SHOULD be updated each time an HTTP request gets resent by the client, regardless of what was the cause of the resending (e.g. redirection, authorization failure, 503 Server Unavailable, network issues, or any other). + */ + val HttpRequestResendCount: AttributeKey[Long] = long("http.request.resend_count") + + /** + * HTTP response headers, `` being the normalized HTTP Header name (lowercase), the value being the header values. + * + * @note + * - Instrumentations SHOULD require an explicit configuration of which headers are to be captured. Including all response headers can be a security risk - explicit configuration helps avoid leaking sensitive information. +Users MAY explicitly configure instrumentations to capture them even though it is not recommended. +The attribute value MUST consist of either multiple header values as an array of strings or a single-item array containing a possibly comma-concatenated string, depending on the way the HTTP library provides access to headers. + */ + val HttpResponseHeader: AttributeKey[Seq[String]] = stringSeq("http.response.header") + + /** + * HTTP response status code. + */ + val HttpResponseStatusCode: AttributeKey[Long] = long("http.response.status_code") + + /** + * The matched route, that is, the path template in the format used by the respective server framework. + * + * @note + * - MUST NOT be populated when this is not supported by the HTTP server framework as the route attribute should have low-cardinality and the URI path can NOT substitute it. +SHOULD include the application root if there is one. + */ val HttpRoute: AttributeKey[String] = string("http.route") // Enum definitions - - /** Values for [[HttpRequestMethod]]. - */ + + /** + * Values for [[HttpRequestMethod]]. + */ abstract class HttpRequestMethodValue(val value: String) object HttpRequestMethodValue { - /** CONNECT method. */ case object Connect extends HttpRequestMethodValue("CONNECT") - /** DELETE method. */ case object Delete extends HttpRequestMethodValue("DELETE") - /** GET method. */ case object Get extends HttpRequestMethodValue("GET") - /** HEAD method. */ case object Head extends HttpRequestMethodValue("HEAD") - /** OPTIONS method. */ case object Options extends HttpRequestMethodValue("OPTIONS") - /** PATCH method. */ case object Patch extends HttpRequestMethodValue("PATCH") - /** POST method. */ case object Post extends HttpRequestMethodValue("POST") - /** PUT method. */ case object Put extends HttpRequestMethodValue("PUT") - /** TRACE method. */ case object Trace extends HttpRequestMethodValue("TRACE") - /** Any HTTP method that the instrumentation has no prior knowledge of. */ case object Other extends HttpRequestMethodValue("_OTHER") } -} +} \ No newline at end of file diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/JvmAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/JvmAttributes.scala index dc61a94ad..6d8d61bd5 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/JvmAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/JvmAttributes.scala @@ -22,81 +22,73 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object JvmAttributes { - /** Name of the garbage collector action. - * - * @note - * - Garbage collector action is generally obtained via GarbageCollectionNotificationInfo#getGcAction(). - */ + /** + * Name of the garbage collector action. + * + * @note + * - Garbage collector action is generally obtained via GarbageCollectionNotificationInfo#getGcAction(). + */ val JvmGcAction: AttributeKey[String] = string("jvm.gc.action") - /** Name of the garbage collector. - * - * @note - * - Garbage collector name is generally obtained via GarbageCollectionNotificationInfo#getGcName(). - */ + /** + * Name of the garbage collector. + * + * @note + * - Garbage collector name is generally obtained via GarbageCollectionNotificationInfo#getGcName(). + */ val JvmGcName: AttributeKey[String] = string("jvm.gc.name") - /** Name of the memory pool. - * - * @note - * - Pool names are generally obtained via MemoryPoolMXBean#getName(). - */ + /** + * Name of the memory pool. + * + * @note + * - Pool names are generally obtained via MemoryPoolMXBean#getName(). + */ val JvmMemoryPoolName: AttributeKey[String] = string("jvm.memory.pool.name") - /** The type of memory. - */ + /** + * The type of memory. + */ val JvmMemoryType: AttributeKey[String] = string("jvm.memory.type") - /** Whether the thread is daemon or not. - */ + /** + * Whether the thread is daemon or not. + */ val JvmThreadDaemon: AttributeKey[Boolean] = boolean("jvm.thread.daemon") - /** State of the thread. - */ + /** + * State of the thread. + */ val JvmThreadState: AttributeKey[String] = string("jvm.thread.state") // Enum definitions - - /** Values for [[JvmMemoryType]]. - */ + + /** + * Values for [[JvmMemoryType]]. + */ abstract class JvmMemoryTypeValue(val value: String) object JvmMemoryTypeValue { - /** Heap memory. */ case object Heap extends JvmMemoryTypeValue("heap") - /** Non-heap memory. */ case object NonHeap extends JvmMemoryTypeValue("non_heap") } - - /** Values for [[JvmThreadState]]. - */ + /** + * Values for [[JvmThreadState]]. + */ abstract class JvmThreadStateValue(val value: String) object JvmThreadStateValue { - /** A thread that has not yet started is in this state. */ case object New extends JvmThreadStateValue("new") - /** A thread executing in the Java virtual machine is in this state. */ case object Runnable extends JvmThreadStateValue("runnable") - /** A thread that is blocked waiting for a monitor lock is in this state. */ case object Blocked extends JvmThreadStateValue("blocked") - - /** A thread that is waiting indefinitely for another thread to perform a - * particular action is in this state. - */ + /** A thread that is waiting indefinitely for another thread to perform a particular action is in this state. */ case object Waiting extends JvmThreadStateValue("waiting") - - /** A thread that is waiting for another thread to perform an action for up - * to a specified waiting time is in this state. - */ + /** A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state. */ case object TimedWaiting extends JvmThreadStateValue("timed_waiting") - /** A thread that has exited is in this state. */ case object Terminated extends JvmThreadStateValue("terminated") } -} +} \ No newline at end of file diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/NetworkAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/NetworkAttributes.scala index ac9f2de7d..08f86b19c 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/NetworkAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/NetworkAttributes.scala @@ -22,99 +22,85 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object NetworkAttributes { - /** Local address of the network connection - IP address or Unix domain socket - * name. - */ - val NetworkLocalAddress: AttributeKey[String] = string( - "network.local.address" - ) - - /** Local port number of the network connection. - */ + /** + * Local address of the network connection - IP address or Unix domain socket name. + */ + val NetworkLocalAddress: AttributeKey[String] = string("network.local.address") + + /** + * Local port number of the network connection. + */ val NetworkLocalPort: AttributeKey[Long] = long("network.local.port") - /** Peer address of the network connection - IP address or Unix domain socket - * name. - */ + /** + * Peer address of the network connection - IP address or Unix domain socket name. + */ val NetworkPeerAddress: AttributeKey[String] = string("network.peer.address") - /** Peer port number of the network connection. - */ + /** + * Peer port number of the network connection. + */ val NetworkPeerPort: AttributeKey[Long] = long("network.peer.port") - /** OSI application - * layer or non-OSI equivalent. - * - * @note - * - The value SHOULD be normalized to lowercase. - */ - val NetworkProtocolName: AttributeKey[String] = string( - "network.protocol.name" - ) - - /** The actual version of the protocol used for network communication. - * - * @note - * - If protocol version is subject to negotiation (for example using ALPN), this - * attribute SHOULD be set to the negotiated version. If the actual - * protocol version is not known, this attribute SHOULD NOT be set. - */ - val NetworkProtocolVersion: AttributeKey[String] = string( - "network.protocol.version" - ) - - /** OSI transport layer - * or inter-process - * communication method. - * - * @note - * - The value SHOULD be normalized to lowercase. - * - Consider always setting the transport when setting a port number, - * since a port number is ambiguous without knowing the transport. For - * example different processes could be listening on TCP port 12345 and - * UDP port 12345. - */ + /** + * OSI application layer or non-OSI equivalent. + * + * @note + * - The value SHOULD be normalized to lowercase. + */ + val NetworkProtocolName: AttributeKey[String] = string("network.protocol.name") + + /** + * The actual version of the protocol used for network communication. + * + * @note + * - If protocol version is subject to negotiation (for example using ALPN), this attribute SHOULD be set to the negotiated version. If the actual protocol version is not known, this attribute SHOULD NOT be set. + */ + val NetworkProtocolVersion: AttributeKey[String] = string("network.protocol.version") + + /** + * OSI transport layer or inter-process communication method. + * + * @note + * - The value SHOULD be normalized to lowercase. + * - Consider always setting the transport when setting a port number, since +a port number is ambiguous without knowing the transport. For example +different processes could be listening on TCP port 12345 and UDP port 12345. + */ val NetworkTransport: AttributeKey[String] = string("network.transport") - /** OSI network layer or - * non-OSI equivalent. - * - * @note - * - The value SHOULD be normalized to lowercase. - */ + /** + * OSI network layer or non-OSI equivalent. + * + * @note + * - The value SHOULD be normalized to lowercase. + */ val NetworkType: AttributeKey[String] = string("network.type") // Enum definitions - - /** Values for [[NetworkTransport]]. - */ + + /** + * Values for [[NetworkTransport]]. + */ abstract class NetworkTransportValue(val value: String) object NetworkTransportValue { - /** TCP. */ case object Tcp extends NetworkTransportValue("tcp") - /** UDP. */ case object Udp extends NetworkTransportValue("udp") - /** Named or anonymous pipe. */ case object Pipe extends NetworkTransportValue("pipe") - /** Unix domain socket. */ case object Unix extends NetworkTransportValue("unix") } - - /** Values for [[NetworkType]]. - */ + /** + * Values for [[NetworkType]]. + */ abstract class NetworkTypeValue(val value: String) object NetworkTypeValue { - /** IPv4. */ case object Ipv4 extends NetworkTypeValue("ipv4") - /** IPv6. */ case object Ipv6 extends NetworkTypeValue("ipv6") } -} +} \ No newline at end of file diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/OtelAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/OtelAttributes.scala index d8c3c8db2..df129dd13 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/OtelAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/OtelAttributes.scala @@ -22,40 +22,36 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object OtelAttributes { - /** The name of the instrumentation scope - (`InstrumentationScope.Name` in - * OTLP). - */ + /** + * The name of the instrumentation scope - (`InstrumentationScope.Name` in OTLP). + */ val OtelScopeName: AttributeKey[String] = string("otel.scope.name") - /** The version of the instrumentation scope - (`InstrumentationScope.Version` - * in OTLP). - */ + /** + * The version of the instrumentation scope - (`InstrumentationScope.Version` in OTLP). + */ val OtelScopeVersion: AttributeKey[String] = string("otel.scope.version") - /** Name of the code, either "OK" or "ERROR". MUST NOT be - * set if the status code is UNSET. - */ + /** + * Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET. + */ val OtelStatusCode: AttributeKey[String] = string("otel.status_code") - /** Description of the Status if it has a value, otherwise not set. - */ - val OtelStatusDescription: AttributeKey[String] = string( - "otel.status_description" - ) + /** + * Description of the Status if it has a value, otherwise not set. + */ + val OtelStatusDescription: AttributeKey[String] = string("otel.status_description") // Enum definitions - - /** Values for [[OtelStatusCode]]. - */ + + /** + * Values for [[OtelStatusCode]]. + */ abstract class OtelStatusCodeValue(val value: String) object OtelStatusCodeValue { - - /** The operation has been validated by an Application developer or Operator - * to have completed successfully. - */ + /** The operation has been validated by an Application developer or Operator to have completed successfully. */ case object Ok extends OtelStatusCodeValue("OK") - /** The operation contains an error. */ case object Error extends OtelStatusCodeValue("ERROR") } -} +} \ No newline at end of file diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ServerAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ServerAttributes.scala index 0b730805f..03acca64f 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ServerAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ServerAttributes.scala @@ -22,23 +22,20 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ServerAttributes { - /** Server domain name if available without reverse DNS lookup; otherwise, IP - * address or Unix domain socket name. - * - * @note - * - When observed from the client side, and when communicating through an - * intermediary, `server.address` SHOULD represent the server address - * behind any intermediaries, for example proxies, if it's available. - */ + /** + * Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. + * + * @note + * - When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. + */ val ServerAddress: AttributeKey[String] = string("server.address") - /** Server port number. - * - * @note - * - When observed from the client side, and when communicating through an - * intermediary, `server.port` SHOULD represent the server port behind - * any intermediaries, for example proxies, if it's available. - */ + /** + * Server port number. + * + * @note + * - When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available. + */ val ServerPort: AttributeKey[Long] = long("server.port") -} +} \ No newline at end of file diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ServiceAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ServiceAttributes.scala index 917ea235a..efcbcccb0 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ServiceAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ServiceAttributes.scala @@ -22,21 +22,17 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ServiceAttributes { - /** Logical name of the service. - * - * @note - * - MUST be the same for all instances of horizontally scaled services. If - * the value was not specified, SDKs MUST fallback to `unknown_service:` - * concatenated with `process.executable.name`, e.g. - * `unknown_service:bash`. If `process.executable.name` is not available, - * the value MUST be set to `unknown_service`. - */ + /** + * Logical name of the service. + * + * @note + * - MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to `unknown_service:` concatenated with `process.executable.name`, e.g. `unknown_service:bash`. If `process.executable.name` is not available, the value MUST be set to `unknown_service`. + */ val ServiceName: AttributeKey[String] = string("service.name") - /** The version string of the service API or implementation. The format is not - * defined by these conventions. - */ + /** + * The version string of the service API or implementation. The format is not defined by these conventions. + */ val ServiceVersion: AttributeKey[String] = string("service.version") -} +} \ No newline at end of file diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/TelemetryAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/TelemetryAttributes.scala index 205aa24ef..dbc2053b0 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/TelemetryAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/TelemetryAttributes.scala @@ -22,76 +22,61 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object TelemetryAttributes { - /** The language of the telemetry SDK. - */ - val TelemetrySdkLanguage: AttributeKey[String] = string( - "telemetry.sdk.language" - ) - - /** The name of the telemetry SDK as defined above. - * - * @note - * - The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute to - * `opentelemetry`. If another SDK, like a fork or a vendor-provided - * implementation, is used, this SDK MUST set the `telemetry.sdk.name` - * attribute to the fully-qualified class or module name of this SDK's - * main entry point or another suitable identifier depending on the - * language. The identifier `opentelemetry` is reserved and MUST NOT be - * used in this case. All custom identifiers SHOULD be stable across - * different versions of an implementation. - */ + /** + * The language of the telemetry SDK. + */ + val TelemetrySdkLanguage: AttributeKey[String] = string("telemetry.sdk.language") + + /** + * The name of the telemetry SDK as defined above. + * + * @note + * - The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute to `opentelemetry`. +If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the +`telemetry.sdk.name` attribute to the fully-qualified class or module name of this SDK's main entry point +or another suitable identifier depending on the language. +The identifier `opentelemetry` is reserved and MUST NOT be used in this case. +All custom identifiers SHOULD be stable across different versions of an implementation. + */ val TelemetrySdkName: AttributeKey[String] = string("telemetry.sdk.name") - /** The version string of the telemetry SDK. - */ - val TelemetrySdkVersion: AttributeKey[String] = string( - "telemetry.sdk.version" - ) + /** + * The version string of the telemetry SDK. + */ + val TelemetrySdkVersion: AttributeKey[String] = string("telemetry.sdk.version") // Enum definitions - - /** Values for [[TelemetrySdkLanguage]]. - */ + + /** + * Values for [[TelemetrySdkLanguage]]. + */ abstract class TelemetrySdkLanguageValue(val value: String) object TelemetrySdkLanguageValue { - /** cpp. */ case object Cpp extends TelemetrySdkLanguageValue("cpp") - /** dotnet. */ case object Dotnet extends TelemetrySdkLanguageValue("dotnet") - /** erlang. */ case object Erlang extends TelemetrySdkLanguageValue("erlang") - /** go. */ case object Go extends TelemetrySdkLanguageValue("go") - /** java. */ case object Java extends TelemetrySdkLanguageValue("java") - /** nodejs. */ case object Nodejs extends TelemetrySdkLanguageValue("nodejs") - /** php. */ case object Php extends TelemetrySdkLanguageValue("php") - /** python. */ case object Python extends TelemetrySdkLanguageValue("python") - /** ruby. */ case object Ruby extends TelemetrySdkLanguageValue("ruby") - /** rust. */ case object Rust extends TelemetrySdkLanguageValue("rust") - /** swift. */ case object Swift extends TelemetrySdkLanguageValue("swift") - /** webjs. */ case object Webjs extends TelemetrySdkLanguageValue("webjs") - /** scala. */ case object Scala extends TelemetrySdkLanguageValue("scala") } -} +} \ No newline at end of file diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/UrlAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/UrlAttributes.scala index a22fab30a..a391ef02e 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/UrlAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/UrlAttributes.scala @@ -22,50 +22,40 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object UrlAttributes { - /** The URI - * fragment component - */ + /** + * The URI fragment component + */ val UrlFragment: AttributeKey[String] = string("url.fragment") - /** Absolute URL describing a network resource according to RFC3986 - * - * @note - * - For network calls, URL usually has - * `scheme://host[:port][path][?query][#fragment]` format, where the - * fragment is not transmitted over HTTP, but if it is known, it SHOULD - * be included nevertheless. `url.full` MUST NOT contain credentials - * passed via URL in form of - * `https://username:password@www.example.com/`. In such case username - * and password SHOULD be redacted and attribute's value SHOULD be - * `https://REDACTED:REDACTED@www.example.com/`. `url.full` SHOULD - * capture the absolute URL when it is available (or can be - * reconstructed). Sensitive content provided in `url.full` SHOULD be - * scrubbed when instrumentations can identify it. - */ + /** + * Absolute URL describing a network resource according to RFC3986 + * + * @note + * - For network calls, URL usually has `scheme://host[:port][path][?query][#fragment]` format, where the fragment is not transmitted over HTTP, but if it is known, it SHOULD be included nevertheless. +`url.full` MUST NOT contain credentials passed via URL in form of `https://username:password@www.example.com/`. In such case username and password SHOULD be redacted and attribute's value SHOULD be `https://REDACTED:REDACTED@www.example.com/`. +`url.full` SHOULD capture the absolute URL when it is available (or can be reconstructed). Sensitive content provided in `url.full` SHOULD be scrubbed when instrumentations can identify it. + */ val UrlFull: AttributeKey[String] = string("url.full") - /** The URI - * path component - * - * @note - * - Sensitive content provided in `url.path` SHOULD be scrubbed when - * instrumentations can identify it. - */ + /** + * The URI path component + * + * @note + * - Sensitive content provided in `url.path` SHOULD be scrubbed when instrumentations can identify it. + */ val UrlPath: AttributeKey[String] = string("url.path") - /** The URI - * query component - * - * @note - * - Sensitive content provided in `url.query` SHOULD be scrubbed when - * instrumentations can identify it. - */ + /** + * The URI query component + * + * @note + * - Sensitive content provided in `url.query` SHOULD be scrubbed when instrumentations can identify it. + */ val UrlQuery: AttributeKey[String] = string("url.query") - /** The URI - * scheme component identifying the used protocol. - */ + /** + * The URI scheme component identifying the used protocol. + */ val UrlScheme: AttributeKey[String] = string("url.scheme") -} +} \ No newline at end of file diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/UserAgentAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/UserAgentAttributes.scala index aced41e92..5f77b38ed 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/UserAgentAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/UserAgentAttributes.scala @@ -22,10 +22,9 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object UserAgentAttributes { - /** Value of the HTTP - * User-Agent header sent by the client. - */ + /** + * Value of the HTTP User-Agent header sent by the client. + */ val UserAgentOriginal: AttributeKey[String] = string("user_agent.original") -} +} \ No newline at end of file From 5875c2f4c68862e692be2ad3e8a1c68c79665cac Mon Sep 17 00:00:00 2001 From: Maksym Ochenashko Date: Tue, 9 Jul 2024 08:49:27 +0300 Subject: [PATCH 3/6] Run `scalafmt` --- .../AndroidExperimentalAttributes.scala | 49 +- .../AwsExperimentalAttributes.scala | 547 ++++++++------- .../BrowserExperimentalAttributes.scala | 64 +- .../ClientExperimentalAttributes.scala | 39 +- .../CloudExperimentalAttributes.scala | 194 ++++-- .../CloudeventsExperimentalAttributes.scala | 54 +- .../CodeExperimentalAttributes.scala | 40 +- .../ContainerExperimentalAttributes.scala | 151 ++-- .../DbExperimentalAttributes.scala | 506 ++++++++------ .../DeploymentExperimentalAttributes.scala | 30 +- .../DestinationExperimentalAttributes.scala | 22 +- .../DeviceExperimentalAttributes.scala | 70 +- .../DiskExperimentalAttributes.scala | 16 +- .../DnsExperimentalAttributes.scala | 17 +- .../EnduserExperimentalAttributes.scala | 26 +- .../ErrorExperimentalAttributes.scala | 64 +- .../EventExperimentalAttributes.scala | 17 +- .../ExceptionExperimentalAttributes.scala | 82 ++- .../FaasExperimentalAttributes.scala | 242 ++++--- .../FeatureFlagExperimentalAttributes.scala | 41 +- .../FileExperimentalAttributes.scala | 36 +- .../GcpExperimentalAttributes.scala | 53 +- .../GraphqlExperimentalAttributes.scala | 41 +- .../HerokuExperimentalAttributes.scala | 25 +- .../HostExperimentalAttributes.scala | 126 ++-- .../HttpExperimentalAttributes.scala | 374 ++++++---- .../JvmExperimentalAttributes.scala | 134 ++-- .../K8sExperimentalAttributes.scala | 193 +++--- .../LogExperimentalAttributes.scala | 62 +- .../MessageExperimentalAttributes.scala | 39 +- .../MessagingExperimentalAttributes.scala | 644 ++++++++++-------- .../NetExperimentalAttributes.scala | 110 +-- .../NetworkExperimentalAttributes.scala | 263 ++++--- .../OciExperimentalAttributes.scala | 21 +- .../OpentracingExperimentalAttributes.scala | 26 +- .../OsExperimentalAttributes.scala | 48 +- .../OtelExperimentalAttributes.scala | 77 ++- .../OtherExperimentalAttributes.scala | 16 +- .../PeerExperimentalAttributes.scala | 9 +- .../PoolExperimentalAttributes.scala | 7 +- .../ProcessExperimentalAttributes.scala | 256 +++---- .../RpcExperimentalAttributes.scala | 305 ++++++--- .../ServerExperimentalAttributes.scala | 39 +- .../ServiceExperimentalAttributes.scala | 116 ++-- .../SessionExperimentalAttributes.scala | 12 +- .../SourceExperimentalAttributes.scala | 22 +- .../SystemExperimentalAttributes.scala | 224 +++--- .../TelemetryExperimentalAttributes.scala | 117 ++-- .../ThreadExperimentalAttributes.scala | 12 +- .../TlsExperimentalAttributes.scala | 254 ++++--- .../UrlExperimentalAttributes.scala | 204 +++--- .../UserAgentExperimentalAttributes.scala | 48 +- .../WebengineExperimentalAttributes.scala | 22 +- .../otel4s/semconv/ClientAttributes.scala | 29 +- .../otel4s/semconv/ErrorAttributes.scala | 54 +- .../otel4s/semconv/ExceptionAttributes.scala | 62 +- .../otel4s/semconv/HttpAttributes.scala | 179 +++-- .../otel4s/semconv/JvmAttributes.scala | 82 ++- .../otel4s/semconv/NetworkAttributes.scala | 120 ++-- .../otel4s/semconv/OtelAttributes.scala | 42 +- .../otel4s/semconv/ServerAttributes.scala | 29 +- .../otel4s/semconv/ServiceAttributes.scala | 23 +- .../otel4s/semconv/TelemetryAttributes.scala | 65 +- .../otel4s/semconv/UrlAttributes.scala | 64 +- .../otel4s/semconv/UserAgentAttributes.scala | 9 +- 65 files changed, 4093 insertions(+), 2871 deletions(-) diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/AndroidExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/AndroidExperimentalAttributes.scala index 4384411ac..6c9a91366 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/AndroidExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/AndroidExperimentalAttributes.scala @@ -22,31 +22,46 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object AndroidExperimentalAttributes { - /** - * Uniquely identifies the framework API revision offered by a version (`os.version`) of the android operating system. More information can be found here. - */ + /** Uniquely identifies the framework API revision offered by a version + * (`os.version`) of the android operating system. More information can be + * found here. + */ val AndroidOsApiLevel: AttributeKey[String] = string("android.os.api_level") - /** - * Deprecated use the `device.app.lifecycle` event definition including `android.state` as a payload field instead. - * - * @note - * - The Android lifecycle states are defined in Activity lifecycle callbacks, and from which the `OS identifiers` are derived. - */ + /** Deprecated use the `device.app.lifecycle` event definition including + * `android.state` as a payload field instead. + * + * @note + * - The Android lifecycle states are defined in Activity + * lifecycle callbacks, and from which the `OS identifiers` are + * derived. + */ val AndroidState: AttributeKey[String] = string("android.state") // Enum definitions - - /** - * Values for [[AndroidState]]. - */ + + /** Values for [[AndroidState]]. + */ abstract class AndroidStateValue(val value: String) object AndroidStateValue { - /** Any time before Activity.onResume() or, if the app has no Activity, Context.startService() has been called in the app for the first time. */ + + /** Any time before Activity.onResume() or, if the app has no Activity, + * Context.startService() has been called in the app for the first time. + */ case object Created extends AndroidStateValue("created") - /** Any time after Activity.onPause() or, if the app has no Activity, Context.stopService() has been called when the app was in the foreground state. */ + + /** Any time after Activity.onPause() or, if the app has no Activity, + * Context.stopService() has been called when the app was in the foreground + * state. + */ case object Background extends AndroidStateValue("background") - /** Any time after Activity.onResume() or, if the app has no Activity, Context.startService() has been called when the app was in either the created or background states. */ + + /** Any time after Activity.onResume() or, if the app has no Activity, + * Context.startService() has been called when the app was in either the + * created or background states. + */ case object Foreground extends AndroidStateValue("foreground") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/AwsExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/AwsExperimentalAttributes.scala index 47caba768..4bdf7fd20 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/AwsExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/AwsExperimentalAttributes.scala @@ -22,287 +22,358 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object AwsExperimentalAttributes { - /** - * The JSON-serialized value of each item in the `AttributeDefinitions` request field. - */ - val AwsDynamodbAttributeDefinitions: AttributeKey[Seq[String]] = stringSeq("aws.dynamodb.attribute_definitions") - - /** - * The value of the `AttributesToGet` request parameter. - */ - val AwsDynamodbAttributesToGet: AttributeKey[Seq[String]] = stringSeq("aws.dynamodb.attributes_to_get") - - /** - * The value of the `ConsistentRead` request parameter. - */ - val AwsDynamodbConsistentRead: AttributeKey[Boolean] = boolean("aws.dynamodb.consistent_read") - - /** - * The JSON-serialized value of each item in the `ConsumedCapacity` response field. - */ - val AwsDynamodbConsumedCapacity: AttributeKey[Seq[String]] = stringSeq("aws.dynamodb.consumed_capacity") - - /** - * The value of the `Count` response parameter. - */ + /** The JSON-serialized value of each item in the `AttributeDefinitions` + * request field. + */ + val AwsDynamodbAttributeDefinitions: AttributeKey[Seq[String]] = stringSeq( + "aws.dynamodb.attribute_definitions" + ) + + /** The value of the `AttributesToGet` request parameter. + */ + val AwsDynamodbAttributesToGet: AttributeKey[Seq[String]] = stringSeq( + "aws.dynamodb.attributes_to_get" + ) + + /** The value of the `ConsistentRead` request parameter. + */ + val AwsDynamodbConsistentRead: AttributeKey[Boolean] = boolean( + "aws.dynamodb.consistent_read" + ) + + /** The JSON-serialized value of each item in the `ConsumedCapacity` response + * field. + */ + val AwsDynamodbConsumedCapacity: AttributeKey[Seq[String]] = stringSeq( + "aws.dynamodb.consumed_capacity" + ) + + /** The value of the `Count` response parameter. + */ val AwsDynamodbCount: AttributeKey[Long] = long("aws.dynamodb.count") - /** - * The value of the `ExclusiveStartTableName` request parameter. - */ - val AwsDynamodbExclusiveStartTable: AttributeKey[String] = string("aws.dynamodb.exclusive_start_table") - - /** - * The JSON-serialized value of each item in the `GlobalSecondaryIndexUpdates` request field. - */ - val AwsDynamodbGlobalSecondaryIndexUpdates: AttributeKey[Seq[String]] = stringSeq("aws.dynamodb.global_secondary_index_updates") - - /** - * The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field - */ - val AwsDynamodbGlobalSecondaryIndexes: AttributeKey[Seq[String]] = stringSeq("aws.dynamodb.global_secondary_indexes") - - /** - * The value of the `IndexName` request parameter. - */ - val AwsDynamodbIndexName: AttributeKey[String] = string("aws.dynamodb.index_name") - - /** - * The JSON-serialized value of the `ItemCollectionMetrics` response field. - */ - val AwsDynamodbItemCollectionMetrics: AttributeKey[String] = string("aws.dynamodb.item_collection_metrics") - - /** - * The value of the `Limit` request parameter. - */ + /** The value of the `ExclusiveStartTableName` request parameter. + */ + val AwsDynamodbExclusiveStartTable: AttributeKey[String] = string( + "aws.dynamodb.exclusive_start_table" + ) + + /** The JSON-serialized value of each item in the + * `GlobalSecondaryIndexUpdates` request field. + */ + val AwsDynamodbGlobalSecondaryIndexUpdates: AttributeKey[Seq[String]] = + stringSeq("aws.dynamodb.global_secondary_index_updates") + + /** The JSON-serialized value of each item of the `GlobalSecondaryIndexes` + * request field + */ + val AwsDynamodbGlobalSecondaryIndexes: AttributeKey[Seq[String]] = stringSeq( + "aws.dynamodb.global_secondary_indexes" + ) + + /** The value of the `IndexName` request parameter. + */ + val AwsDynamodbIndexName: AttributeKey[String] = string( + "aws.dynamodb.index_name" + ) + + /** The JSON-serialized value of the `ItemCollectionMetrics` response field. + */ + val AwsDynamodbItemCollectionMetrics: AttributeKey[String] = string( + "aws.dynamodb.item_collection_metrics" + ) + + /** The value of the `Limit` request parameter. + */ val AwsDynamodbLimit: AttributeKey[Long] = long("aws.dynamodb.limit") - /** - * The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field. - */ - val AwsDynamodbLocalSecondaryIndexes: AttributeKey[Seq[String]] = stringSeq("aws.dynamodb.local_secondary_indexes") - - /** - * The value of the `ProjectionExpression` request parameter. - */ - val AwsDynamodbProjection: AttributeKey[String] = string("aws.dynamodb.projection") - - /** - * The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter. - */ - val AwsDynamodbProvisionedReadCapacity: AttributeKey[Double] = double("aws.dynamodb.provisioned_read_capacity") - - /** - * The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter. - */ - val AwsDynamodbProvisionedWriteCapacity: AttributeKey[Double] = double("aws.dynamodb.provisioned_write_capacity") - - /** - * The value of the `ScanIndexForward` request parameter. - */ - val AwsDynamodbScanForward: AttributeKey[Boolean] = boolean("aws.dynamodb.scan_forward") - - /** - * The value of the `ScannedCount` response parameter. - */ - val AwsDynamodbScannedCount: AttributeKey[Long] = long("aws.dynamodb.scanned_count") - - /** - * The value of the `Segment` request parameter. - */ + /** The JSON-serialized value of each item of the `LocalSecondaryIndexes` + * request field. + */ + val AwsDynamodbLocalSecondaryIndexes: AttributeKey[Seq[String]] = stringSeq( + "aws.dynamodb.local_secondary_indexes" + ) + + /** The value of the `ProjectionExpression` request parameter. + */ + val AwsDynamodbProjection: AttributeKey[String] = string( + "aws.dynamodb.projection" + ) + + /** The value of the `ProvisionedThroughput.ReadCapacityUnits` request + * parameter. + */ + val AwsDynamodbProvisionedReadCapacity: AttributeKey[Double] = double( + "aws.dynamodb.provisioned_read_capacity" + ) + + /** The value of the `ProvisionedThroughput.WriteCapacityUnits` request + * parameter. + */ + val AwsDynamodbProvisionedWriteCapacity: AttributeKey[Double] = double( + "aws.dynamodb.provisioned_write_capacity" + ) + + /** The value of the `ScanIndexForward` request parameter. + */ + val AwsDynamodbScanForward: AttributeKey[Boolean] = boolean( + "aws.dynamodb.scan_forward" + ) + + /** The value of the `ScannedCount` response parameter. + */ + val AwsDynamodbScannedCount: AttributeKey[Long] = long( + "aws.dynamodb.scanned_count" + ) + + /** The value of the `Segment` request parameter. + */ val AwsDynamodbSegment: AttributeKey[Long] = long("aws.dynamodb.segment") - /** - * The value of the `Select` request parameter. - */ + /** The value of the `Select` request parameter. + */ val AwsDynamodbSelect: AttributeKey[String] = string("aws.dynamodb.select") - /** - * The number of items in the `TableNames` response parameter. - */ - val AwsDynamodbTableCount: AttributeKey[Long] = long("aws.dynamodb.table_count") - - /** - * The keys in the `RequestItems` object field. - */ - val AwsDynamodbTableNames: AttributeKey[Seq[String]] = stringSeq("aws.dynamodb.table_names") - - /** - * The value of the `TotalSegments` request parameter. - */ - val AwsDynamodbTotalSegments: AttributeKey[Long] = long("aws.dynamodb.total_segments") - - /** - * The ARN of an ECS cluster. - */ + /** The number of items in the `TableNames` response parameter. + */ + val AwsDynamodbTableCount: AttributeKey[Long] = long( + "aws.dynamodb.table_count" + ) + + /** The keys in the `RequestItems` object field. + */ + val AwsDynamodbTableNames: AttributeKey[Seq[String]] = stringSeq( + "aws.dynamodb.table_names" + ) + + /** The value of the `TotalSegments` request parameter. + */ + val AwsDynamodbTotalSegments: AttributeKey[Long] = long( + "aws.dynamodb.total_segments" + ) + + /** The ARN of an ECS + * cluster. + */ val AwsEcsClusterArn: AttributeKey[String] = string("aws.ecs.cluster.arn") - /** - * The Amazon Resource Name (ARN) of an ECS container instance. - */ + /** The Amazon Resource Name (ARN) of an ECS + * container instance. + */ val AwsEcsContainerArn: AttributeKey[String] = string("aws.ecs.container.arn") - /** - * The launch type for an ECS task. - */ + /** The launch + * type for an ECS task. + */ val AwsEcsLaunchtype: AttributeKey[String] = string("aws.ecs.launchtype") - /** - * The ARN of a running ECS task. - */ + /** The ARN of a running ECS + * task. + */ val AwsEcsTaskArn: AttributeKey[String] = string("aws.ecs.task.arn") - /** - * The family name of the ECS task definition used to create the ECS task. - */ + /** The family name of the ECS + * task definition used to create the ECS task. + */ val AwsEcsTaskFamily: AttributeKey[String] = string("aws.ecs.task.family") - /** - * The ID of a running ECS task. The ID MUST be extracted from `task.arn`. - */ + /** The ID of a running ECS task. The ID MUST be extracted from `task.arn`. + */ val AwsEcsTaskId: AttributeKey[String] = string("aws.ecs.task.id") - /** - * The revision for the task definition used to create the ECS task. - */ + /** The revision for the task definition used to create the ECS task. + */ val AwsEcsTaskRevision: AttributeKey[String] = string("aws.ecs.task.revision") - /** - * The ARN of an EKS cluster. - */ + /** The ARN of an EKS cluster. + */ val AwsEksClusterArn: AttributeKey[String] = string("aws.eks.cluster.arn") - /** - * The full invoked ARN as provided on the `Context` passed to the function (`Lambda-Runtime-Invoked-Function-Arn` header on the `/runtime/invocation/next` applicable). - * - * @note - * - This may be different from `cloud.resource_id` if an alias is involved. - */ - val AwsLambdaInvokedArn: AttributeKey[String] = string("aws.lambda.invoked_arn") - - /** - * The Amazon Resource Name(s) (ARN) of the AWS log group(s). - * - * @note - * - See the log group ARN format documentation. - */ - val AwsLogGroupArns: AttributeKey[Seq[String]] = stringSeq("aws.log.group.arns") - - /** - * The name(s) of the AWS log group(s) an application is writing to. - * - * @note - * - Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group. - */ - val AwsLogGroupNames: AttributeKey[Seq[String]] = stringSeq("aws.log.group.names") - - /** - * The ARN(s) of the AWS log stream(s). - * - * @note - * - See the log stream ARN format documentation. One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream. - */ - val AwsLogStreamArns: AttributeKey[Seq[String]] = stringSeq("aws.log.stream.arns") - - /** - * The name(s) of the AWS log stream(s) an application is writing to. - */ - val AwsLogStreamNames: AttributeKey[Seq[String]] = stringSeq("aws.log.stream.names") - - /** - * The AWS request ID as returned in the response headers `x-amz-request-id` or `x-amz-requestid`. - */ + /** The full invoked ARN as provided on the `Context` passed to the function + * (`Lambda-Runtime-Invoked-Function-Arn` header on the + * `/runtime/invocation/next` applicable). + * + * @note + * - This may be different from `cloud.resource_id` if an alias is + * involved. + */ + val AwsLambdaInvokedArn: AttributeKey[String] = string( + "aws.lambda.invoked_arn" + ) + + /** The Amazon Resource Name(s) (ARN) of the AWS log group(s). + * + * @note + * - See the log + * group ARN format documentation. + */ + val AwsLogGroupArns: AttributeKey[Seq[String]] = stringSeq( + "aws.log.group.arns" + ) + + /** The name(s) of the AWS log group(s) an application is writing to. + * + * @note + * - Multiple log groups must be supported for cases like multi-container + * applications, where a single application has sidecar containers, and + * each write to their own log group. + */ + val AwsLogGroupNames: AttributeKey[Seq[String]] = stringSeq( + "aws.log.group.names" + ) + + /** The ARN(s) of the AWS log stream(s). + * + * @note + * - See the log + * stream ARN format documentation. One log group can contain several + * log streams, so these ARNs necessarily identify both a log group and a + * log stream. + */ + val AwsLogStreamArns: AttributeKey[Seq[String]] = stringSeq( + "aws.log.stream.arns" + ) + + /** The name(s) of the AWS log stream(s) an application is writing to. + */ + val AwsLogStreamNames: AttributeKey[Seq[String]] = stringSeq( + "aws.log.stream.names" + ) + + /** The AWS request ID as returned in the response headers `x-amz-request-id` + * or `x-amz-requestid`. + */ val AwsRequestId: AttributeKey[String] = string("aws.request_id") - /** - * The S3 bucket name the request refers to. Corresponds to the `--bucket` parameter of the S3 API operations. - * - * @note - * - The `bucket` attribute is applicable to all S3 operations that reference a bucket, i.e. that require the bucket name as a mandatory parameter. -This applies to almost all S3 operations except `list-buckets`. - */ + /** The S3 bucket name the request refers to. Corresponds to the `--bucket` + * parameter of the S3 + * API operations. + * + * @note + * - The `bucket` attribute is applicable to all S3 operations that + * reference a bucket, i.e. that require the bucket name as a mandatory + * parameter. This applies to almost all S3 operations except + * `list-buckets`. + */ val AwsS3Bucket: AttributeKey[String] = string("aws.s3.bucket") - /** - * The source object (in the form `bucket`/`key`) for the copy operation. - * - * @note - * - The `copy_source` attribute applies to S3 copy operations and corresponds to the `--copy-source` parameter -of the copy-object operation within the S3 API. -This applies in particular to the following operations:
  • copy-object
  • -
  • upload-part-copy
  • - - */ + /** The source object (in the form `bucket`/`key`) for the copy operation. + * + * @note + * - The `copy_source` attribute applies to S3 copy operations and + * corresponds to the `--copy-source` parameter of the copy-object + * operation within the S3 API. This applies in particular to the + * following operations:
  • copy-object
  • + *
  • upload-part-copy
  • + */ val AwsS3CopySource: AttributeKey[String] = string("aws.s3.copy_source") - /** - * The delete request container that specifies the objects to be deleted. - * - * @note - * - The `delete` attribute is only applicable to the delete-object operation. -The `delete` attribute corresponds to the `--delete` parameter of the -delete-objects operation within the S3 API. - */ + /** The delete request container that specifies the objects to be deleted. + * + * @note + * - The `delete` attribute is only applicable to the delete-object + * operation. The `delete` attribute corresponds to the `--delete` + * parameter of the delete-objects + * operation within the S3 API. + */ val AwsS3Delete: AttributeKey[String] = string("aws.s3.delete") - /** - * The S3 object key the request refers to. Corresponds to the `--key` parameter of the S3 API operations. - * - * @note - * - The `key` attribute is applicable to all object-related S3 operations, i.e. that require the object key as a mandatory parameter. -This applies in particular to the following operations:
  • copy-object
  • -
  • delete-object
  • -
  • get-object
  • -
  • head-object
  • -
  • put-object
  • -
  • restore-object
  • -
  • select-object-content
  • -
  • abort-multipart-upload
  • -
  • complete-multipart-upload
  • -
  • create-multipart-upload
  • -
  • list-parts
  • -
  • upload-part
  • -
  • upload-part-copy
  • - - */ + /** The S3 object key the request refers to. Corresponds to the `--key` + * parameter of the S3 + * API operations. + * + * @note + * - The `key` attribute is applicable to all object-related S3 operations, + * i.e. that require the object key as a mandatory parameter. This + * applies in particular to the following operations:
  • copy-object
  • + *
  • delete-object
  • + *
  • get-object
  • + *
  • head-object
  • + *
  • put-object
  • + *
  • restore-object
  • + *
  • select-object-content
  • + *
  • abort-multipart-upload
  • + *
  • complete-multipart-upload
  • + *
  • create-multipart-upload
  • + *
  • list-parts
  • + *
  • upload-part
  • + *
  • upload-part-copy
  • + */ val AwsS3Key: AttributeKey[String] = string("aws.s3.key") - /** - * The part number of the part being uploaded in a multipart-upload operation. This is a positive integer between 1 and 10,000. - * - * @note - * - The `part_number` attribute is only applicable to the upload-part -and upload-part-copy operations. -The `part_number` attribute corresponds to the `--part-number` parameter of the -upload-part operation within the S3 API. - */ + /** The part number of the part being uploaded in a multipart-upload + * operation. This is a positive integer between 1 and 10,000. + * + * @note + * - The `part_number` attribute is only applicable to the upload-part + * and upload-part-copy + * operations. The `part_number` attribute corresponds to the + * `--part-number` parameter of the upload-part + * operation within the S3 API. + */ val AwsS3PartNumber: AttributeKey[Long] = long("aws.s3.part_number") - /** - * Upload ID that identifies the multipart upload. - * - * @note - * - The `upload_id` attribute applies to S3 multipart-upload operations and corresponds to the `--upload-id` parameter -of the S3 API multipart operations. -This applies in particular to the following operations:
  • abort-multipart-upload
  • -
  • complete-multipart-upload
  • -
  • list-parts
  • -
  • upload-part
  • -
  • upload-part-copy
  • - - */ + /** Upload ID that identifies the multipart upload. + * + * @note + * - The `upload_id` attribute applies to S3 multipart-upload operations + * and corresponds to the `--upload-id` parameter of the S3 + * API multipart operations. This applies in particular to the + * following operations:
  • abort-multipart-upload
  • + *
  • complete-multipart-upload
  • + *
  • list-parts
  • + *
  • upload-part
  • + *
  • upload-part-copy
  • + */ val AwsS3UploadId: AttributeKey[String] = string("aws.s3.upload_id") // Enum definitions - - /** - * Values for [[AwsEcsLaunchtype]]. - */ + + /** Values for [[AwsEcsLaunchtype]]. + */ abstract class AwsEcsLaunchtypeValue(val value: String) object AwsEcsLaunchtypeValue { + /** ec2. */ case object Ec2 extends AwsEcsLaunchtypeValue("ec2") + /** fargate. */ case object Fargate extends AwsEcsLaunchtypeValue("fargate") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/BrowserExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/BrowserExperimentalAttributes.scala index 87bac85aa..d8a715a02 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/BrowserExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/BrowserExperimentalAttributes.scala @@ -22,37 +22,49 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object BrowserExperimentalAttributes { - /** - * Array of brand name and version separated by a space - * - * @note - * - This value is intended to be taken from the UA client hints API (`navigator.userAgentData.brands`). - */ + /** Array of brand name and version separated by a space + * + * @note + * - This value is intended to be taken from the UA client + * hints API (`navigator.userAgentData.brands`). + */ val BrowserBrands: AttributeKey[Seq[String]] = stringSeq("browser.brands") - /** - * Preferred language of the user using the browser - * - * @note - * - This value is intended to be taken from the Navigator API `navigator.language`. - */ + /** Preferred language of the user using the browser + * + * @note + * - This value is intended to be taken from the Navigator API + * `navigator.language`. + */ val BrowserLanguage: AttributeKey[String] = string("browser.language") - /** - * A boolean that is true if the browser is running on a mobile device - * - * @note - * - This value is intended to be taken from the UA client hints API (`navigator.userAgentData.mobile`). If unavailable, this attribute SHOULD be left unset. - */ + /** A boolean that is true if the browser is running on a mobile device + * + * @note + * - This value is intended to be taken from the UA client + * hints API (`navigator.userAgentData.mobile`). If unavailable, this + * attribute SHOULD be left unset. + */ val BrowserMobile: AttributeKey[Boolean] = boolean("browser.mobile") - /** - * The platform on which the browser is running - * - * @note - * - This value is intended to be taken from the UA client hints API (`navigator.userAgentData.platform`). If unavailable, the legacy `navigator.platform` API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the values to be consistent. -The list of possible values is defined in the W3C User-Agent Client Hints specification. Note that some (but not all) of these values can overlap with values in the `os.type` and `os.name` attributes. However, for consistency, the values in the `browser.platform` attribute should capture the exact value that the user agent provides. - */ + /** The platform on which the browser is running + * + * @note + * - This value is intended to be taken from the UA client + * hints API (`navigator.userAgentData.platform`). If unavailable, + * the legacy `navigator.platform` API SHOULD NOT be used instead and + * this attribute SHOULD be left unset in order for the values to be + * consistent. The list of possible values is defined in the W3C + * User-Agent Client Hints specification. Note that some (but not + * all) of these values can overlap with values in the `os.type` and `os.name` attributes. However, for + * consistency, the values in the `browser.platform` attribute should + * capture the exact value that the user agent provides. + */ val BrowserPlatform: AttributeKey[String] = string("browser.platform") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ClientExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ClientExperimentalAttributes.scala index de2708c8d..8ce248d78 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ClientExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ClientExperimentalAttributes.scala @@ -22,22 +22,31 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ClientExperimentalAttributes { - /** - * Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. - * - * @note - * - When observed from the server side, and when communicating through an intermediary, `client.address` SHOULD represent the client address behind any intermediaries, for example proxies, if it's available. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.ClientAttributes.ClientAddress` instead.", "0.5.0") + /** Client address - domain name if available without reverse DNS lookup; + * otherwise, IP address or Unix domain socket name. + * + * @note + * - When observed from the server side, and when communicating through an + * intermediary, `client.address` SHOULD represent the client address + * behind any intermediaries, for example proxies, if it's available. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.ClientAttributes.ClientAddress` instead.", + "0.5.0" + ) val ClientAddress: AttributeKey[String] = string("client.address") - /** - * Client port number. - * - * @note - * - When observed from the server side, and when communicating through an intermediary, `client.port` SHOULD represent the client port behind any intermediaries, for example proxies, if it's available. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.ClientAttributes.ClientPort` instead.", "0.5.0") + /** Client port number. + * + * @note + * - When observed from the server side, and when communicating through an + * intermediary, `client.port` SHOULD represent the client port behind + * any intermediaries, for example proxies, if it's available. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.ClientAttributes.ClientPort` instead.", + "0.5.0" + ) val ClientPort: AttributeKey[Long] = long("client.port") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CloudExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CloudExperimentalAttributes.scala index b6fdece45..718206cb5 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CloudExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CloudExperimentalAttributes.scala @@ -22,144 +22,212 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object CloudExperimentalAttributes { - /** - * The cloud account ID the resource is assigned to. - */ + /** The cloud account ID the resource is assigned to. + */ val CloudAccountId: AttributeKey[String] = string("cloud.account.id") - /** - * Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running. - * - * @note - * - Availability zones are called "zones" on Alibaba Cloud and Google Cloud. - */ - val CloudAvailabilityZone: AttributeKey[String] = string("cloud.availability_zone") - - /** - * The cloud platform in use. - * - * @note - * - The prefix of the service SHOULD match the one specified in `cloud.provider`. - */ + /** Cloud regions often have multiple, isolated locations known as zones to + * increase availability. Availability zone represents the zone where the + * resource is running. + * + * @note + * - Availability zones are called "zones" on Alibaba Cloud and + * Google Cloud. + */ + val CloudAvailabilityZone: AttributeKey[String] = string( + "cloud.availability_zone" + ) + + /** The cloud platform in use. + * + * @note + * - The prefix of the service SHOULD match the one specified in + * `cloud.provider`. + */ val CloudPlatform: AttributeKey[String] = string("cloud.platform") - /** - * Name of the cloud provider. - */ + /** Name of the cloud provider. + */ val CloudProvider: AttributeKey[String] = string("cloud.provider") - /** - * The geographical region the resource is running. - * - * @note - * - Refer to your provider's docs to see the available regions, for example Alibaba Cloud regions, AWS regions, Azure regions, Google Cloud regions, or Tencent Cloud regions. - */ + /** The geographical region the resource is running. + * + * @note + * - Refer to your provider's docs to see the available regions, for + * example Alibaba + * Cloud regions, AWS + * regions, Azure + * regions, Google + * Cloud regions, or Tencent + * Cloud regions. + */ val CloudRegion: AttributeKey[String] = string("cloud.region") - /** - * Cloud provider-specific native identifier of the monitored cloud resource (e.g. an ARN on AWS, a fully qualified resource ID on Azure, a full resource name on GCP) - * - * @note - * - On some cloud providers, it may not be possible to determine the full ID at startup, -so it may be necessary to set `cloud.resource_id` as a span attribute instead. - * - The exact value to use for `cloud.resource_id` depends on the cloud provider. -The following well-known definitions MUST be used if you set this attribute and they apply:
  • AWS Lambda: The function ARN. -Take care not to use the "invoked ARN" directly but replace any -alias suffix -with the resolved function version, as the same runtime instance may be invokable with -multiple different aliases.
  • -
  • GCP: The URI of the resource
  • -
  • Azure: The Fully Qualified Resource ID of the invoked function, -not the function app, having the form -`/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/`. -This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share -a TracerProvider.
  • - - */ + /** Cloud provider-specific native identifier of the monitored cloud resource + * (e.g. an ARN + * on AWS, a fully + * qualified resource ID on Azure, a full + * resource name on GCP) + * + * @note + * - On some cloud providers, it may not be possible to determine the full + * ID at startup, so it may be necessary to set `cloud.resource_id` as a + * span attribute instead. + * - The exact value to use for `cloud.resource_id` depends on the cloud + * provider. The following well-known definitions MUST be used if you set + * this attribute and they apply:
  • AWS Lambda: The + * function ARN. + * Take care not to use the "invoked ARN" directly but replace + * any alias + * suffix with the resolved function version, as the same runtime + * instance may be invokable with multiple different aliases.
  • + *
  • GCP: The URI of + * the resource
  • Azure: The Fully + * Qualified Resource ID of the invoked function, not the + * function app, having the form + * `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/`. + * This means that a span attribute MUST be used, as an Azure function + * app can host multiple functions that would usually share a + * TracerProvider.
  • + */ val CloudResourceId: AttributeKey[String] = string("cloud.resource_id") // Enum definitions - - /** - * Values for [[CloudPlatform]]. - */ + + /** Values for [[CloudPlatform]]. + */ abstract class CloudPlatformValue(val value: String) object CloudPlatformValue { + /** Alibaba Cloud Elastic Compute Service. */ case object AlibabaCloudEcs extends CloudPlatformValue("alibaba_cloud_ecs") + /** Alibaba Cloud Function Compute. */ case object AlibabaCloudFc extends CloudPlatformValue("alibaba_cloud_fc") + /** Red Hat OpenShift on Alibaba Cloud. */ - case object AlibabaCloudOpenshift extends CloudPlatformValue("alibaba_cloud_openshift") + case object AlibabaCloudOpenshift + extends CloudPlatformValue("alibaba_cloud_openshift") + /** AWS Elastic Compute Cloud. */ case object AwsEc2 extends CloudPlatformValue("aws_ec2") + /** AWS Elastic Container Service. */ case object AwsEcs extends CloudPlatformValue("aws_ecs") + /** AWS Elastic Kubernetes Service. */ case object AwsEks extends CloudPlatformValue("aws_eks") + /** AWS Lambda. */ case object AwsLambda extends CloudPlatformValue("aws_lambda") + /** AWS Elastic Beanstalk. */ - case object AwsElasticBeanstalk extends CloudPlatformValue("aws_elastic_beanstalk") + case object AwsElasticBeanstalk + extends CloudPlatformValue("aws_elastic_beanstalk") + /** AWS App Runner. */ case object AwsAppRunner extends CloudPlatformValue("aws_app_runner") + /** Red Hat OpenShift on AWS (ROSA). */ case object AwsOpenshift extends CloudPlatformValue("aws_openshift") + /** Azure Virtual Machines. */ case object AzureVm extends CloudPlatformValue("azure_vm") + /** Azure Container Apps. */ - case object AzureContainerApps extends CloudPlatformValue("azure_container_apps") + case object AzureContainerApps + extends CloudPlatformValue("azure_container_apps") + /** Azure Container Instances. */ - case object AzureContainerInstances extends CloudPlatformValue("azure_container_instances") + case object AzureContainerInstances + extends CloudPlatformValue("azure_container_instances") + /** Azure Kubernetes Service. */ case object AzureAks extends CloudPlatformValue("azure_aks") + /** Azure Functions. */ case object AzureFunctions extends CloudPlatformValue("azure_functions") + /** Azure App Service. */ case object AzureAppService extends CloudPlatformValue("azure_app_service") + /** Azure Red Hat OpenShift. */ case object AzureOpenshift extends CloudPlatformValue("azure_openshift") + /** Google Bare Metal Solution (BMS). */ - case object GcpBareMetalSolution extends CloudPlatformValue("gcp_bare_metal_solution") + case object GcpBareMetalSolution + extends CloudPlatformValue("gcp_bare_metal_solution") + /** Google Cloud Compute Engine (GCE). */ - case object GcpComputeEngine extends CloudPlatformValue("gcp_compute_engine") + case object GcpComputeEngine + extends CloudPlatformValue("gcp_compute_engine") + /** Google Cloud Run. */ case object GcpCloudRun extends CloudPlatformValue("gcp_cloud_run") + /** Google Cloud Kubernetes Engine (GKE). */ - case object GcpKubernetesEngine extends CloudPlatformValue("gcp_kubernetes_engine") + case object GcpKubernetesEngine + extends CloudPlatformValue("gcp_kubernetes_engine") + /** Google Cloud Functions (GCF). */ - case object GcpCloudFunctions extends CloudPlatformValue("gcp_cloud_functions") + case object GcpCloudFunctions + extends CloudPlatformValue("gcp_cloud_functions") + /** Google Cloud App Engine (GAE). */ case object GcpAppEngine extends CloudPlatformValue("gcp_app_engine") + /** Red Hat OpenShift on Google Cloud. */ case object GcpOpenshift extends CloudPlatformValue("gcp_openshift") + /** Red Hat OpenShift on IBM Cloud. */ - case object IbmCloudOpenshift extends CloudPlatformValue("ibm_cloud_openshift") + case object IbmCloudOpenshift + extends CloudPlatformValue("ibm_cloud_openshift") + /** Tencent Cloud Cloud Virtual Machine (CVM). */ case object TencentCloudCvm extends CloudPlatformValue("tencent_cloud_cvm") + /** Tencent Cloud Elastic Kubernetes Service (EKS). */ case object TencentCloudEks extends CloudPlatformValue("tencent_cloud_eks") + /** Tencent Cloud Serverless Cloud Function (SCF). */ case object TencentCloudScf extends CloudPlatformValue("tencent_cloud_scf") } - /** - * Values for [[CloudProvider]]. - */ + + /** Values for [[CloudProvider]]. + */ abstract class CloudProviderValue(val value: String) object CloudProviderValue { + /** Alibaba Cloud. */ case object AlibabaCloud extends CloudProviderValue("alibaba_cloud") + /** Amazon Web Services. */ case object Aws extends CloudProviderValue("aws") + /** Microsoft Azure. */ case object Azure extends CloudProviderValue("azure") + /** Google Cloud Platform. */ case object Gcp extends CloudProviderValue("gcp") + /** Heroku Platform as a Service. */ case object Heroku extends CloudProviderValue("heroku") + /** IBM Cloud. */ case object IbmCloud extends CloudProviderValue("ibm_cloud") + /** Tencent Cloud. */ case object TencentCloud extends CloudProviderValue("tencent_cloud") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CloudeventsExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CloudeventsExperimentalAttributes.scala index 5c8901af7..fa6f33dae 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CloudeventsExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CloudeventsExperimentalAttributes.scala @@ -22,29 +22,43 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object CloudeventsExperimentalAttributes { - /** - * The event_id uniquely identifies the event. - */ + /** The event_id + * uniquely identifies the event. + */ val CloudeventsEventId: AttributeKey[String] = string("cloudevents.event_id") - /** - * The source identifies the context in which an event happened. - */ - val CloudeventsEventSource: AttributeKey[String] = string("cloudevents.event_source") + /** The source + * identifies the context in which an event happened. + */ + val CloudeventsEventSource: AttributeKey[String] = string( + "cloudevents.event_source" + ) - /** - * The version of the CloudEvents specification which the event uses. - */ - val CloudeventsEventSpecVersion: AttributeKey[String] = string("cloudevents.event_spec_version") + /** The version + * of the CloudEvents specification which the event uses. + */ + val CloudeventsEventSpecVersion: AttributeKey[String] = string( + "cloudevents.event_spec_version" + ) - /** - * The subject of the event in the context of the event producer (identified by source). - */ - val CloudeventsEventSubject: AttributeKey[String] = string("cloudevents.event_subject") + /** The subject + * of the event in the context of the event producer (identified by source). + */ + val CloudeventsEventSubject: AttributeKey[String] = string( + "cloudevents.event_subject" + ) - /** - * The event_type contains a value describing the type of event related to the originating occurrence. - */ - val CloudeventsEventType: AttributeKey[String] = string("cloudevents.event_type") + /** The event_type + * contains a value describing the type of event related to the originating + * occurrence. + */ + val CloudeventsEventType: AttributeKey[String] = string( + "cloudevents.event_type" + ) -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CodeExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CodeExperimentalAttributes.scala index 7ada1b9d1..a340935c4 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CodeExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/CodeExperimentalAttributes.scala @@ -22,34 +22,36 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object CodeExperimentalAttributes { - /** - * The column number in `code.filepath` best representing the operation. It SHOULD point within the code unit named in `code.function`. - */ + /** The column number in `code.filepath` best representing the operation. It + * SHOULD point within the code unit named in `code.function`. + */ val CodeColumn: AttributeKey[Long] = long("code.column") - /** - * The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path). - */ + /** The source code file name that identifies the code unit as uniquely as + * possible (preferably an absolute file path). + */ val CodeFilepath: AttributeKey[String] = string("code.filepath") - /** - * The method or function name, or equivalent (usually rightmost part of the code unit's name). - */ + /** The method or function name, or equivalent (usually rightmost part of the + * code unit's name). + */ val CodeFunction: AttributeKey[String] = string("code.function") - /** - * The line number in `code.filepath` best representing the operation. It SHOULD point within the code unit named in `code.function`. - */ + /** The line number in `code.filepath` best representing the operation. It + * SHOULD point within the code unit named in `code.function`. + */ val CodeLineno: AttributeKey[Long] = long("code.lineno") - /** - * The "namespace" within which `code.function` is defined. Usually the qualified class or module name, such that `code.namespace` + some separator + `code.function` form a unique identifier for the code unit. - */ + /** The "namespace" within which `code.function` is defined. Usually + * the qualified class or module name, such that `code.namespace` + some + * separator + `code.function` form a unique identifier for the code unit. + */ val CodeNamespace: AttributeKey[String] = string("code.namespace") - /** - * 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. - */ + /** 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. + */ val CodeStacktrace: AttributeKey[String] = string("code.stacktrace") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ContainerExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ContainerExperimentalAttributes.scala index 095d59638..6a074f733 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ContainerExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ContainerExperimentalAttributes.scala @@ -22,95 +22,116 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ContainerExperimentalAttributes { - /** - * The command used to run the container (i.e. the command name). - * - * @note - * - If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage. - */ + /** The command used to run the container (i.e. the command name). + * + * @note + * - If using embedded credentials or sensitive data, it is recommended to + * remove them to prevent potential leakage. + */ val ContainerCommand: AttributeKey[String] = string("container.command") - /** - * All the command arguments (including the command/executable itself) run by the container. [2] - */ - val ContainerCommandArgs: AttributeKey[Seq[String]] = stringSeq("container.command_args") - - /** - * The full command run by the container as a single string representing the full command. [2] - */ - val ContainerCommandLine: AttributeKey[String] = string("container.command_line") - - /** - * The CPU state for this data point. - */ + /** All the command arguments (including the command/executable itself) run by + * the container. [2] + */ + val ContainerCommandArgs: AttributeKey[Seq[String]] = stringSeq( + "container.command_args" + ) + + /** The full command run by the container as a single string representing the + * full command. [2] + */ + val ContainerCommandLine: AttributeKey[String] = string( + "container.command_line" + ) + + /** The CPU state for this data point. + */ val ContainerCpuState: AttributeKey[String] = string("container.cpu.state") - /** - * Container ID. Usually a UUID, as for example used to identify Docker containers. The UUID might be abbreviated. - */ + /** Container ID. Usually a UUID, as for example used to identify + * Docker containers. The UUID might be abbreviated. + */ val ContainerId: AttributeKey[String] = string("container.id") - /** - * Runtime specific image identifier. Usually a hash algorithm followed by a UUID. - * - * @note - * - Docker defines a sha256 of the image id; `container.image.id` corresponds to the `Image` field from the Docker container inspect API endpoint. -K8s defines a link to the container registry repository with digest `"imageID": "registry.azurecr.io /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625"`. -The ID is assigned by the container runtime and can vary in different environments. Consider using `oci.manifest.digest` if it is important to identify the same image in different environments/runtimes. - */ + /** Runtime specific image identifier. Usually a hash algorithm followed by a + * UUID. + * + * @note + * - Docker defines a sha256 of the image id; `container.image.id` + * corresponds to the `Image` field from the Docker container inspect API + * endpoint. K8s defines a link to the container registry repository with + * digest `"imageID": "registry.azurecr.io + * /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625"`. + * The ID is assigned by the container runtime and can vary in different + * environments. Consider using `oci.manifest.digest` if it is important + * to identify the same image in different environments/runtimes. + */ val ContainerImageId: AttributeKey[String] = string("container.image.id") - /** - * Name of the image the container was built on. - */ + /** Name of the image the container was built on. + */ val ContainerImageName: AttributeKey[String] = string("container.image.name") - /** - * Repo digests of the container image as provided by the container runtime. - * - * @note - * - Docker and CRI report those under the `RepoDigests` field. - */ - val ContainerImageRepoDigests: AttributeKey[Seq[String]] = stringSeq("container.image.repo_digests") - - /** - * Container image tags. An example can be found in Docker Image Inspect. Should be only the `` section of the full name for example from `registry.example.com/my-org/my-image:`. - */ - val ContainerImageTags: AttributeKey[Seq[String]] = stringSeq("container.image.tags") - - /** - * Container labels, `` being the label name, the value being the label value. - */ + /** Repo digests of the container image as provided by the container runtime. + * + * @note + * - Docker + * and CRI + * report those under the `RepoDigests` field. + */ + val ContainerImageRepoDigests: AttributeKey[Seq[String]] = stringSeq( + "container.image.repo_digests" + ) + + /** Container image tags. An example can be found in Docker + * Image Inspect. Should be only the `` section of the full name for + * example from `registry.example.com/my-org/my-image:`. + */ + val ContainerImageTags: AttributeKey[Seq[String]] = stringSeq( + "container.image.tags" + ) + + /** Container labels, `` being the label name, the value being the label + * value. + */ val ContainerLabel: AttributeKey[String] = string("container.label") - /** - * Deprecated, use `container.label` instead. - */ + /** Deprecated, use `container.label` instead. + */ @deprecated("Use `container.label` instead", "0.5.0") val ContainerLabels: AttributeKey[String] = string("container.labels") - /** - * Container name used by container runtime. - */ + /** Container name used by container runtime. + */ val ContainerName: AttributeKey[String] = string("container.name") - /** - * The container runtime managing this container. - */ + /** The container runtime managing this container. + */ val ContainerRuntime: AttributeKey[String] = string("container.runtime") // Enum definitions - - /** - * Values for [[ContainerCpuState]]. - */ + + /** Values for [[ContainerCpuState]]. + */ abstract class ContainerCpuStateValue(val value: String) object ContainerCpuStateValue { - /** When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode (Windows). */ + + /** When tasks of the cgroup are in user mode (Linux). When all container + * processes are in user mode (Windows). + */ case object User extends ContainerCpuStateValue("user") + /** When CPU is used by the system (host OS). */ case object System extends ContainerCpuStateValue("system") - /** When tasks of the cgroup are in kernel mode (Linux). When all container processes are in kernel mode (Windows). */ + + /** When tasks of the cgroup are in kernel mode (Linux). When all container + * processes are in kernel mode (Windows). + */ case object Kernel extends ContainerCpuStateValue("kernel") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DbExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DbExperimentalAttributes.scala index 4104fb161..a0934b8f0 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DbExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DbExperimentalAttributes.scala @@ -22,420 +22,544 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object DbExperimentalAttributes { - /** - * The consistency level of the query. Based on consistency values from CQL. - */ - val DbCassandraConsistencyLevel: AttributeKey[String] = string("db.cassandra.consistency_level") - - /** - * The data center of the coordinating node for a query. - */ - val DbCassandraCoordinatorDc: AttributeKey[String] = string("db.cassandra.coordinator.dc") - - /** - * The ID of the coordinating node for a query. - */ - val DbCassandraCoordinatorId: AttributeKey[String] = string("db.cassandra.coordinator.id") - - /** - * Whether or not the query is idempotent. - */ - val DbCassandraIdempotence: AttributeKey[Boolean] = boolean("db.cassandra.idempotence") - - /** - * The fetch size used for paging, i.e. how many rows will be returned at once. - */ + /** The consistency level of the query. Based on consistency values from CQL. + */ + val DbCassandraConsistencyLevel: AttributeKey[String] = string( + "db.cassandra.consistency_level" + ) + + /** The data center of the coordinating node for a query. + */ + val DbCassandraCoordinatorDc: AttributeKey[String] = string( + "db.cassandra.coordinator.dc" + ) + + /** The ID of the coordinating node for a query. + */ + val DbCassandraCoordinatorId: AttributeKey[String] = string( + "db.cassandra.coordinator.id" + ) + + /** Whether or not the query is idempotent. + */ + val DbCassandraIdempotence: AttributeKey[Boolean] = boolean( + "db.cassandra.idempotence" + ) + + /** The fetch size used for paging, i.e. how many rows will be returned at + * once. + */ val DbCassandraPageSize: AttributeKey[Long] = long("db.cassandra.page_size") - /** - * The number of times a query was speculatively executed. Not set or `0` if the query was not executed speculatively. - */ - val DbCassandraSpeculativeExecutionCount: AttributeKey[Long] = long("db.cassandra.speculative_execution_count") + /** The number of times a query was speculatively executed. Not set or `0` if + * the query was not executed speculatively. + */ + val DbCassandraSpeculativeExecutionCount: AttributeKey[Long] = long( + "db.cassandra.speculative_execution_count" + ) - /** - * Deprecated, use `db.collection.name` instead. - */ + /** Deprecated, use `db.collection.name` instead. + */ @deprecated("Use `db.collection.name` instead", "0.5.0") val DbCassandraTable: AttributeKey[String] = string("db.cassandra.table") - /** - * The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, instrumentation should use a combination of `server.address` and `server.port` attributes formatted as `server.address:server.port`. - */ - val DbClientConnectionsPoolName: AttributeKey[String] = string("db.client.connections.pool.name") - - /** - * The state of a connection in the pool - */ - val DbClientConnectionsState: AttributeKey[String] = string("db.client.connections.state") - - /** - * The name of a collection (table, container) within the database. - * - * @note - * - If the collection name is parsed from the query, it SHOULD match the value provided in the query and may be qualified with the schema and database name. -It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. - */ + /** The name of the connection pool; unique within the instrumented + * application. In case the connection pool implementation doesn't provide a + * name, instrumentation should use a combination of `server.address` and + * `server.port` attributes formatted as `server.address:server.port`. + */ + val DbClientConnectionsPoolName: AttributeKey[String] = string( + "db.client.connections.pool.name" + ) + + /** The state of a connection in the pool + */ + val DbClientConnectionsState: AttributeKey[String] = string( + "db.client.connections.state" + ) + + /** The name of a collection (table, container) within the database. + * + * @note + * - If the collection name is parsed from the query, it SHOULD match the + * value provided in the query and may be qualified with the schema and + * database name. It is RECOMMENDED to capture the value as provided by + * the application without attempting to do any case normalization. + */ val DbCollectionName: AttributeKey[String] = string("db.collection.name") - /** - * Deprecated, use `server.address`, `server.port` attributes instead. - */ + /** Deprecated, use `server.address`, `server.port` attributes instead. + */ @deprecated("Use `server.address`, `server.port` attributes instead", "0.5.0") val DbConnectionString: AttributeKey[String] = string("db.connection_string") - /** - * Unique Cosmos client instance id. - */ + /** Unique Cosmos client instance id. + */ val DbCosmosdbClientId: AttributeKey[String] = string("db.cosmosdb.client_id") - /** - * Cosmos client connection mode. - */ - val DbCosmosdbConnectionMode: AttributeKey[String] = string("db.cosmosdb.connection_mode") + /** Cosmos client connection mode. + */ + val DbCosmosdbConnectionMode: AttributeKey[String] = string( + "db.cosmosdb.connection_mode" + ) - /** - * Deprecated, use `db.collection.name` instead. - */ + /** Deprecated, use `db.collection.name` instead. + */ @deprecated("Use `db.collection.name` instead", "0.5.0") - val DbCosmosdbContainer: AttributeKey[String] = string("db.cosmosdb.container") - - /** - * CosmosDB Operation Type. - */ - val DbCosmosdbOperationType: AttributeKey[String] = string("db.cosmosdb.operation_type") - - /** - * RU consumed for that operation - */ - val DbCosmosdbRequestCharge: AttributeKey[Double] = double("db.cosmosdb.request_charge") - - /** - * Request payload size in bytes - */ - val DbCosmosdbRequestContentLength: AttributeKey[Long] = long("db.cosmosdb.request_content_length") - - /** - * Cosmos DB status code. - */ + val DbCosmosdbContainer: AttributeKey[String] = string( + "db.cosmosdb.container" + ) + + /** CosmosDB Operation Type. + */ + val DbCosmosdbOperationType: AttributeKey[String] = string( + "db.cosmosdb.operation_type" + ) + + /** RU consumed for that operation + */ + val DbCosmosdbRequestCharge: AttributeKey[Double] = double( + "db.cosmosdb.request_charge" + ) + + /** Request payload size in bytes + */ + val DbCosmosdbRequestContentLength: AttributeKey[Long] = long( + "db.cosmosdb.request_content_length" + ) + + /** Cosmos DB status code. + */ val DbCosmosdbStatusCode: AttributeKey[Long] = long("db.cosmosdb.status_code") - /** - * Cosmos DB sub status code. - */ - val DbCosmosdbSubStatusCode: AttributeKey[Long] = long("db.cosmosdb.sub_status_code") - - /** - * Represents the identifier of an Elasticsearch cluster. - */ - val DbElasticsearchClusterName: AttributeKey[String] = string("db.elasticsearch.cluster.name") - - /** - * Represents the human-readable identifier of the node/instance to which a request was routed. - */ - val DbElasticsearchNodeName: AttributeKey[String] = string("db.elasticsearch.node.name") - - /** - * A dynamic value in the url path. - * - * @note - * - Many Elasticsearch url paths allow dynamic values. These SHOULD be recorded in span attributes in the format `db.elasticsearch.path_parts.`, where `` is the url path part name. The implementation SHOULD reference the elasticsearch schema in order to map the path part values to their names. - */ - val DbElasticsearchPathParts: AttributeKey[String] = string("db.elasticsearch.path_parts") - - /** - * Deprecated, no general replacement at this time. For Elasticsearch, use `db.elasticsearch.node.name` instead. - */ - @deprecated("No general replacement at this time. for elasticsearch, use `db.elasticsearch.node.name` instead", "0.5.0") + /** Cosmos DB sub status code. + */ + val DbCosmosdbSubStatusCode: AttributeKey[Long] = long( + "db.cosmosdb.sub_status_code" + ) + + /** Represents the identifier of an Elasticsearch cluster. + */ + val DbElasticsearchClusterName: AttributeKey[String] = string( + "db.elasticsearch.cluster.name" + ) + + /** Represents the human-readable identifier of the node/instance to which a + * request was routed. + */ + val DbElasticsearchNodeName: AttributeKey[String] = string( + "db.elasticsearch.node.name" + ) + + /** A dynamic value in the url path. + * + * @note + * - Many Elasticsearch url paths allow dynamic values. These SHOULD be + * recorded in span attributes in the format + * `db.elasticsearch.path_parts.`, where `` is the url path + * part name. The implementation SHOULD reference the elasticsearch + * schema in order to map the path part values to their names. + */ + val DbElasticsearchPathParts: AttributeKey[String] = string( + "db.elasticsearch.path_parts" + ) + + /** Deprecated, no general replacement at this time. For Elasticsearch, use + * `db.elasticsearch.node.name` instead. + */ + @deprecated( + "No general replacement at this time. for elasticsearch, use `db.elasticsearch.node.name` instead", + "0.5.0" + ) val DbInstanceId: AttributeKey[String] = string("db.instance.id") - /** - * Removed, no replacement at this time. - */ + /** Removed, no replacement at this time. + */ @deprecated("Removed, no replacement at this time", "0.5.0") - val DbJdbcDriverClassname: AttributeKey[String] = string("db.jdbc.driver_classname") + val DbJdbcDriverClassname: AttributeKey[String] = string( + "db.jdbc.driver_classname" + ) - /** - * Deprecated, use `db.collection.name` instead. - */ + /** Deprecated, use `db.collection.name` instead. + */ @deprecated("Use `db.collection.name` instead", "0.5.0") - val DbMongodbCollection: AttributeKey[String] = string("db.mongodb.collection") - - /** - * Deprecated, SQL Server instance is now populated as a part of `db.namespace` attribute. - */ - @deprecated("Sql server instance is now populated as a part of `db.namespace` attribute", "0.5.0") - val DbMssqlInstanceName: AttributeKey[String] = string("db.mssql.instance_name") - - /** - * Deprecated, use `db.namespace` instead. - */ + val DbMongodbCollection: AttributeKey[String] = string( + "db.mongodb.collection" + ) + + /** Deprecated, SQL Server instance is now populated as a part of + * `db.namespace` attribute. + */ + @deprecated( + "Sql server instance is now populated as a part of `db.namespace` attribute", + "0.5.0" + ) + val DbMssqlInstanceName: AttributeKey[String] = string( + "db.mssql.instance_name" + ) + + /** Deprecated, use `db.namespace` instead. + */ @deprecated("Use `db.namespace` instead", "0.5.0") val DbName: AttributeKey[String] = string("db.name") - /** - * The name of the database, fully qualified within the server address and port. - * - * @note - * - If a database system has multiple namespace components, they SHOULD be concatenated (potentially using database system specific conventions) from most general to most specific namespace component, and more specific namespaces SHOULD NOT be captured without the more general namespaces, to ensure that "startswith" queries for the more general namespaces will be valid. -Semantic conventions for individual database systems SHOULD document what `db.namespace` means in the context of that system. -It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. - */ + /** The name of the database, fully qualified within the server address and + * port. + * + * @note + * - If a database system has multiple namespace components, they SHOULD be + * concatenated (potentially using database system specific conventions) + * from most general to most specific namespace component, and more + * specific namespaces SHOULD NOT be captured without the more general + * namespaces, to ensure that "startswith" queries for the more + * general namespaces will be valid. Semantic conventions for individual + * database systems SHOULD document what `db.namespace` means in the + * context of that system. It is RECOMMENDED to capture the value as + * provided by the application without attempting to do any case + * normalization. + */ val DbNamespace: AttributeKey[String] = string("db.namespace") - /** - * Deprecated, use `db.operation.name` instead. - */ + /** Deprecated, use `db.operation.name` instead. + */ @deprecated("Use `db.operation.name` instead", "0.5.0") val DbOperation: AttributeKey[String] = string("db.operation") - /** - * The name of the operation or command being executed. - * - * @note - * - It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. - */ + /** The name of the operation or command being executed. + * + * @note + * - It is RECOMMENDED to capture the value as provided by the application + * without attempting to do any case normalization. + */ val DbOperationName: AttributeKey[String] = string("db.operation.name") - /** - * The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. - * - * @note - * - Query parameters should only be captured when `db.query.text` is parameterized with placeholders. -If a parameter has no name and instead is referenced only by index, then `` SHOULD be the 0-based index. - */ + /** The query parameters used in `db.query.text`, with `` being the + * parameter name, and the attribute value being the parameter value. + * + * @note + * - Query parameters should only be captured when `db.query.text` is + * parameterized with placeholders. If a parameter has no name and + * instead is referenced only by index, then `` SHOULD be the + * 0-based index. + */ val DbQueryParameter: AttributeKey[String] = string("db.query.parameter") - /** - * The database query being executed. - */ + /** The database query being executed. + */ val DbQueryText: AttributeKey[String] = string("db.query.text") - /** - * Deprecated, use `db.namespace` instead. - */ + /** Deprecated, use `db.namespace` instead. + */ @deprecated("Use `db.namespace` instead", "0.5.0") val DbRedisDatabaseIndex: AttributeKey[Long] = long("db.redis.database_index") - /** - * Deprecated, use `db.collection.name` instead. - */ + /** Deprecated, use `db.collection.name` instead. + */ @deprecated("Use `db.collection.name` instead", "0.5.0") val DbSqlTable: AttributeKey[String] = string("db.sql.table") - /** - * The database statement being executed. - */ + /** The database statement being executed. + */ @deprecated("The database statement being executed", "0.5.0") val DbStatement: AttributeKey[String] = string("db.statement") - /** - * The database management system (DBMS) product as identified by the client instrumentation. - * - * @note - * - The actual DBMS may differ from the one identified by the client. For example, when using PostgreSQL client libraries to connect to a CockroachDB, the `db.system` is set to `postgresql` based on the instrumentation's best knowledge. - */ + /** The database management system (DBMS) product as identified by the client + * instrumentation. + * + * @note + * - The actual DBMS may differ from the one identified by the client. For + * example, when using PostgreSQL client libraries to connect to a + * CockroachDB, the `db.system` is set to `postgresql` based on the + * instrumentation's best knowledge. + */ val DbSystem: AttributeKey[String] = string("db.system") - /** - * Deprecated, no replacement at this time. - */ + /** Deprecated, no replacement at this time. + */ @deprecated("No replacement at this time", "0.5.0") val DbUser: AttributeKey[String] = string("db.user") // Enum definitions - - /** - * Values for [[DbCassandraConsistencyLevel]]. - */ + + /** Values for [[DbCassandraConsistencyLevel]]. + */ abstract class DbCassandraConsistencyLevelValue(val value: String) object DbCassandraConsistencyLevelValue { + /** all. */ case object All extends DbCassandraConsistencyLevelValue("all") + /** each_quorum. */ - case object EachQuorum extends DbCassandraConsistencyLevelValue("each_quorum") + case object EachQuorum + extends DbCassandraConsistencyLevelValue("each_quorum") + /** quorum. */ case object Quorum extends DbCassandraConsistencyLevelValue("quorum") + /** local_quorum. */ - case object LocalQuorum extends DbCassandraConsistencyLevelValue("local_quorum") + case object LocalQuorum + extends DbCassandraConsistencyLevelValue("local_quorum") + /** one. */ case object One extends DbCassandraConsistencyLevelValue("one") + /** two. */ case object Two extends DbCassandraConsistencyLevelValue("two") + /** three. */ case object Three extends DbCassandraConsistencyLevelValue("three") + /** local_one. */ case object LocalOne extends DbCassandraConsistencyLevelValue("local_one") + /** any. */ case object Any extends DbCassandraConsistencyLevelValue("any") + /** serial. */ case object Serial extends DbCassandraConsistencyLevelValue("serial") + /** local_serial. */ - case object LocalSerial extends DbCassandraConsistencyLevelValue("local_serial") + case object LocalSerial + extends DbCassandraConsistencyLevelValue("local_serial") } - /** - * Values for [[DbClientConnectionsState]]. - */ + + /** Values for [[DbClientConnectionsState]]. + */ abstract class DbClientConnectionsStateValue(val value: String) object DbClientConnectionsStateValue { + /** idle. */ case object Idle extends DbClientConnectionsStateValue("idle") + /** used. */ case object Used extends DbClientConnectionsStateValue("used") } - /** - * Values for [[DbCosmosdbConnectionMode]]. - */ + + /** Values for [[DbCosmosdbConnectionMode]]. + */ abstract class DbCosmosdbConnectionModeValue(val value: String) object DbCosmosdbConnectionModeValue { + /** Gateway (HTTP) connections mode. */ case object Gateway extends DbCosmosdbConnectionModeValue("gateway") + /** Direct connection. */ case object Direct extends DbCosmosdbConnectionModeValue("direct") } - /** - * Values for [[DbCosmosdbOperationType]]. - */ + + /** Values for [[DbCosmosdbOperationType]]. + */ abstract class DbCosmosdbOperationTypeValue(val value: String) object DbCosmosdbOperationTypeValue { + /** invalid. */ case object Invalid extends DbCosmosdbOperationTypeValue("Invalid") + /** create. */ case object Create extends DbCosmosdbOperationTypeValue("Create") + /** patch. */ case object Patch extends DbCosmosdbOperationTypeValue("Patch") + /** read. */ case object Read extends DbCosmosdbOperationTypeValue("Read") + /** read_feed. */ case object ReadFeed extends DbCosmosdbOperationTypeValue("ReadFeed") + /** delete. */ case object Delete extends DbCosmosdbOperationTypeValue("Delete") + /** replace. */ case object Replace extends DbCosmosdbOperationTypeValue("Replace") + /** execute. */ case object Execute extends DbCosmosdbOperationTypeValue("Execute") + /** query. */ case object Query extends DbCosmosdbOperationTypeValue("Query") + /** head. */ case object Head extends DbCosmosdbOperationTypeValue("Head") + /** head_feed. */ case object HeadFeed extends DbCosmosdbOperationTypeValue("HeadFeed") + /** upsert. */ case object Upsert extends DbCosmosdbOperationTypeValue("Upsert") + /** batch. */ case object Batch extends DbCosmosdbOperationTypeValue("Batch") + /** query_plan. */ case object QueryPlan extends DbCosmosdbOperationTypeValue("QueryPlan") + /** execute_javascript. */ - case object ExecuteJavascript extends DbCosmosdbOperationTypeValue("ExecuteJavaScript") + case object ExecuteJavascript + extends DbCosmosdbOperationTypeValue("ExecuteJavaScript") } - /** - * Values for [[DbSystem]]. - */ + + /** Values for [[DbSystem]]. + */ abstract class DbSystemValue(val value: String) object DbSystemValue { + /** Some other SQL database. Fallback only. See notes. */ case object OtherSql extends DbSystemValue("other_sql") + /** Microsoft SQL Server. */ case object Mssql extends DbSystemValue("mssql") + /** Microsoft SQL Server Compact. */ case object Mssqlcompact extends DbSystemValue("mssqlcompact") + /** MySQL. */ case object Mysql extends DbSystemValue("mysql") + /** Oracle Database. */ case object Oracle extends DbSystemValue("oracle") + /** IBM Db2. */ case object Db2 extends DbSystemValue("db2") + /** PostgreSQL. */ case object Postgresql extends DbSystemValue("postgresql") + /** Amazon Redshift. */ case object Redshift extends DbSystemValue("redshift") + /** Apache Hive. */ case object Hive extends DbSystemValue("hive") + /** Cloudscape. */ case object Cloudscape extends DbSystemValue("cloudscape") + /** HyperSQL DataBase. */ case object Hsqldb extends DbSystemValue("hsqldb") + /** Progress Database. */ case object Progress extends DbSystemValue("progress") + /** SAP MaxDB. */ case object Maxdb extends DbSystemValue("maxdb") + /** SAP HANA. */ case object Hanadb extends DbSystemValue("hanadb") + /** Ingres. */ case object Ingres extends DbSystemValue("ingres") + /** FirstSQL. */ case object Firstsql extends DbSystemValue("firstsql") + /** EnterpriseDB. */ case object Edb extends DbSystemValue("edb") + /** InterSystems Caché. */ case object Cache extends DbSystemValue("cache") + /** Adabas (Adaptable Database System). */ case object Adabas extends DbSystemValue("adabas") + /** Firebird. */ case object Firebird extends DbSystemValue("firebird") + /** Apache Derby. */ case object Derby extends DbSystemValue("derby") + /** FileMaker. */ case object Filemaker extends DbSystemValue("filemaker") + /** Informix. */ case object Informix extends DbSystemValue("informix") + /** InstantDB. */ case object Instantdb extends DbSystemValue("instantdb") + /** InterBase. */ case object Interbase extends DbSystemValue("interbase") + /** MariaDB. */ case object Mariadb extends DbSystemValue("mariadb") + /** Netezza. */ case object Netezza extends DbSystemValue("netezza") + /** Pervasive PSQL. */ case object Pervasive extends DbSystemValue("pervasive") + /** PointBase. */ case object Pointbase extends DbSystemValue("pointbase") + /** SQLite. */ case object Sqlite extends DbSystemValue("sqlite") + /** Sybase. */ case object Sybase extends DbSystemValue("sybase") + /** Teradata. */ case object Teradata extends DbSystemValue("teradata") + /** Vertica. */ case object Vertica extends DbSystemValue("vertica") + /** H2. */ case object H2 extends DbSystemValue("h2") + /** ColdFusion IMQ. */ case object Coldfusion extends DbSystemValue("coldfusion") + /** Apache Cassandra. */ case object Cassandra extends DbSystemValue("cassandra") + /** Apache HBase. */ case object Hbase extends DbSystemValue("hbase") + /** MongoDB. */ case object Mongodb extends DbSystemValue("mongodb") + /** Redis. */ case object Redis extends DbSystemValue("redis") + /** Couchbase. */ case object Couchbase extends DbSystemValue("couchbase") + /** CouchDB. */ case object Couchdb extends DbSystemValue("couchdb") + /** Microsoft Azure Cosmos DB. */ case object Cosmosdb extends DbSystemValue("cosmosdb") + /** Amazon DynamoDB. */ case object Dynamodb extends DbSystemValue("dynamodb") + /** Neo4j. */ case object Neo4j extends DbSystemValue("neo4j") + /** Apache Geode. */ case object Geode extends DbSystemValue("geode") + /** Elasticsearch. */ case object Elasticsearch extends DbSystemValue("elasticsearch") + /** Memcached. */ case object Memcached extends DbSystemValue("memcached") + /** CockroachDB. */ case object Cockroachdb extends DbSystemValue("cockroachdb") + /** OpenSearch. */ case object Opensearch extends DbSystemValue("opensearch") + /** ClickHouse. */ case object Clickhouse extends DbSystemValue("clickhouse") + /** Cloud Spanner. */ case object Spanner extends DbSystemValue("spanner") + /** Trino. */ case object Trino extends DbSystemValue("trino") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DeploymentExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DeploymentExperimentalAttributes.scala index 07b791954..8f9576d10 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DeploymentExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DeploymentExperimentalAttributes.scala @@ -22,17 +22,21 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object DeploymentExperimentalAttributes { - /** - * Name of the deployment environment (aka deployment tier). - * - * @note - * - `deployment.environment` does not affect the uniqueness constraints defined through -the `service.namespace`, `service.name` and `service.instance.id` resource attributes. -This implies that resources carrying the following attribute combinations MUST be -considered to be identifying the same service:
  • `service.name=frontend`, `deployment.environment=production`
  • -
  • `service.name=frontend`, `deployment.environment=staging`.
  • + /** Name of the deployment + * environment (aka deployment tier). + * + * @note + * - `deployment.environment` does not affect the uniqueness constraints + * defined through the `service.namespace`, `service.name` and + * `service.instance.id` resource attributes. This implies that resources + * carrying the following attribute combinations MUST be considered to be + * identifying the same service:
  • `service.name=frontend`, + * `deployment.environment=production`
  • `service.name=frontend`, + * `deployment.environment=staging`.
  • + */ + val DeploymentEnvironment: AttributeKey[String] = string( + "deployment.environment" + ) - */ - val DeploymentEnvironment: AttributeKey[String] = string("deployment.environment") - -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DestinationExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DestinationExperimentalAttributes.scala index a8b03a138..4b5483b1f 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DestinationExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DestinationExperimentalAttributes.scala @@ -22,17 +22,19 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object DestinationExperimentalAttributes { - /** - * Destination address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. - * - * @note - * - When observed from the source side, and when communicating through an intermediary, `destination.address` SHOULD represent the destination address behind any intermediaries, for example proxies, if it's available. - */ + /** Destination address - domain name if available without reverse DNS lookup; + * otherwise, IP address or Unix domain socket name. + * + * @note + * - When observed from the source side, and when communicating through an + * intermediary, `destination.address` SHOULD represent the destination + * address behind any intermediaries, for example proxies, if it's + * available. + */ val DestinationAddress: AttributeKey[String] = string("destination.address") - /** - * Destination port number - */ + /** Destination port number + */ val DestinationPort: AttributeKey[Long] = long("destination.port") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DeviceExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DeviceExperimentalAttributes.scala index 2e094a541..7ff97c442 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DeviceExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DeviceExperimentalAttributes.scala @@ -22,36 +22,52 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object DeviceExperimentalAttributes { - /** - * A unique identifier representing the device - * - * @note - * - The device identifier MUST only be defined using the values outlined below. This value is not an advertising identifier and MUST NOT be used as such. On iOS (Swift or Objective-C), this value MUST be equal to the vendor identifier. On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation ID or a globally unique UUID which is persisted across sessions in your application. More information can be found here on best practices and exact implementation details. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply, ensure you do your own due diligence. - */ + /** A unique identifier representing the device + * + * @note + * - The device identifier MUST only be defined using the values outlined + * below. This value is not an advertising identifier and MUST NOT be + * used as such. On iOS (Swift or Objective-C), this value MUST be equal + * to the vendor + * identifier. On Android (Java or Kotlin), this value MUST be equal + * to the Firebase Installation ID or a globally unique UUID which is + * persisted across sessions in your application. More information can be + * found here + * on best practices and exact implementation details. Caution should be + * taken when storing personal data or anything which can identify a + * user. GDPR and data protection laws may apply, ensure you do your own + * due diligence. + */ val DeviceId: AttributeKey[String] = string("device.id") - /** - * The name of the device manufacturer - * - * @note - * - The Android OS provides this field via Build. iOS apps SHOULD hardcode the value `Apple`. - */ + /** The name of the device manufacturer + * + * @note + * - The Android OS provides this field via Build. + * iOS apps SHOULD hardcode the value `Apple`. + */ val DeviceManufacturer: AttributeKey[String] = string("device.manufacturer") - /** - * The model identifier for the device - * - * @note - * - It's recommended this value represents a machine-readable version of the model identifier rather than the market or consumer-friendly name of the device. - */ - val DeviceModelIdentifier: AttributeKey[String] = string("device.model.identifier") - - /** - * The marketing name for the device model - * - * @note - * - It's recommended this value represents a human-readable version of the device model rather than a machine-readable alternative. - */ + /** The model identifier for the device + * + * @note + * - It's recommended this value represents a machine-readable version of + * the model identifier rather than the market or consumer-friendly name + * of the device. + */ + val DeviceModelIdentifier: AttributeKey[String] = string( + "device.model.identifier" + ) + + /** The marketing name for the device model + * + * @note + * - It's recommended this value represents a human-readable version of the + * device model rather than a machine-readable alternative. + */ val DeviceModelName: AttributeKey[String] = string("device.model.name") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DiskExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DiskExperimentalAttributes.scala index b18c9340e..de82a8dba 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DiskExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DiskExperimentalAttributes.scala @@ -22,21 +22,21 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object DiskExperimentalAttributes { - /** - * The disk IO operation direction. - */ + /** The disk IO operation direction. + */ val DiskIoDirection: AttributeKey[String] = string("disk.io.direction") // Enum definitions - - /** - * Values for [[DiskIoDirection]]. - */ + + /** Values for [[DiskIoDirection]]. + */ abstract class DiskIoDirectionValue(val value: String) object DiskIoDirectionValue { + /** read. */ case object Read extends DiskIoDirectionValue("read") + /** write. */ case object Write extends DiskIoDirectionValue("write") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DnsExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DnsExperimentalAttributes.scala index c14fca314..0947ca008 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DnsExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/DnsExperimentalAttributes.scala @@ -22,12 +22,15 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object DnsExperimentalAttributes { - /** - * The name being queried. - * - * @note - * - If the name field contains non-printable characters (below 32 or above 126), those characters should be represented as escaped base 10 integers (\DDD). Back slashes and quotes should be escaped. Tabs, carriage returns, and line feeds should be converted to \t, \r, and \n respectively. - */ + /** The name being queried. + * + * @note + * - If the name field contains non-printable characters (below 32 or above + * 126), those characters should be represented as escaped base 10 + * integers (\DDD). Back slashes and quotes should be escaped. Tabs, + * carriage returns, and line feeds should be converted to \t, \r, and \n + * respectively. + */ val DnsQuestionName: AttributeKey[String] = string("dns.question.name") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/EnduserExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/EnduserExperimentalAttributes.scala index 0bdf8e0e9..66ece3d91 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/EnduserExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/EnduserExperimentalAttributes.scala @@ -22,19 +22,25 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object EnduserExperimentalAttributes { - /** - * Username or client_id extracted from the access token or Authorization header in the inbound request from outside the system. - */ + /** Username or client_id extracted from the access token or Authorization + * header in the inbound request from outside the system. + */ val EnduserId: AttributeKey[String] = string("enduser.id") - /** - * Actual/assumed role the client is making the request under extracted from token or application security context. - */ + /** Actual/assumed role the client is making the request under extracted from + * token or application security context. + */ val EnduserRole: AttributeKey[String] = string("enduser.role") - /** - * Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an OAuth 2.0 Access Token or an attribute value in a SAML 2.0 Assertion. - */ + /** Scopes or granted authorities the client currently possesses extracted + * from token or application security context. The value would come from the + * scope associated with an OAuth 2.0 Access + * Token or an attribute value in a SAML + * 2.0 Assertion. + */ val EnduserScope: AttributeKey[String] = string("enduser.scope") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ErrorExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ErrorExperimentalAttributes.scala index 5311194fb..fe38519f3 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ErrorExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ErrorExperimentalAttributes.scala @@ -22,37 +22,49 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ErrorExperimentalAttributes { - /** - * Describes a class of error the operation ended with. - * - * @note - * - The `error.type` SHOULD be predictable, and SHOULD have low cardinality. - * - When `error.type` is set to a type (e.g., an exception type), its -canonical class name identifying the type within the artifact SHOULD be used. - * - Instrumentations SHOULD document the list of errors they report. - * - The cardinality of `error.type` within one instrumentation library SHOULD be low. -Telemetry consumers that aggregate data from multiple instrumentation libraries and applications -should be prepared for `error.type` to have high cardinality at query time when no -additional filters are applied. - * - If the operation has completed successfully, instrumentations SHOULD NOT set `error.type`. - * - If a specific domain defines its own set of error identifiers (such as HTTP or gRPC status codes), -it's RECOMMENDED to:
  • Use a domain-specific attribute
  • -
  • Set `error.type` to capture all errors, regardless of whether they are defined within the domain-specific set or not.
  • - - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.ErrorAttributes.ErrorType` instead.", "0.5.0") + /** Describes a class of error the operation ended with. + * + * @note + * - The `error.type` SHOULD be predictable, and SHOULD have low + * cardinality. + * - When `error.type` is set to a type (e.g., an exception type), its + * canonical class name identifying the type within the artifact SHOULD + * be used. + * - Instrumentations SHOULD document the list of errors they report. + * - The cardinality of `error.type` within one instrumentation library + * SHOULD be low. Telemetry consumers that aggregate data from multiple + * instrumentation libraries and applications should be prepared for + * `error.type` to have high cardinality at query time when no additional + * filters are applied. + * - If the operation has completed successfully, instrumentations SHOULD + * NOT set `error.type`. + * - If a specific domain defines its own set of error identifiers (such as + * HTTP or gRPC status codes), it's RECOMMENDED to:
  • Use a + * domain-specific attribute
  • Set `error.type` to capture all + * errors, regardless of whether they are defined within the + * domain-specific set or not.
  • + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.ErrorAttributes.ErrorType` instead.", + "0.5.0" + ) val ErrorType: AttributeKey[String] = string("error.type") // Enum definitions - - /** - * Values for [[ErrorType]]. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.ErrorAttributes.ErrorTypeValue` instead.", "0.5.0") + + /** Values for [[ErrorType]]. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.ErrorAttributes.ErrorTypeValue` instead.", + "0.5.0" + ) abstract class ErrorTypeValue(val value: String) @annotation.nowarn("cat=deprecation") object ErrorTypeValue { - /** A fallback error value to be used when the instrumentation doesn't define a custom value. */ + + /** A fallback error value to be used when the instrumentation doesn't + * define a custom value. + */ case object Other extends ErrorTypeValue("_OTHER") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/EventExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/EventExperimentalAttributes.scala index f09c52ce6..cf032145f 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/EventExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/EventExperimentalAttributes.scala @@ -22,12 +22,15 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object EventExperimentalAttributes { - /** - * Identifies the class / type of event. - * - * @note - * - Event names are subject to the same rules as attribute names. Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes. - */ + /** Identifies the class / type of event. + * + * @note + * - Event names are subject to the same rules as attribute + * names. Notably, event names are namespaced to avoid collisions and + * provide a clean separation of semantics for events in separate domains + * like browser, mobile, and kubernetes. + */ val EventName: AttributeKey[String] = string("event.name") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ExceptionExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ExceptionExperimentalAttributes.scala index c5553118d..01dfc8c7b 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ExceptionExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ExceptionExperimentalAttributes.scala @@ -22,44 +22,60 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ExceptionExperimentalAttributes { - /** - * SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span. - * - * @note - * - An exception is considered to have escaped (or left) the scope of a span, -if that span is ended while the exception is still logically "in flight". -This may be actually "in flight" in some languages (e.g. if the exception -is passed to a Context manager's `__exit__` method in Python) but will -usually be caught at the point of recording the exception in most languages. - * - It is usually not possible to determine at the point where an exception is thrown -whether it will escape the scope of a span. -However, it is trivial to know that an exception -will escape, if one checks for an active exception just before ending the span, -as done in the example for recording span exceptions. - * - It follows that an exception may still escape the scope of the span -even if the `exception.escaped` attribute was not set or set to false, -since the event might have been recorded at a time where it was not -clear whether the exception will escape. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.ExceptionAttributes.ExceptionEscaped` instead.", "0.5.0") + /** SHOULD be set to true if the exception event is recorded at a point where + * it is known that the exception is escaping the scope of the span. + * + * @note + * - An exception is considered to have escaped (or left) the scope of a + * span, if that span is ended while the exception is still logically + * "in flight". This may be actually "in flight" in + * some languages (e.g. if the exception is passed to a Context manager's + * `__exit__` method in Python) but will usually be caught at the point + * of recording the exception in most languages. + * - It is usually not possible to determine at the point where an + * exception is thrown whether it will escape the scope of a span. + * However, it is trivial to know that an exception will escape, if one + * checks for an active exception just before ending the span, as done in + * the example + * for recording span exceptions. + * - It follows that an exception may still escape the scope of the span + * even if the `exception.escaped` attribute was not set or set to false, + * since the event might have been recorded at a time where it was not + * clear whether the exception will escape. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.ExceptionAttributes.ExceptionEscaped` instead.", + "0.5.0" + ) val ExceptionEscaped: AttributeKey[Boolean] = boolean("exception.escaped") - /** - * The exception message. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.ExceptionAttributes.ExceptionMessage` instead.", "0.5.0") + /** The exception message. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.ExceptionAttributes.ExceptionMessage` instead.", + "0.5.0" + ) val ExceptionMessage: AttributeKey[String] = string("exception.message") - /** - * 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. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.ExceptionAttributes.ExceptionStacktrace` instead.", "0.5.0") + /** 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. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.ExceptionAttributes.ExceptionStacktrace` instead.", + "0.5.0" + ) val ExceptionStacktrace: AttributeKey[String] = string("exception.stacktrace") - /** - * 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. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.ExceptionAttributes.ExceptionType` instead.", "0.5.0") + /** 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. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.ExceptionAttributes.ExceptionType` instead.", + "0.5.0" + ) val ExceptionType: AttributeKey[String] = string("exception.type") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FaasExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FaasExperimentalAttributes.scala index 183924847..ef0511a18 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FaasExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FaasExperimentalAttributes.scala @@ -22,171 +22,199 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object FaasExperimentalAttributes { - /** - * A boolean that is true if the serverless function is executed for the first time (aka cold-start). - */ + /** A boolean that is true if the serverless function is executed for the + * first time (aka cold-start). + */ val FaasColdstart: AttributeKey[Boolean] = boolean("faas.coldstart") - /** - * A string containing the schedule period as Cron Expression. - */ + /** A string containing the schedule period as Cron + * Expression. + */ val FaasCron: AttributeKey[String] = string("faas.cron") - /** - * The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name. - */ - val FaasDocumentCollection: AttributeKey[String] = string("faas.document.collection") - - /** - * The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name. - */ + /** The name of the source on which the triggering operation was performed. + * For example, in Cloud Storage or S3 corresponds to the bucket name, and in + * Cosmos DB to the database name. + */ + val FaasDocumentCollection: AttributeKey[String] = string( + "faas.document.collection" + ) + + /** The document name/table subjected to the operation. For example, in Cloud + * Storage or S3 is the name of the file, and in Cosmos DB the table name. + */ val FaasDocumentName: AttributeKey[String] = string("faas.document.name") - /** - * Describes the type of the operation that was performed on the data. - */ - val FaasDocumentOperation: AttributeKey[String] = string("faas.document.operation") + /** Describes the type of the operation that was performed on the data. + */ + val FaasDocumentOperation: AttributeKey[String] = string( + "faas.document.operation" + ) - /** - * A string containing the time when the data was accessed in the ISO 8601 format expressed in UTC. - */ + /** A string containing the time when the data was accessed in the ISO 8601 + * format expressed in UTC. + */ val FaasDocumentTime: AttributeKey[String] = string("faas.document.time") - /** - * The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version. - * - * @note
  • AWS Lambda: Use the (full) log stream name.
  • - - */ + /** The execution environment ID as a string, that will be potentially reused + * for other invocations to the same function/function version. + * + * @note + *
  • AWS Lambda: Use the (full) log stream name.
  • + */ val FaasInstance: AttributeKey[String] = string("faas.instance") - /** - * The invocation ID of the current function invocation. - */ + /** The invocation ID of the current function invocation. + */ val FaasInvocationId: AttributeKey[String] = string("faas.invocation_id") - /** - * The name of the invoked function. - * - * @note - * - SHOULD be equal to the `faas.name` resource attribute of the invoked function. - */ + /** The name of the invoked function. + * + * @note + * - SHOULD be equal to the `faas.name` resource attribute of the invoked + * function. + */ val FaasInvokedName: AttributeKey[String] = string("faas.invoked_name") - /** - * The cloud provider of the invoked function. - * - * @note - * - SHOULD be equal to the `cloud.provider` resource attribute of the invoked function. - */ - val FaasInvokedProvider: AttributeKey[String] = string("faas.invoked_provider") - - /** - * The cloud region of the invoked function. - * - * @note - * - SHOULD be equal to the `cloud.region` resource attribute of the invoked function. - */ + /** The cloud provider of the invoked function. + * + * @note + * - SHOULD be equal to the `cloud.provider` resource attribute of the + * invoked function. + */ + val FaasInvokedProvider: AttributeKey[String] = string( + "faas.invoked_provider" + ) + + /** The cloud region of the invoked function. + * + * @note + * - SHOULD be equal to the `cloud.region` resource attribute of the + * invoked function. + */ val FaasInvokedRegion: AttributeKey[String] = string("faas.invoked_region") - /** - * The amount of memory available to the serverless function converted to Bytes. - * - * @note - * - It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this information (which must be multiplied by 1,048,576). - */ + /** The amount of memory available to the serverless function converted to + * Bytes. + * + * @note + * - It's recommended to set this attribute since e.g. too little memory + * can easily stop a Java AWS Lambda function from working correctly. On + * AWS Lambda, the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` + * provides this information (which must be multiplied by 1,048,576). + */ val FaasMaxMemory: AttributeKey[Long] = long("faas.max_memory") - /** - * The name of the single function that this runtime instance executes. - * - * @note - * - This is the name of the function as configured/deployed on the FaaS -platform and is usually different from the name of the callback -function (which may be stored in the -`code.namespace`/`code.function` -span attributes). - * - For some cloud providers, the above definition is ambiguous. The following -definition of function name MUST be used for this attribute -(and consequently the span name) for the listed cloud providers/products:
  • Azure: The full name `/`, i.e., function app name -followed by a forward slash followed by the function name (this form -can also be seen in the resource JSON for the function). -This means that a span attribute MUST be used, as an Azure function -app can host multiple functions that would usually share -a TracerProvider (see also the `cloud.resource_id` attribute).
  • - - */ + /** The name of the single function that this runtime instance executes. + * + * @note + * - This is the name of the function as configured/deployed on the FaaS + * platform and is usually different from the name of the callback + * function (which may be stored in the `code.namespace`/`code.function` + * span attributes). + * - For some cloud providers, the above definition is ambiguous. The + * following definition of function name MUST be used for this attribute + * (and consequently the span name) for the listed cloud + * providers/products:
  • Azure: The full name + * `/`, i.e., function app name followed by a forward + * slash followed by the function name (this form can also be seen in the + * resource JSON for the function). This means that a span attribute MUST + * be used, as an Azure function app can host multiple functions that + * would usually share a TracerProvider (see also the `cloud.resource_id` + * attribute).
  • + */ val FaasName: AttributeKey[String] = string("faas.name") - /** - * A string containing the function invocation time in the ISO 8601 format expressed in UTC. - */ + /** A string containing the function invocation time in the ISO 8601 + * format expressed in UTC. + */ val FaasTime: AttributeKey[String] = string("faas.time") - /** - * Type of the trigger which caused this function invocation. - */ + /** Type of the trigger which caused this function invocation. + */ val FaasTrigger: AttributeKey[String] = string("faas.trigger") - /** - * The immutable version of the function being executed. - * - * @note - * - Depending on the cloud provider and platform, use:
  • AWS Lambda: The function version -(an integer represented as a decimal string).
  • -
  • Google Cloud Run (Services): The revision -(i.e., the function name plus the revision suffix).
  • -
  • Google Cloud Functions: The value of the -`K_REVISION` environment variable.
  • -
  • Azure Functions: Not applicable. Do not set this attribute.
  • - - */ + /** The immutable version of the function being executed. + * + * @note + * - Depending on the cloud provider and platform, use:
  • AWS + * Lambda: The function + * version (an integer represented as a decimal string).
  • + *
  • Google Cloud Run (Services): The revision + * (i.e., the function name plus the revision suffix).
  • + *
  • Google Cloud Functions: The value of the `K_REVISION` + * environment variable.
  • Azure Functions: + * Not applicable. Do not set this attribute.
  • + */ val FaasVersion: AttributeKey[String] = string("faas.version") // Enum definitions - - /** - * Values for [[FaasDocumentOperation]]. - */ + + /** Values for [[FaasDocumentOperation]]. + */ abstract class FaasDocumentOperationValue(val value: String) object FaasDocumentOperationValue { + /** When a new object is created. */ case object Insert extends FaasDocumentOperationValue("insert") + /** When an object is modified. */ case object Edit extends FaasDocumentOperationValue("edit") + /** When an object is deleted. */ case object Delete extends FaasDocumentOperationValue("delete") } - /** - * Values for [[FaasInvokedProvider]]. - */ + + /** Values for [[FaasInvokedProvider]]. + */ abstract class FaasInvokedProviderValue(val value: String) object FaasInvokedProviderValue { + /** Alibaba Cloud. */ case object AlibabaCloud extends FaasInvokedProviderValue("alibaba_cloud") + /** Amazon Web Services. */ case object Aws extends FaasInvokedProviderValue("aws") + /** Microsoft Azure. */ case object Azure extends FaasInvokedProviderValue("azure") + /** Google Cloud Platform. */ case object Gcp extends FaasInvokedProviderValue("gcp") + /** Tencent Cloud. */ case object TencentCloud extends FaasInvokedProviderValue("tencent_cloud") } - /** - * Values for [[FaasTrigger]]. - */ + + /** Values for [[FaasTrigger]]. + */ abstract class FaasTriggerValue(val value: String) object FaasTriggerValue { - /** A response to some data source operation such as a database or filesystem read/write. */ + + /** A response to some data source operation such as a database or + * filesystem read/write. + */ case object Datasource extends FaasTriggerValue("datasource") + /** To provide an answer to an inbound HTTP request. */ case object Http extends FaasTriggerValue("http") - /** A function is set to be executed when messages are sent to a messaging system. */ + + /** A function is set to be executed when messages are sent to a messaging + * system. + */ case object Pubsub extends FaasTriggerValue("pubsub") + /** A function is scheduled to be executed regularly. */ case object Timer extends FaasTriggerValue("timer") + /** If none of the others apply. */ case object Other extends FaasTriggerValue("other") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FeatureFlagExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FeatureFlagExperimentalAttributes.scala index f476e9b54..9ac636a06 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FeatureFlagExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FeatureFlagExperimentalAttributes.scala @@ -22,28 +22,29 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object FeatureFlagExperimentalAttributes { - /** - * The unique identifier of the feature flag. - */ + /** The unique identifier of the feature flag. + */ val FeatureFlagKey: AttributeKey[String] = string("feature_flag.key") - /** - * The name of the service provider that performs the flag evaluation. - */ - val FeatureFlagProviderName: AttributeKey[String] = string("feature_flag.provider_name") + /** The name of the service provider that performs the flag evaluation. + */ + val FeatureFlagProviderName: AttributeKey[String] = string( + "feature_flag.provider_name" + ) - /** - * SHOULD be a semantic identifier for a value. If one is unavailable, a stringified version of the value can be used. - * - * @note - * - A semantic identifier, commonly referred to as a variant, provides a means -for referring to a value without including the value itself. This can -provide additional context for understanding the meaning behind a value. -For example, the variant `red` maybe be used for the value `#c05543`. - * - A stringified version of the value can be used in situations where a -semantic identifier is unavailable. String representation of the value -should be determined by the implementer. - */ + /** SHOULD be a semantic identifier for a value. If one is unavailable, a + * stringified version of the value can be used. + * + * @note + * - A semantic identifier, commonly referred to as a variant, provides a + * means for referring to a value without including the value itself. + * This can provide additional context for understanding the meaning + * behind a value. For example, the variant `red` maybe be used for the + * value `#c05543`. + * - A stringified version of the value can be used in situations where a + * semantic identifier is unavailable. String representation of the value + * should be determined by the implementer. + */ val FeatureFlagVariant: AttributeKey[String] = string("feature_flag.variant") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FileExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FileExperimentalAttributes.scala index 2115becc9..022ac36c9 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FileExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/FileExperimentalAttributes.scala @@ -22,32 +22,30 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object FileExperimentalAttributes { - /** - * Directory where the file is located. It should include the drive letter, when appropriate. - */ + /** Directory where the file is located. It should include the drive letter, + * when appropriate. + */ val FileDirectory: AttributeKey[String] = string("file.directory") - /** - * File extension, excluding the leading dot. - * - * @note - * - When the file name has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz"). - */ + /** File extension, excluding the leading dot. + * + * @note + * - When the file name has multiple extensions (example.tar.gz), only the + * last one should be captured ("gz", not "tar.gz"). + */ val FileExtension: AttributeKey[String] = string("file.extension") - /** - * Name of the file including the extension, without the directory. - */ + /** Name of the file including the extension, without the directory. + */ val FileName: AttributeKey[String] = string("file.name") - /** - * Full path to the file, including the file name. It should include the drive letter, when appropriate. - */ + /** Full path to the file, including the file name. It should include the + * drive letter, when appropriate. + */ val FilePath: AttributeKey[String] = string("file.path") - /** - * File size in bytes. - */ + /** File size in bytes. + */ val FileSize: AttributeKey[Long] = long("file.size") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GcpExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GcpExperimentalAttributes.scala index ebbad60b7..dbee85ea0 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GcpExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GcpExperimentalAttributes.scala @@ -22,24 +22,39 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object GcpExperimentalAttributes { - /** - * The name of the Cloud Run execution being run for the Job, as set by the `CLOUD_RUN_EXECUTION` environment variable. - */ - val GcpCloudRunJobExecution: AttributeKey[String] = string("gcp.cloud_run.job.execution") - - /** - * The index for a task within an execution as provided by the `CLOUD_RUN_TASK_INDEX` environment variable. - */ - val GcpCloudRunJobTaskIndex: AttributeKey[Long] = long("gcp.cloud_run.job.task_index") - - /** - * The hostname of a GCE instance. This is the full value of the default or custom hostname. - */ - val GcpGceInstanceHostname: AttributeKey[String] = string("gcp.gce.instance.hostname") - - /** - * The instance name of a GCE instance. This is the value provided by `host.name`, the visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of the instance as defined by the default internal DNS name. - */ + /** The name of the Cloud Run execution + * being run for the Job, as set by the `CLOUD_RUN_EXECUTION` + * environment variable. + */ + val GcpCloudRunJobExecution: AttributeKey[String] = string( + "gcp.cloud_run.job.execution" + ) + + /** The index for a task within an execution as provided by the `CLOUD_RUN_TASK_INDEX` + * environment variable. + */ + val GcpCloudRunJobTaskIndex: AttributeKey[Long] = long( + "gcp.cloud_run.job.task_index" + ) + + /** The hostname of a GCE instance. This is the full value of the default or + * custom + * hostname. + */ + val GcpGceInstanceHostname: AttributeKey[String] = string( + "gcp.gce.instance.hostname" + ) + + /** The instance name of a GCE instance. This is the value provided by + * `host.name`, the visible name of the instance in the Cloud Console UI, and + * the prefix for the default hostname of the instance as defined by the default + * internal DNS name. + */ val GcpGceInstanceName: AttributeKey[String] = string("gcp.gce.instance.name") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GraphqlExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GraphqlExperimentalAttributes.scala index 831334439..d0e97ab1f 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GraphqlExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GraphqlExperimentalAttributes.scala @@ -22,36 +22,39 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object GraphqlExperimentalAttributes { - /** - * The GraphQL document being executed. - * - * @note - * - The value may be sanitized to exclude sensitive information. - */ + /** The GraphQL document being executed. + * + * @note + * - The value may be sanitized to exclude sensitive information. + */ val GraphqlDocument: AttributeKey[String] = string("graphql.document") - /** - * The name of the operation being executed. - */ - val GraphqlOperationName: AttributeKey[String] = string("graphql.operation.name") + /** The name of the operation being executed. + */ + val GraphqlOperationName: AttributeKey[String] = string( + "graphql.operation.name" + ) - /** - * The type of the operation being executed. - */ - val GraphqlOperationType: AttributeKey[String] = string("graphql.operation.type") + /** The type of the operation being executed. + */ + val GraphqlOperationType: AttributeKey[String] = string( + "graphql.operation.type" + ) // Enum definitions - - /** - * Values for [[GraphqlOperationType]]. - */ + + /** Values for [[GraphqlOperationType]]. + */ abstract class GraphqlOperationTypeValue(val value: String) object GraphqlOperationTypeValue { + /** GraphQL query. */ case object Query extends GraphqlOperationTypeValue("query") + /** GraphQL mutation. */ case object Mutation extends GraphqlOperationTypeValue("mutation") + /** GraphQL subscription. */ case object Subscription extends GraphqlOperationTypeValue("subscription") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HerokuExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HerokuExperimentalAttributes.scala index 5fa20144f..0046031ab 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HerokuExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HerokuExperimentalAttributes.scala @@ -22,19 +22,20 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object HerokuExperimentalAttributes { - /** - * Unique identifier for the application - */ + /** Unique identifier for the application + */ val HerokuAppId: AttributeKey[String] = string("heroku.app.id") - /** - * Commit hash for the current release - */ - val HerokuReleaseCommit: AttributeKey[String] = string("heroku.release.commit") + /** Commit hash for the current release + */ + val HerokuReleaseCommit: AttributeKey[String] = string( + "heroku.release.commit" + ) - /** - * Time and date the release was created - */ - val HerokuReleaseCreationTimestamp: AttributeKey[String] = string("heroku.release.creation_timestamp") + /** Time and date the release was created + */ + val HerokuReleaseCreationTimestamp: AttributeKey[String] = string( + "heroku.release.creation_timestamp" + ) -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HostExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HostExperimentalAttributes.scala index 69d60c640..68fc3bc34 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HostExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HostExperimentalAttributes.scala @@ -22,112 +22,120 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object HostExperimentalAttributes { - /** - * The CPU architecture the host system is running on. - */ + /** The CPU architecture the host system is running on. + */ val HostArch: AttributeKey[String] = string("host.arch") - /** - * The amount of level 2 memory cache available to the processor (in Bytes). - */ + /** The amount of level 2 memory cache available to the processor (in Bytes). + */ val HostCpuCacheL2Size: AttributeKey[Long] = long("host.cpu.cache.l2.size") - /** - * Family or generation of the CPU. - */ + /** Family or generation of the CPU. + */ val HostCpuFamily: AttributeKey[String] = string("host.cpu.family") - /** - * Model identifier. It provides more granular information about the CPU, distinguishing it from other CPUs within the same family. - */ + /** Model identifier. It provides more granular information about the CPU, + * distinguishing it from other CPUs within the same family. + */ val HostCpuModelId: AttributeKey[String] = string("host.cpu.model.id") - /** - * Model designation of the processor. - */ + /** Model designation of the processor. + */ val HostCpuModelName: AttributeKey[String] = string("host.cpu.model.name") - /** - * Stepping or core revisions. - */ + /** Stepping or core revisions. + */ val HostCpuStepping: AttributeKey[String] = string("host.cpu.stepping") - /** - * Processor manufacturer identifier. A maximum 12-character string. - * - * @note - * - CPUID command returns the vendor ID string in EBX, EDX and ECX registers. Writing these to memory in this order results in a 12-character string. - */ + /** Processor manufacturer identifier. A maximum 12-character string. + * + * @note + * - CPUID command returns the + * vendor ID string in EBX, EDX and ECX registers. Writing these to + * memory in this order results in a 12-character string. + */ val HostCpuVendorId: AttributeKey[String] = string("host.cpu.vendor.id") - /** - * Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For non-containerized systems, this should be the `machine-id`. See the table below for the sources to use to determine the `machine-id` based on operating system. - */ + /** Unique host ID. For Cloud, this must be the instance_id assigned by the + * cloud provider. For non-containerized systems, this should be the + * `machine-id`. See the table below for the sources to use to determine the + * `machine-id` based on operating system. + */ val HostId: AttributeKey[String] = string("host.id") - /** - * VM image ID or host OS image ID. For Cloud, this value is from the provider. - */ + /** VM image ID or host OS image ID. For Cloud, this value is from the + * provider. + */ val HostImageId: AttributeKey[String] = string("host.image.id") - /** - * Name of the VM image or OS install the host was instantiated from. - */ + /** Name of the VM image or OS install the host was instantiated from. + */ val HostImageName: AttributeKey[String] = string("host.image.name") - /** - * The version string of the VM image or host OS as defined in Version Attributes. - */ + /** The version string of the VM image or host OS as defined in Version Attributes. + */ val HostImageVersion: AttributeKey[String] = string("host.image.version") - /** - * Available IP addresses of the host, excluding loopback interfaces. - * - * @note - * - IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 addresses MUST be specified in the RFC 5952 format. - */ + /** Available IP addresses of the host, excluding loopback interfaces. + * + * @note + * - IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 + * addresses MUST be specified in the RFC 5952 + * format. + */ val HostIp: AttributeKey[Seq[String]] = stringSeq("host.ip") - /** - * Available MAC addresses of the host, excluding loopback interfaces. - * - * @note - * - MAC Addresses MUST be represented in IEEE RA hexadecimal form: as hyphen-separated octets in uppercase hexadecimal form from most to least significant. - */ + /** Available MAC addresses of the host, excluding loopback interfaces. + * + * @note + * - MAC Addresses MUST be represented in IEEE + * RA hexadecimal form: as hyphen-separated octets in uppercase + * hexadecimal form from most to least significant. + */ val HostMac: AttributeKey[Seq[String]] = stringSeq("host.mac") - /** - * Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user. - */ + /** Name of the host. On Unix systems, it may contain what the hostname + * command returns, or the fully qualified hostname, or another name + * specified by the user. + */ val HostName: AttributeKey[String] = string("host.name") - /** - * Type of host. For Cloud, this must be the machine type. - */ + /** Type of host. For Cloud, this must be the machine type. + */ val HostType: AttributeKey[String] = string("host.type") // Enum definitions - - /** - * Values for [[HostArch]]. - */ + + /** Values for [[HostArch]]. + */ abstract class HostArchValue(val value: String) object HostArchValue { + /** AMD64. */ case object Amd64 extends HostArchValue("amd64") + /** ARM32. */ case object Arm32 extends HostArchValue("arm32") + /** ARM64. */ case object Arm64 extends HostArchValue("arm64") + /** Itanium. */ case object Ia64 extends HostArchValue("ia64") + /** 32-bit PowerPC. */ case object Ppc32 extends HostArchValue("ppc32") + /** 64-bit PowerPC. */ case object Ppc64 extends HostArchValue("ppc64") + /** IBM z/Architecture. */ case object S390x extends HostArchValue("s390x") + /** 32-bit x86. */ case object X86 extends HostArchValue("x86") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HttpExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HttpExperimentalAttributes.scala index 7db8560d7..cd9fcc5e2 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HttpExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/HttpExperimentalAttributes.scala @@ -22,245 +22,333 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object HttpExperimentalAttributes { - /** - * Deprecated, use `client.address` instead. - */ + /** Deprecated, use `client.address` instead. + */ @deprecated("Use `client.address` instead", "0.5.0") val HttpClientIp: AttributeKey[String] = string("http.client_ip") - /** - * State of the HTTP connection in the HTTP connection pool. - */ - val HttpConnectionState: AttributeKey[String] = string("http.connection.state") + /** State of the HTTP connection in the HTTP connection pool. + */ + val HttpConnectionState: AttributeKey[String] = string( + "http.connection.state" + ) - /** - * Deprecated, use `network.protocol.name` instead. - */ + /** Deprecated, use `network.protocol.name` instead. + */ @deprecated("Use `network.protocol.name` instead", "0.5.0") val HttpFlavor: AttributeKey[String] = string("http.flavor") - /** - * Deprecated, use one of `server.address`, `client.address` or `http.request.header.host` instead, depending on the usage. - */ - @deprecated("Use one of `server.address`, `client.address` or `http.request.header.host` instead, depending on the usage", "0.5.0") + /** Deprecated, use one of `server.address`, `client.address` or + * `http.request.header.host` instead, depending on the usage. + */ + @deprecated( + "Use one of `server.address`, `client.address` or `http.request.header.host` instead, depending on the usage", + "0.5.0" + ) val HttpHost: AttributeKey[String] = string("http.host") - /** - * Deprecated, use `http.request.method` instead. - */ + /** Deprecated, use `http.request.method` instead. + */ @deprecated("Use `http.request.method` instead", "0.5.0") val HttpMethod: AttributeKey[String] = string("http.method") - /** - * The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size. - */ + /** The size of the request payload body in bytes. This is the number of bytes + * transferred excluding headers and is often, but not always, present as the + * Content-Length + * header. For requests using transport encoding, this should be the + * compressed size. + */ val HttpRequestBodySize: AttributeKey[Long] = long("http.request.body.size") - /** - * HTTP request headers, `` being the normalized HTTP Header name (lowercase), the value being the header values. - * - * @note - * - Instrumentations SHOULD require an explicit configuration of which headers are to be captured. Including all request headers can be a security risk - explicit configuration helps avoid leaking sensitive information. -The `User-Agent` header is already captured in the `user_agent.original` attribute. Users MAY explicitly configure instrumentations to capture them even though it is not recommended. -The attribute value MUST consist of either multiple header values as an array of strings or a single-item array containing a possibly comma-concatenated string, depending on the way the HTTP library provides access to headers. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestHeader` instead.", "0.5.0") - val HttpRequestHeader: AttributeKey[Seq[String]] = stringSeq("http.request.header") - - /** - * HTTP request method. - * - * @note - * - HTTP request method value SHOULD be "known" to the instrumentation. -By default, this convention defines "known" methods as the ones listed in RFC9110 -and the PATCH method defined in RFC5789. - * - If the HTTP request method is not known to instrumentation, it MUST set the `http.request.method` attribute to `_OTHER`. - * - If the HTTP instrumentation could end up converting valid HTTP request methods to `_OTHER`, then it MUST provide a way to override -the list of known HTTP methods. If this override is done via environment variable, then the environment variable MUST be named -OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated list of case-sensitive known HTTP methods -(this list MUST be a full override of the default known method, it is not a list of known methods in addition to the defaults). - * - HTTP method names are case-sensitive and `http.request.method` attribute value MUST match a known HTTP method name exactly. -Instrumentations for specific web frameworks that consider HTTP methods to be case insensitive, SHOULD populate a canonical equivalent. -Tracing instrumentations that do so, MUST also set `http.request.method_original` to the original value. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestMethod` instead.", "0.5.0") + /** HTTP request headers, `` being the normalized HTTP Header name + * (lowercase), the value being the header values. + * + * @note + * - Instrumentations SHOULD require an explicit configuration of which + * headers are to be captured. Including all request headers can be a + * security risk - explicit configuration helps avoid leaking sensitive + * information. The `User-Agent` header is already captured in the + * `user_agent.original` attribute. Users MAY explicitly configure + * instrumentations to capture them even though it is not recommended. + * The attribute value MUST consist of either multiple header values as + * an array of strings or a single-item array containing a possibly + * comma-concatenated string, depending on the way the HTTP library + * provides access to headers. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestHeader` instead.", + "0.5.0" + ) + val HttpRequestHeader: AttributeKey[Seq[String]] = stringSeq( + "http.request.header" + ) + + /** HTTP request method. + * + * @note + * - HTTP request method value SHOULD be "known" to the + * instrumentation. By default, this convention defines "known" + * methods as the ones listed in RFC9110 + * and the PATCH method defined in RFC5789. + * - If the HTTP request method is not known to instrumentation, it MUST + * set the `http.request.method` attribute to `_OTHER`. + * - If the HTTP instrumentation could end up converting valid HTTP request + * methods to `_OTHER`, then it MUST provide a way to override the list + * of known HTTP methods. If this override is done via environment + * variable, then the environment variable MUST be named + * OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated + * list of case-sensitive known HTTP methods (this list MUST be a full + * override of the default known method, it is not a list of known + * methods in addition to the defaults). + * - HTTP method names are case-sensitive and `http.request.method` + * attribute value MUST match a known HTTP method name exactly. + * Instrumentations for specific web frameworks that consider HTTP + * methods to be case insensitive, SHOULD populate a canonical + * equivalent. Tracing instrumentations that do so, MUST also set + * `http.request.method_original` to the original value. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestMethod` instead.", + "0.5.0" + ) val HttpRequestMethod: AttributeKey[String] = string("http.request.method") - /** - * Original HTTP method sent by the client in the request line. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestMethodOriginal` instead.", "0.5.0") - val HttpRequestMethodOriginal: AttributeKey[String] = string("http.request.method_original") - - /** - * The ordinal number of request resending attempt (for any reason, including redirects). - * - * @note - * - The resend count SHOULD be updated each time an HTTP request gets resent by the client, regardless of what was the cause of the resending (e.g. redirection, authorization failure, 503 Server Unavailable, network issues, or any other). - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestResendCount` instead.", "0.5.0") - val HttpRequestResendCount: AttributeKey[Long] = long("http.request.resend_count") - - /** - * The total size of the request in bytes. This should be the total number of bytes sent over the wire, including the request line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and request body if any. - */ + /** Original HTTP method sent by the client in the request line. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestMethodOriginal` instead.", + "0.5.0" + ) + val HttpRequestMethodOriginal: AttributeKey[String] = string( + "http.request.method_original" + ) + + /** The ordinal number of request resending attempt (for any reason, including + * redirects). + * + * @note + * - The resend count SHOULD be updated each time an HTTP request gets + * resent by the client, regardless of what was the cause of the + * resending (e.g. redirection, authorization failure, 503 Server + * Unavailable, network issues, or any other). + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestResendCount` instead.", + "0.5.0" + ) + val HttpRequestResendCount: AttributeKey[Long] = long( + "http.request.resend_count" + ) + + /** The total size of the request in bytes. This should be the total number of + * bytes sent over the wire, including the request line (HTTP/1.1), framing + * (HTTP/2 and HTTP/3), headers, and request body if any. + */ val HttpRequestSize: AttributeKey[Long] = long("http.request.size") - /** - * Deprecated, use `http.request.header.content-length` instead. - */ + /** Deprecated, use `http.request.header.content-length` instead. + */ @deprecated("Use `http.request.header.content-length` instead", "0.5.0") - val HttpRequestContentLength: AttributeKey[Long] = long("http.request_content_length") + val HttpRequestContentLength: AttributeKey[Long] = long( + "http.request_content_length" + ) - /** - * Deprecated, use `http.request.body.size` instead. - */ + /** Deprecated, use `http.request.body.size` instead. + */ @deprecated("Use `http.request.body.size` instead", "0.5.0") - val HttpRequestContentLengthUncompressed: AttributeKey[Long] = long("http.request_content_length_uncompressed") + val HttpRequestContentLengthUncompressed: AttributeKey[Long] = long( + "http.request_content_length_uncompressed" + ) - /** - * The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size. - */ + /** The size of the response payload body in bytes. This is the number of + * bytes transferred excluding headers and is often, but not always, present + * as the Content-Length + * header. For requests using transport encoding, this should be the + * compressed size. + */ val HttpResponseBodySize: AttributeKey[Long] = long("http.response.body.size") - /** - * HTTP response headers, `` being the normalized HTTP Header name (lowercase), the value being the header values. - * - * @note - * - Instrumentations SHOULD require an explicit configuration of which headers are to be captured. Including all response headers can be a security risk - explicit configuration helps avoid leaking sensitive information. -Users MAY explicitly configure instrumentations to capture them even though it is not recommended. -The attribute value MUST consist of either multiple header values as an array of strings or a single-item array containing a possibly comma-concatenated string, depending on the way the HTTP library provides access to headers. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpResponseHeader` instead.", "0.5.0") - val HttpResponseHeader: AttributeKey[Seq[String]] = stringSeq("http.response.header") - - /** - * The total size of the response in bytes. This should be the total number of bytes sent over the wire, including the status line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and response body and trailers if any. - */ + /** HTTP response headers, `` being the normalized HTTP Header name + * (lowercase), the value being the header values. + * + * @note + * - Instrumentations SHOULD require an explicit configuration of which + * headers are to be captured. Including all response headers can be a + * security risk - explicit configuration helps avoid leaking sensitive + * information. Users MAY explicitly configure instrumentations to + * capture them even though it is not recommended. The attribute value + * MUST consist of either multiple header values as an array of strings + * or a single-item array containing a possibly comma-concatenated + * string, depending on the way the HTTP library provides access to + * headers. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpResponseHeader` instead.", + "0.5.0" + ) + val HttpResponseHeader: AttributeKey[Seq[String]] = stringSeq( + "http.response.header" + ) + + /** The total size of the response in bytes. This should be the total number + * of bytes sent over the wire, including the status line (HTTP/1.1), framing + * (HTTP/2 and HTTP/3), headers, and response body and trailers if any. + */ val HttpResponseSize: AttributeKey[Long] = long("http.response.size") - /** - * HTTP response status code. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpResponseStatusCode` instead.", "0.5.0") - val HttpResponseStatusCode: AttributeKey[Long] = long("http.response.status_code") + /** HTTP response + * status code. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpResponseStatusCode` instead.", + "0.5.0" + ) + val HttpResponseStatusCode: AttributeKey[Long] = long( + "http.response.status_code" + ) - /** - * Deprecated, use `http.response.header.content-length` instead. - */ + /** Deprecated, use `http.response.header.content-length` instead. + */ @deprecated("Use `http.response.header.content-length` instead", "0.5.0") - val HttpResponseContentLength: AttributeKey[Long] = long("http.response_content_length") + val HttpResponseContentLength: AttributeKey[Long] = long( + "http.response_content_length" + ) - /** - * Deprecated, use `http.response.body.size` instead. - */ + /** Deprecated, use `http.response.body.size` instead. + */ @deprecated("Use `http.response.body.size` instead", "0.5.0") - val HttpResponseContentLengthUncompressed: AttributeKey[Long] = long("http.response_content_length_uncompressed") - - /** - * The matched route, that is, the path template in the format used by the respective server framework. - * - * @note - * - MUST NOT be populated when this is not supported by the HTTP server framework as the route attribute should have low-cardinality and the URI path can NOT substitute it. -SHOULD include the application root if there is one. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRoute` instead.", "0.5.0") + val HttpResponseContentLengthUncompressed: AttributeKey[Long] = long( + "http.response_content_length_uncompressed" + ) + + /** The matched route, that is, the path template in the format used by the + * respective server framework. + * + * @note + * - MUST NOT be populated when this is not supported by the HTTP server + * framework as the route attribute should have low-cardinality and the + * URI path can NOT substitute it. SHOULD include the application + * root if there is one. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRoute` instead.", + "0.5.0" + ) val HttpRoute: AttributeKey[String] = string("http.route") - /** - * Deprecated, use `url.scheme` instead. - */ + /** Deprecated, use `url.scheme` instead. + */ @deprecated("Use `url.scheme` instead", "0.5.0") val HttpScheme: AttributeKey[String] = string("http.scheme") - /** - * Deprecated, use `server.address` instead. - */ + /** Deprecated, use `server.address` instead. + */ @deprecated("Use `server.address` instead", "0.5.0") val HttpServerName: AttributeKey[String] = string("http.server_name") - /** - * Deprecated, use `http.response.status_code` instead. - */ + /** Deprecated, use `http.response.status_code` instead. + */ @deprecated("Use `http.response.status_code` instead", "0.5.0") val HttpStatusCode: AttributeKey[Long] = long("http.status_code") - /** - * Deprecated, use `url.path` and `url.query` instead. - */ + /** Deprecated, use `url.path` and `url.query` instead. + */ @deprecated("Use `url.path` and `url.query` instead", "0.5.0") val HttpTarget: AttributeKey[String] = string("http.target") - /** - * Deprecated, use `url.full` instead. - */ + /** Deprecated, use `url.full` instead. + */ @deprecated("Use `url.full` instead", "0.5.0") val HttpUrl: AttributeKey[String] = string("http.url") - /** - * Deprecated, use `user_agent.original` instead. - */ + /** Deprecated, use `user_agent.original` instead. + */ @deprecated("Use `user_agent.original` instead", "0.5.0") val HttpUserAgent: AttributeKey[String] = string("http.user_agent") // Enum definitions - - /** - * Values for [[HttpConnectionState]]. - */ + + /** Values for [[HttpConnectionState]]. + */ abstract class HttpConnectionStateValue(val value: String) object HttpConnectionStateValue { + /** active state. */ case object Active extends HttpConnectionStateValue("active") + /** idle state. */ case object Idle extends HttpConnectionStateValue("idle") } - /** - * Values for [[HttpFlavor]]. - */ + + /** Values for [[HttpFlavor]]. + */ @deprecated("Use `network.protocol.name` instead", "0.5.0") abstract class HttpFlavorValue(val value: String) @annotation.nowarn("cat=deprecation") object HttpFlavorValue { + /** HTTP/1.0. */ case object Http10 extends HttpFlavorValue("1.0") + /** HTTP/1.1. */ case object Http11 extends HttpFlavorValue("1.1") + /** HTTP/2. */ case object Http20 extends HttpFlavorValue("2.0") + /** HTTP/3. */ case object Http30 extends HttpFlavorValue("3.0") + /** SPDY protocol. */ case object Spdy extends HttpFlavorValue("SPDY") + /** QUIC protocol. */ case object Quic extends HttpFlavorValue("QUIC") } - /** - * Values for [[HttpRequestMethod]]. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestMethodValue` instead.", "0.5.0") + + /** Values for [[HttpRequestMethod]]. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.HttpAttributes.HttpRequestMethodValue` instead.", + "0.5.0" + ) abstract class HttpRequestMethodValue(val value: String) @annotation.nowarn("cat=deprecation") object HttpRequestMethodValue { + /** CONNECT method. */ case object Connect extends HttpRequestMethodValue("CONNECT") + /** DELETE method. */ case object Delete extends HttpRequestMethodValue("DELETE") + /** GET method. */ case object Get extends HttpRequestMethodValue("GET") + /** HEAD method. */ case object Head extends HttpRequestMethodValue("HEAD") + /** OPTIONS method. */ case object Options extends HttpRequestMethodValue("OPTIONS") + /** PATCH method. */ case object Patch extends HttpRequestMethodValue("PATCH") + /** POST method. */ case object Post extends HttpRequestMethodValue("POST") + /** PUT method. */ case object Put extends HttpRequestMethodValue("PUT") + /** TRACE method. */ case object Trace extends HttpRequestMethodValue("TRACE") + /** Any HTTP method that the instrumentation has no prior knowledge of. */ case object Other extends HttpRequestMethodValue("_OTHER") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/JvmExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/JvmExperimentalAttributes.scala index 4d1c9c8d2..f58712bb9 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/JvmExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/JvmExperimentalAttributes.scala @@ -22,91 +22,123 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object JvmExperimentalAttributes { - /** - * Name of the buffer pool. - * - * @note - * - Pool names are generally obtained via BufferPoolMXBean#getName(). - */ + /** Name of the buffer pool. + * + * @note + * - Pool names are generally obtained via BufferPoolMXBean#getName(). + */ val JvmBufferPoolName: AttributeKey[String] = string("jvm.buffer.pool.name") - /** - * Name of the garbage collector action. - * - * @note - * - Garbage collector action is generally obtained via GarbageCollectionNotificationInfo#getGcAction(). - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmGcAction` instead.", "0.5.0") + /** Name of the garbage collector action. + * + * @note + * - Garbage collector action is generally obtained via GarbageCollectionNotificationInfo#getGcAction(). + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmGcAction` instead.", + "0.5.0" + ) val JvmGcAction: AttributeKey[String] = string("jvm.gc.action") - /** - * Name of the garbage collector. - * - * @note - * - Garbage collector name is generally obtained via GarbageCollectionNotificationInfo#getGcName(). - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmGcName` instead.", "0.5.0") + /** Name of the garbage collector. + * + * @note + * - Garbage collector name is generally obtained via GarbageCollectionNotificationInfo#getGcName(). + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmGcName` instead.", + "0.5.0" + ) val JvmGcName: AttributeKey[String] = string("jvm.gc.name") - /** - * Name of the memory pool. - * - * @note - * - Pool names are generally obtained via MemoryPoolMXBean#getName(). - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmMemoryPoolName` instead.", "0.5.0") + /** Name of the memory pool. + * + * @note + * - Pool names are generally obtained via MemoryPoolMXBean#getName(). + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmMemoryPoolName` instead.", + "0.5.0" + ) val JvmMemoryPoolName: AttributeKey[String] = string("jvm.memory.pool.name") - /** - * The type of memory. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmMemoryType` instead.", "0.5.0") + /** The type of memory. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmMemoryType` instead.", + "0.5.0" + ) val JvmMemoryType: AttributeKey[String] = string("jvm.memory.type") - /** - * Whether the thread is daemon or not. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmThreadDaemon` instead.", "0.5.0") + /** Whether the thread is daemon or not. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmThreadDaemon` instead.", + "0.5.0" + ) val JvmThreadDaemon: AttributeKey[Boolean] = boolean("jvm.thread.daemon") - /** - * State of the thread. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmThreadState` instead.", "0.5.0") + /** State of the thread. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmThreadState` instead.", + "0.5.0" + ) val JvmThreadState: AttributeKey[String] = string("jvm.thread.state") // Enum definitions - - /** - * Values for [[JvmMemoryType]]. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmMemoryTypeValue` instead.", "0.5.0") + + /** Values for [[JvmMemoryType]]. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmMemoryTypeValue` instead.", + "0.5.0" + ) abstract class JvmMemoryTypeValue(val value: String) @annotation.nowarn("cat=deprecation") object JvmMemoryTypeValue { + /** Heap memory. */ case object Heap extends JvmMemoryTypeValue("heap") + /** Non-heap memory. */ case object NonHeap extends JvmMemoryTypeValue("non_heap") } - /** - * Values for [[JvmThreadState]]. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmThreadStateValue` instead.", "0.5.0") + + /** Values for [[JvmThreadState]]. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.JvmAttributes.JvmThreadStateValue` instead.", + "0.5.0" + ) abstract class JvmThreadStateValue(val value: String) @annotation.nowarn("cat=deprecation") object JvmThreadStateValue { + /** A thread that has not yet started is in this state. */ case object New extends JvmThreadStateValue("new") + /** A thread executing in the Java virtual machine is in this state. */ case object Runnable extends JvmThreadStateValue("runnable") + /** A thread that is blocked waiting for a monitor lock is in this state. */ case object Blocked extends JvmThreadStateValue("blocked") - /** A thread that is waiting indefinitely for another thread to perform a particular action is in this state. */ + + /** A thread that is waiting indefinitely for another thread to perform a + * particular action is in this state. + */ case object Waiting extends JvmThreadStateValue("waiting") - /** A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state. */ + + /** A thread that is waiting for another thread to perform an action for up + * to a specified waiting time is in this state. + */ case object TimedWaiting extends JvmThreadStateValue("timed_waiting") + /** A thread that has exited is in this state. */ case object Terminated extends JvmThreadStateValue("terminated") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/K8sExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/K8sExperimentalAttributes.scala index e7c8ef753..a69c8f5de 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/K8sExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/K8sExperimentalAttributes.scala @@ -22,153 +22,140 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object K8sExperimentalAttributes { - /** - * The name of the cluster. - */ + /** The name of the cluster. + */ val K8sClusterName: AttributeKey[String] = string("k8s.cluster.name") - /** - * A pseudo-ID for the cluster, set to the UID of the `kube-system` namespace. - * - * @note - * - K8s doesn't have support for obtaining a cluster ID. If this is ever -added, we will recommend collecting the `k8s.cluster.uid` through the -official APIs. In the meantime, we are able to use the `uid` of the -`kube-system` namespace as a proxy for cluster ID. Read on for the -rationale. - * - Every object created in a K8s cluster is assigned a distinct UID. The -`kube-system` namespace is used by Kubernetes itself and will exist -for the lifetime of the cluster. Using the `uid` of the `kube-system` -namespace is a reasonable proxy for the K8s ClusterID as it will only -change if the cluster is rebuilt. Furthermore, Kubernetes UIDs are -UUIDs as standardized by -ISO/IEC 9834-8 and ITU-T X.667. -Which states:
    - - * - If generated according to one of the mechanisms defined in Rec.
    - - * - ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be - different from all other UUIDs generated before 3603 A.D., or is - extremely likely to be different (depending on the mechanism chosen). - * - Therefore, UIDs between clusters should be extremely unlikely to -conflict. - */ + /** A pseudo-ID for the cluster, set to the UID of the `kube-system` + * namespace. + * + * @note + * - K8s doesn't have support for obtaining a cluster ID. If this is ever + * added, we will recommend collecting the `k8s.cluster.uid` through the + * official APIs. In the meantime, we are able to use the `uid` of the + * `kube-system` namespace as a proxy for cluster ID. Read on for the + * rationale. + * - Every object created in a K8s cluster is assigned a distinct UID. The + * `kube-system` namespace is used by Kubernetes itself and will exist + * for the lifetime of the cluster. Using the `uid` of the `kube-system` + * namespace is a reasonable proxy for the K8s ClusterID as it will only + * change if the cluster is rebuilt. Furthermore, Kubernetes UIDs are + * UUIDs as standardized by ISO/IEC + * 9834-8 and ITU-T X.667. Which states:
    + * + * - If generated according to one of the mechanisms defined in + * Rec.
    + * + * - ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be + * different from all other UUIDs generated before 3603 A.D., or is extremely + * likely to be different (depending on the mechanism chosen). + * - Therefore, UIDs between clusters should be extremely unlikely to + * conflict. + */ val K8sClusterUid: AttributeKey[String] = string("k8s.cluster.uid") - /** - * The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (`container.name`). - */ + /** The name of the Container from Pod specification, must be unique within a + * Pod. Container runtime usually uses different globally unique name + * (`container.name`). + */ val K8sContainerName: AttributeKey[String] = string("k8s.container.name") - /** - * Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec. - */ - val K8sContainerRestartCount: AttributeKey[Long] = long("k8s.container.restart_count") - - /** - * Last terminated reason of the Container. - */ - val K8sContainerStatusLastTerminatedReason: AttributeKey[String] = string("k8s.container.status.last_terminated_reason") - - /** - * The name of the CronJob. - */ + /** Number of times the container was restarted. This attribute can be used to + * identify a particular container (running or stopped) within a container + * spec. + */ + val K8sContainerRestartCount: AttributeKey[Long] = long( + "k8s.container.restart_count" + ) + + /** Last terminated reason of the Container. + */ + val K8sContainerStatusLastTerminatedReason: AttributeKey[String] = string( + "k8s.container.status.last_terminated_reason" + ) + + /** The name of the CronJob. + */ val K8sCronjobName: AttributeKey[String] = string("k8s.cronjob.name") - /** - * The UID of the CronJob. - */ + /** The UID of the CronJob. + */ val K8sCronjobUid: AttributeKey[String] = string("k8s.cronjob.uid") - /** - * The name of the DaemonSet. - */ + /** The name of the DaemonSet. + */ val K8sDaemonsetName: AttributeKey[String] = string("k8s.daemonset.name") - /** - * The UID of the DaemonSet. - */ + /** The UID of the DaemonSet. + */ val K8sDaemonsetUid: AttributeKey[String] = string("k8s.daemonset.uid") - /** - * The name of the Deployment. - */ + /** The name of the Deployment. + */ val K8sDeploymentName: AttributeKey[String] = string("k8s.deployment.name") - /** - * The UID of the Deployment. - */ + /** The UID of the Deployment. + */ val K8sDeploymentUid: AttributeKey[String] = string("k8s.deployment.uid") - /** - * The name of the Job. - */ + /** The name of the Job. + */ val K8sJobName: AttributeKey[String] = string("k8s.job.name") - /** - * The UID of the Job. - */ + /** The UID of the Job. + */ val K8sJobUid: AttributeKey[String] = string("k8s.job.uid") - /** - * The name of the namespace that the pod is running in. - */ + /** The name of the namespace that the pod is running in. + */ val K8sNamespaceName: AttributeKey[String] = string("k8s.namespace.name") - /** - * The name of the Node. - */ + /** The name of the Node. + */ val K8sNodeName: AttributeKey[String] = string("k8s.node.name") - /** - * The UID of the Node. - */ + /** The UID of the Node. + */ val K8sNodeUid: AttributeKey[String] = string("k8s.node.uid") - /** - * The annotation key-value pairs placed on the Pod, the `` being the annotation name, the value being the annotation value. - */ + /** The annotation key-value pairs placed on the Pod, the `` being the + * annotation name, the value being the annotation value. + */ val K8sPodAnnotation: AttributeKey[String] = string("k8s.pod.annotation") - /** - * The label key-value pairs placed on the Pod, the `` being the label name, the value being the label value. - */ + /** The label key-value pairs placed on the Pod, the `` being the label + * name, the value being the label value. + */ val K8sPodLabel: AttributeKey[String] = string("k8s.pod.label") - /** - * Deprecated, use `k8s.pod.label` instead. - */ + /** Deprecated, use `k8s.pod.label` instead. + */ @deprecated("Use `k8s.pod.label` instead", "0.5.0") val K8sPodLabels: AttributeKey[String] = string("k8s.pod.labels") - /** - * The name of the Pod. - */ + /** The name of the Pod. + */ val K8sPodName: AttributeKey[String] = string("k8s.pod.name") - /** - * The UID of the Pod. - */ + /** The UID of the Pod. + */ val K8sPodUid: AttributeKey[String] = string("k8s.pod.uid") - /** - * The name of the ReplicaSet. - */ + /** The name of the ReplicaSet. + */ val K8sReplicasetName: AttributeKey[String] = string("k8s.replicaset.name") - /** - * The UID of the ReplicaSet. - */ + /** The UID of the ReplicaSet. + */ val K8sReplicasetUid: AttributeKey[String] = string("k8s.replicaset.uid") - /** - * The name of the StatefulSet. - */ + /** The name of the StatefulSet. + */ val K8sStatefulsetName: AttributeKey[String] = string("k8s.statefulset.name") - /** - * The UID of the StatefulSet. - */ + /** The UID of the StatefulSet. + */ val K8sStatefulsetUid: AttributeKey[String] = string("k8s.statefulset.uid") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/LogExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/LogExperimentalAttributes.scala index fc26efcfa..d0ca68a47 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/LogExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/LogExperimentalAttributes.scala @@ -22,50 +22,54 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object LogExperimentalAttributes { - /** - * The basename of the file. - */ + /** The basename of the file. + */ val LogFileName: AttributeKey[String] = string("log.file.name") - /** - * The basename of the file, with symlinks resolved. - */ - val LogFileNameResolved: AttributeKey[String] = string("log.file.name_resolved") + /** The basename of the file, with symlinks resolved. + */ + val LogFileNameResolved: AttributeKey[String] = string( + "log.file.name_resolved" + ) - /** - * The full path to the file. - */ + /** The full path to the file. + */ val LogFilePath: AttributeKey[String] = string("log.file.path") - /** - * The full path to the file, with symlinks resolved. - */ - val LogFilePathResolved: AttributeKey[String] = string("log.file.path_resolved") + /** The full path to the file, with symlinks resolved. + */ + val LogFilePathResolved: AttributeKey[String] = string( + "log.file.path_resolved" + ) - /** - * The stream associated with the log. See below for a list of well-known values. - */ + /** The stream associated with the log. See below for a list of well-known + * values. + */ val LogIostream: AttributeKey[String] = string("log.iostream") - /** - * A unique identifier for the Log Record. - * - * @note - * - If an id is provided, other log records with the same id will be considered duplicates and can be removed safely. This means, that two distinguishable log records MUST have different values. -The id MAY be an Universally Unique Lexicographically Sortable Identifier (ULID), but other identifiers (e.g. UUID) may be used as needed. - */ + /** A unique identifier for the Log Record. + * + * @note + * - If an id is provided, other log records with the same id will be + * considered duplicates and can be removed safely. This means, that two + * distinguishable log records MUST have different values. The id MAY be + * an Universally Unique + * Lexicographically Sortable Identifier (ULID), but other + * identifiers (e.g. UUID) may be used as needed. + */ val LogRecordUid: AttributeKey[String] = string("log.record.uid") // Enum definitions - - /** - * Values for [[LogIostream]]. - */ + + /** Values for [[LogIostream]]. + */ abstract class LogIostreamValue(val value: String) object LogIostreamValue { + /** Logs from stdout stream. */ case object Stdout extends LogIostreamValue("stdout") + /** Events from stderr stream. */ case object Stderr extends LogIostreamValue("stderr") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessageExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessageExperimentalAttributes.scala index 416466b8b..728e5e64c 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessageExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessageExperimentalAttributes.scala @@ -22,42 +22,43 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object MessageExperimentalAttributes { - /** - * Deprecated, use `rpc.message.compressed_size` instead. - */ + /** Deprecated, use `rpc.message.compressed_size` instead. + */ @deprecated("Use `rpc.message.compressed_size` instead", "0.5.0") - val MessageCompressedSize: AttributeKey[Long] = long("message.compressed_size") + val MessageCompressedSize: AttributeKey[Long] = long( + "message.compressed_size" + ) - /** - * Deprecated, use `rpc.message.id` instead. - */ + /** Deprecated, use `rpc.message.id` instead. + */ @deprecated("Use `rpc.message.id` instead", "0.5.0") val MessageId: AttributeKey[Long] = long("message.id") - /** - * Deprecated, use `rpc.message.type` instead. - */ + /** Deprecated, use `rpc.message.type` instead. + */ @deprecated("Use `rpc.message.type` instead", "0.5.0") val MessageType: AttributeKey[String] = string("message.type") - /** - * Deprecated, use `rpc.message.uncompressed_size` instead. - */ + /** Deprecated, use `rpc.message.uncompressed_size` instead. + */ @deprecated("Use `rpc.message.uncompressed_size` instead", "0.5.0") - val MessageUncompressedSize: AttributeKey[Long] = long("message.uncompressed_size") + val MessageUncompressedSize: AttributeKey[Long] = long( + "message.uncompressed_size" + ) // Enum definitions - - /** - * Values for [[MessageType]]. - */ + + /** Values for [[MessageType]]. + */ @deprecated("Use `rpc.message.type` instead", "0.5.0") abstract class MessageTypeValue(val value: String) @annotation.nowarn("cat=deprecation") object MessageTypeValue { + /** sent. */ case object Sent extends MessageTypeValue("SENT") + /** received. */ case object Received extends MessageTypeValue("RECEIVED") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessagingExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessagingExperimentalAttributes.scala index 1e3809172..32a97c64c 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessagingExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessagingExperimentalAttributes.scala @@ -22,340 +22,450 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object MessagingExperimentalAttributes { - /** - * The number of messages sent, received, or processed in the scope of the batching operation. - * - * @note - * - Instrumentations SHOULD NOT set `messaging.batch.message_count` on spans that operate with a single message. When a messaging client library supports both batch and single-message API for the same operation, instrumentations SHOULD use `messaging.batch.message_count` for batching APIs and SHOULD NOT use it for single-message APIs. - */ - val MessagingBatchMessageCount: AttributeKey[Long] = long("messaging.batch.message_count") - - /** - * A unique identifier for the client that consumes or produces a message. - */ + /** The number of messages sent, received, or processed in the scope of the + * batching operation. + * + * @note + * - Instrumentations SHOULD NOT set `messaging.batch.message_count` on + * spans that operate with a single message. When a messaging client + * library supports both batch and single-message API for the same + * operation, instrumentations SHOULD use `messaging.batch.message_count` + * for batching APIs and SHOULD NOT use it for single-message APIs. + */ + val MessagingBatchMessageCount: AttributeKey[Long] = long( + "messaging.batch.message_count" + ) + + /** A unique identifier for the client that consumes or produces a message. + */ val MessagingClientId: AttributeKey[String] = string("messaging.client.id") - /** - * Deprecated, use `messaging.client.id` instead. - */ + /** Deprecated, use `messaging.client.id` instead. + */ @deprecated("Use `messaging.client.id` instead", "0.5.0") val MessagingClientId: AttributeKey[String] = string("messaging.client_id") - /** - * A boolean that is true if the message destination is anonymous (could be unnamed or have auto-generated name). - */ - val MessagingDestinationAnonymous: AttributeKey[Boolean] = boolean("messaging.destination.anonymous") - - /** - * The message destination name - * - * @note - * - Destination name SHOULD uniquely identify a specific queue, topic or other entity within the broker. If -the broker doesn't have such notion, the destination name SHOULD uniquely identify the broker. - */ - val MessagingDestinationName: AttributeKey[String] = string("messaging.destination.name") - - /** - * The identifier of the partition messages are sent to or received from, unique within the `messaging.destination.name`. - */ - val MessagingDestinationPartitionId: AttributeKey[String] = string("messaging.destination.partition.id") - - /** - * Low cardinality representation of the messaging destination name - * - * @note - * - Destination names could be constructed from templates. An example would be a destination name involving a user name or product id. Although the destination name in this case is of high cardinality, the underlying template is of low cardinality and can be effectively used for grouping and aggregation. - */ - val MessagingDestinationTemplate: AttributeKey[String] = string("messaging.destination.template") - - /** - * A boolean that is true if the message destination is temporary and might not exist anymore after messages are processed. - */ - val MessagingDestinationTemporary: AttributeKey[Boolean] = boolean("messaging.destination.temporary") - - /** - * A boolean that is true if the publish message destination is anonymous (could be unnamed or have auto-generated name). - */ - val MessagingDestinationPublishAnonymous: AttributeKey[Boolean] = boolean("messaging.destination_publish.anonymous") - - /** - * The name of the original destination the message was published to - * - * @note - * - The name SHOULD uniquely identify a specific queue, topic, or other entity within the broker. If -the broker doesn't have such notion, the original destination name SHOULD uniquely identify the broker. - */ - val MessagingDestinationPublishName: AttributeKey[String] = string("messaging.destination_publish.name") - - /** - * The name of the consumer group the event consumer is associated with. - */ - val MessagingEventhubsConsumerGroup: AttributeKey[String] = string("messaging.eventhubs.consumer.group") - - /** - * The UTC epoch seconds at which the message has been accepted and stored in the entity. - */ - val MessagingEventhubsMessageEnqueuedTime: AttributeKey[Long] = long("messaging.eventhubs.message.enqueued_time") - - /** - * The ack deadline in seconds set for the modify ack deadline request. - */ - val MessagingGcpPubsubMessageAckDeadline: AttributeKey[Long] = long("messaging.gcp_pubsub.message.ack_deadline") - - /** - * The ack id for a given message. - */ - val MessagingGcpPubsubMessageAckId: AttributeKey[String] = string("messaging.gcp_pubsub.message.ack_id") - - /** - * The delivery attempt for a given message. - */ - val MessagingGcpPubsubMessageDeliveryAttempt: AttributeKey[Long] = long("messaging.gcp_pubsub.message.delivery_attempt") - - /** - * The ordering key for a given message. If the attribute is not present, the message does not have an ordering key. - */ - val MessagingGcpPubsubMessageOrderingKey: AttributeKey[String] = string("messaging.gcp_pubsub.message.ordering_key") - - /** - * Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers. - */ - val MessagingKafkaConsumerGroup: AttributeKey[String] = string("messaging.kafka.consumer.group") - - /** - * Deprecated, use `messaging.destination.partition.id` instead. - */ + /** A boolean that is true if the message destination is anonymous (could be + * unnamed or have auto-generated name). + */ + val MessagingDestinationAnonymous: AttributeKey[Boolean] = boolean( + "messaging.destination.anonymous" + ) + + /** The message destination name + * + * @note + * - Destination name SHOULD uniquely identify a specific queue, topic or + * other entity within the broker. If the broker doesn't have such + * notion, the destination name SHOULD uniquely identify the broker. + */ + val MessagingDestinationName: AttributeKey[String] = string( + "messaging.destination.name" + ) + + /** The identifier of the partition messages are sent to or received from, + * unique within the `messaging.destination.name`. + */ + val MessagingDestinationPartitionId: AttributeKey[String] = string( + "messaging.destination.partition.id" + ) + + /** Low cardinality representation of the messaging destination name + * + * @note + * - Destination names could be constructed from templates. An example + * would be a destination name involving a user name or product id. + * Although the destination name in this case is of high cardinality, the + * underlying template is of low cardinality and can be effectively used + * for grouping and aggregation. + */ + val MessagingDestinationTemplate: AttributeKey[String] = string( + "messaging.destination.template" + ) + + /** A boolean that is true if the message destination is temporary and might + * not exist anymore after messages are processed. + */ + val MessagingDestinationTemporary: AttributeKey[Boolean] = boolean( + "messaging.destination.temporary" + ) + + /** A boolean that is true if the publish message destination is anonymous + * (could be unnamed or have auto-generated name). + */ + val MessagingDestinationPublishAnonymous: AttributeKey[Boolean] = boolean( + "messaging.destination_publish.anonymous" + ) + + /** The name of the original destination the message was published to + * + * @note + * - The name SHOULD uniquely identify a specific queue, topic, or other + * entity within the broker. If the broker doesn't have such notion, the + * original destination name SHOULD uniquely identify the broker. + */ + val MessagingDestinationPublishName: AttributeKey[String] = string( + "messaging.destination_publish.name" + ) + + /** The name of the consumer group the event consumer is associated with. + */ + val MessagingEventhubsConsumerGroup: AttributeKey[String] = string( + "messaging.eventhubs.consumer.group" + ) + + /** The UTC epoch seconds at which the message has been accepted and stored in + * the entity. + */ + val MessagingEventhubsMessageEnqueuedTime: AttributeKey[Long] = long( + "messaging.eventhubs.message.enqueued_time" + ) + + /** The ack deadline in seconds set for the modify ack deadline request. + */ + val MessagingGcpPubsubMessageAckDeadline: AttributeKey[Long] = long( + "messaging.gcp_pubsub.message.ack_deadline" + ) + + /** The ack id for a given message. + */ + val MessagingGcpPubsubMessageAckId: AttributeKey[String] = string( + "messaging.gcp_pubsub.message.ack_id" + ) + + /** The delivery attempt for a given message. + */ + val MessagingGcpPubsubMessageDeliveryAttempt: AttributeKey[Long] = long( + "messaging.gcp_pubsub.message.delivery_attempt" + ) + + /** The ordering key for a given message. If the attribute is not present, the + * message does not have an ordering key. + */ + val MessagingGcpPubsubMessageOrderingKey: AttributeKey[String] = string( + "messaging.gcp_pubsub.message.ordering_key" + ) + + /** Name of the Kafka Consumer Group that is handling the message. Only + * applies to consumers, not producers. + */ + val MessagingKafkaConsumerGroup: AttributeKey[String] = string( + "messaging.kafka.consumer.group" + ) + + /** Deprecated, use `messaging.destination.partition.id` instead. + */ @deprecated("Use `messaging.destination.partition.id` instead", "0.5.0") - val MessagingKafkaDestinationPartition: AttributeKey[Long] = long("messaging.kafka.destination.partition") - - /** - * Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from `messaging.message.id` in that they're not unique. If the key is `null`, the attribute MUST NOT be set. - * - * @note - * - If the key type is not string, it's string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don't include its value. - */ - val MessagingKafkaMessageKey: AttributeKey[String] = string("messaging.kafka.message.key") - - /** - * The offset of a record in the corresponding Kafka partition. - */ - val MessagingKafkaMessageOffset: AttributeKey[Long] = long("messaging.kafka.message.offset") - - /** - * A boolean that is true if the message is a tombstone. - */ - val MessagingKafkaMessageTombstone: AttributeKey[Boolean] = boolean("messaging.kafka.message.tombstone") - - /** - * The size of the message body in bytes. - * - * @note - * - This can refer to both the compressed or uncompressed body size. If both sizes are known, the uncompressed -body size should be used. - */ - val MessagingMessageBodySize: AttributeKey[Long] = long("messaging.message.body.size") - - /** - * The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID". - */ - val MessagingMessageConversationId: AttributeKey[String] = string("messaging.message.conversation_id") - - /** - * The size of the message body and metadata in bytes. - * - * @note - * - This can refer to both the compressed or uncompressed size. If both sizes are known, the uncompressed -size should be used. - */ - val MessagingMessageEnvelopeSize: AttributeKey[Long] = long("messaging.message.envelope.size") - - /** - * A value used by the messaging system as an identifier for the message, represented as a string. - */ + val MessagingKafkaDestinationPartition: AttributeKey[Long] = long( + "messaging.kafka.destination.partition" + ) + + /** Message keys in Kafka are used for grouping alike messages to ensure + * they're processed on the same partition. They differ from + * `messaging.message.id` in that they're not unique. If the key is `null`, + * the attribute MUST NOT be set. + * + * @note + * - If the key type is not string, it's string representation has to be + * supplied for the attribute. If the key has no unambiguous, canonical + * string form, don't include its value. + */ + val MessagingKafkaMessageKey: AttributeKey[String] = string( + "messaging.kafka.message.key" + ) + + /** The offset of a record in the corresponding Kafka partition. + */ + val MessagingKafkaMessageOffset: AttributeKey[Long] = long( + "messaging.kafka.message.offset" + ) + + /** A boolean that is true if the message is a tombstone. + */ + val MessagingKafkaMessageTombstone: AttributeKey[Boolean] = boolean( + "messaging.kafka.message.tombstone" + ) + + /** The size of the message body in bytes. + * + * @note + * - This can refer to both the compressed or uncompressed body size. If + * both sizes are known, the uncompressed body size should be used. + */ + val MessagingMessageBodySize: AttributeKey[Long] = long( + "messaging.message.body.size" + ) + + /** The conversation ID identifying the conversation to which the message + * belongs, represented as a string. Sometimes called "Correlation + * ID". + */ + val MessagingMessageConversationId: AttributeKey[String] = string( + "messaging.message.conversation_id" + ) + + /** The size of the message body and metadata in bytes. + * + * @note + * - This can refer to both the compressed or uncompressed size. If both + * sizes are known, the uncompressed size should be used. + */ + val MessagingMessageEnvelopeSize: AttributeKey[Long] = long( + "messaging.message.envelope.size" + ) + + /** A value used by the messaging system as an identifier for the message, + * represented as a string. + */ val MessagingMessageId: AttributeKey[String] = string("messaging.message.id") - /** - * Deprecated, use `messaging.operation.type` instead. - */ + /** Deprecated, use `messaging.operation.type` instead. + */ @deprecated("Use `messaging.operation.type` instead", "0.5.0") val MessagingOperation: AttributeKey[String] = string("messaging.operation") - /** - * The system-specific name of the messaging operation. - */ - val MessagingOperationName: AttributeKey[String] = string("messaging.operation.name") - - /** - * A string identifying the type of the messaging operation. - * - * @note - * - If a custom value is used, it MUST be of low cardinality. - */ - val MessagingOperationType: AttributeKey[String] = string("messaging.operation.type") - - /** - * RabbitMQ message routing key. - */ - val MessagingRabbitmqDestinationRoutingKey: AttributeKey[String] = string("messaging.rabbitmq.destination.routing_key") - - /** - * RabbitMQ message delivery tag - */ - val MessagingRabbitmqMessageDeliveryTag: AttributeKey[Long] = long("messaging.rabbitmq.message.delivery_tag") - - /** - * Name of the RocketMQ producer/consumer group that is handling the message. The client type is identified by the SpanKind. - */ - val MessagingRocketmqClientGroup: AttributeKey[String] = string("messaging.rocketmq.client_group") - - /** - * Model of message consumption. This only applies to consumer spans. - */ - val MessagingRocketmqConsumptionModel: AttributeKey[String] = string("messaging.rocketmq.consumption_model") - - /** - * The delay time level for delay message, which determines the message delay time. - */ - val MessagingRocketmqMessageDelayTimeLevel: AttributeKey[Long] = long("messaging.rocketmq.message.delay_time_level") - - /** - * The timestamp in milliseconds that the delay message is expected to be delivered to consumer. - */ - val MessagingRocketmqMessageDeliveryTimestamp: AttributeKey[Long] = long("messaging.rocketmq.message.delivery_timestamp") - - /** - * It is essential for FIFO message. Messages that belong to the same message group are always processed one by one within the same consumer group. - */ - val MessagingRocketmqMessageGroup: AttributeKey[String] = string("messaging.rocketmq.message.group") - - /** - * Key(s) of message, another way to mark message besides message id. - */ - val MessagingRocketmqMessageKeys: AttributeKey[Seq[String]] = stringSeq("messaging.rocketmq.message.keys") - - /** - * The secondary classifier of message besides topic. - */ - val MessagingRocketmqMessageTag: AttributeKey[String] = string("messaging.rocketmq.message.tag") - - /** - * Type of message. - */ - val MessagingRocketmqMessageType: AttributeKey[String] = string("messaging.rocketmq.message.type") - - /** - * Namespace of RocketMQ resources, resources in different namespaces are individual. - */ - val MessagingRocketmqNamespace: AttributeKey[String] = string("messaging.rocketmq.namespace") - - /** - * The name of the subscription in the topic messages are received from. - */ - val MessagingServicebusDestinationSubscriptionName: AttributeKey[String] = string("messaging.servicebus.destination.subscription_name") - - /** - * Describes the settlement type. - */ - val MessagingServicebusDispositionStatus: AttributeKey[String] = string("messaging.servicebus.disposition_status") - - /** - * Number of deliveries that have been attempted for this message. - */ - val MessagingServicebusMessageDeliveryCount: AttributeKey[Long] = long("messaging.servicebus.message.delivery_count") - - /** - * The UTC epoch seconds at which the message has been accepted and stored in the entity. - */ - val MessagingServicebusMessageEnqueuedTime: AttributeKey[Long] = long("messaging.servicebus.message.enqueued_time") - - /** - * The messaging system as identified by the client instrumentation. - * - * @note - * - The actual messaging system may differ from the one known by the client. For example, when using Kafka client libraries to communicate with Azure Event Hubs, the `messaging.system` is set to `kafka` based on the instrumentation's best knowledge. - */ + /** The system-specific name of the messaging operation. + */ + val MessagingOperationName: AttributeKey[String] = string( + "messaging.operation.name" + ) + + /** A string identifying the type of the messaging operation. + * + * @note + * - If a custom value is used, it MUST be of low cardinality. + */ + val MessagingOperationType: AttributeKey[String] = string( + "messaging.operation.type" + ) + + /** RabbitMQ message routing key. + */ + val MessagingRabbitmqDestinationRoutingKey: AttributeKey[String] = string( + "messaging.rabbitmq.destination.routing_key" + ) + + /** RabbitMQ message delivery tag + */ + val MessagingRabbitmqMessageDeliveryTag: AttributeKey[Long] = long( + "messaging.rabbitmq.message.delivery_tag" + ) + + /** Name of the RocketMQ producer/consumer group that is handling the message. + * The client type is identified by the SpanKind. + */ + val MessagingRocketmqClientGroup: AttributeKey[String] = string( + "messaging.rocketmq.client_group" + ) + + /** Model of message consumption. This only applies to consumer spans. + */ + val MessagingRocketmqConsumptionModel: AttributeKey[String] = string( + "messaging.rocketmq.consumption_model" + ) + + /** The delay time level for delay message, which determines the message delay + * time. + */ + val MessagingRocketmqMessageDelayTimeLevel: AttributeKey[Long] = long( + "messaging.rocketmq.message.delay_time_level" + ) + + /** The timestamp in milliseconds that the delay message is expected to be + * delivered to consumer. + */ + val MessagingRocketmqMessageDeliveryTimestamp: AttributeKey[Long] = long( + "messaging.rocketmq.message.delivery_timestamp" + ) + + /** It is essential for FIFO message. Messages that belong to the same message + * group are always processed one by one within the same consumer group. + */ + val MessagingRocketmqMessageGroup: AttributeKey[String] = string( + "messaging.rocketmq.message.group" + ) + + /** Key(s) of message, another way to mark message besides message id. + */ + val MessagingRocketmqMessageKeys: AttributeKey[Seq[String]] = stringSeq( + "messaging.rocketmq.message.keys" + ) + + /** The secondary classifier of message besides topic. + */ + val MessagingRocketmqMessageTag: AttributeKey[String] = string( + "messaging.rocketmq.message.tag" + ) + + /** Type of message. + */ + val MessagingRocketmqMessageType: AttributeKey[String] = string( + "messaging.rocketmq.message.type" + ) + + /** Namespace of RocketMQ resources, resources in different namespaces are + * individual. + */ + val MessagingRocketmqNamespace: AttributeKey[String] = string( + "messaging.rocketmq.namespace" + ) + + /** The name of the subscription in the topic messages are received from. + */ + val MessagingServicebusDestinationSubscriptionName: AttributeKey[String] = + string("messaging.servicebus.destination.subscription_name") + + /** Describes the settlement + * type. + */ + val MessagingServicebusDispositionStatus: AttributeKey[String] = string( + "messaging.servicebus.disposition_status" + ) + + /** Number of deliveries that have been attempted for this message. + */ + val MessagingServicebusMessageDeliveryCount: AttributeKey[Long] = long( + "messaging.servicebus.message.delivery_count" + ) + + /** The UTC epoch seconds at which the message has been accepted and stored in + * the entity. + */ + val MessagingServicebusMessageEnqueuedTime: AttributeKey[Long] = long( + "messaging.servicebus.message.enqueued_time" + ) + + /** The messaging system as identified by the client instrumentation. + * + * @note + * - The actual messaging system may differ from the one known by the + * client. For example, when using Kafka client libraries to communicate + * with Azure Event Hubs, the `messaging.system` is set to `kafka` based + * on the instrumentation's best knowledge. + */ val MessagingSystem: AttributeKey[String] = string("messaging.system") // Enum definitions - - /** - * Values for [[MessagingOperationType]]. - */ + + /** Values for [[MessagingOperationType]]. + */ abstract class MessagingOperationTypeValue(val value: String) object MessagingOperationTypeValue { - /** One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. */ + + /** One or more messages are provided for publishing to an intermediary. If + * a single message is published, the context of the "Publish" span + * can be used as the creation context and no "Create" span needs + * to be created. + */ case object Publish extends MessagingOperationTypeValue("publish") - /** A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. */ + + /** A message is created. "Create" spans always refer to a single + * message and are used to provide a unique creation context for messages + * in batch publishing scenarios. + */ case object Create extends MessagingOperationTypeValue("create") - /** One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. */ + + /** One or more messages are requested by a consumer. This operation refers + * to pull-based scenarios, where consumers explicitly call methods of + * messaging SDKs to receive messages. + */ case object Receive extends MessagingOperationTypeValue("receive") + /** One or more messages are delivered to or processed by a consumer. */ case object Deliver extends MessagingOperationTypeValue("process") + /** One or more messages are settled. */ case object Settle extends MessagingOperationTypeValue("settle") } - /** - * Values for [[MessagingRocketmqConsumptionModel]]. - */ + + /** Values for [[MessagingRocketmqConsumptionModel]]. + */ abstract class MessagingRocketmqConsumptionModelValue(val value: String) object MessagingRocketmqConsumptionModelValue { + /** Clustering consumption model. */ - case object Clustering extends MessagingRocketmqConsumptionModelValue("clustering") + case object Clustering + extends MessagingRocketmqConsumptionModelValue("clustering") + /** Broadcasting consumption model. */ - case object Broadcasting extends MessagingRocketmqConsumptionModelValue("broadcasting") + case object Broadcasting + extends MessagingRocketmqConsumptionModelValue("broadcasting") } - /** - * Values for [[MessagingRocketmqMessageType]]. - */ + + /** Values for [[MessagingRocketmqMessageType]]. + */ abstract class MessagingRocketmqMessageTypeValue(val value: String) object MessagingRocketmqMessageTypeValue { + /** Normal message. */ case object Normal extends MessagingRocketmqMessageTypeValue("normal") + /** FIFO message. */ case object Fifo extends MessagingRocketmqMessageTypeValue("fifo") + /** Delay message. */ case object Delay extends MessagingRocketmqMessageTypeValue("delay") + /** Transaction message. */ - case object Transaction extends MessagingRocketmqMessageTypeValue("transaction") + case object Transaction + extends MessagingRocketmqMessageTypeValue("transaction") } - /** - * Values for [[MessagingServicebusDispositionStatus]]. - */ + + /** Values for [[MessagingServicebusDispositionStatus]]. + */ abstract class MessagingServicebusDispositionStatusValue(val value: String) object MessagingServicebusDispositionStatusValue { + /** Message is completed. */ - case object Complete extends MessagingServicebusDispositionStatusValue("complete") + case object Complete + extends MessagingServicebusDispositionStatusValue("complete") + /** Message is abandoned. */ - case object Abandon extends MessagingServicebusDispositionStatusValue("abandon") + case object Abandon + extends MessagingServicebusDispositionStatusValue("abandon") + /** Message is sent to dead letter queue. */ - case object DeadLetter extends MessagingServicebusDispositionStatusValue("dead_letter") + case object DeadLetter + extends MessagingServicebusDispositionStatusValue("dead_letter") + /** Message is deferred. */ case object Defer extends MessagingServicebusDispositionStatusValue("defer") } - /** - * Values for [[MessagingSystem]]. - */ + + /** Values for [[MessagingSystem]]. + */ abstract class MessagingSystemValue(val value: String) object MessagingSystemValue { + /** Apache ActiveMQ. */ case object Activemq extends MessagingSystemValue("activemq") + /** Amazon Simple Queue Service (SQS). */ case object AwsSqs extends MessagingSystemValue("aws_sqs") + /** Azure Event Grid. */ case object Eventgrid extends MessagingSystemValue("eventgrid") + /** Azure Event Hubs. */ case object Eventhubs extends MessagingSystemValue("eventhubs") + /** Azure Service Bus. */ case object Servicebus extends MessagingSystemValue("servicebus") + /** Google Cloud Pub/Sub. */ case object GcpPubsub extends MessagingSystemValue("gcp_pubsub") + /** Java Message Service. */ case object Jms extends MessagingSystemValue("jms") + /** Apache Kafka. */ case object Kafka extends MessagingSystemValue("kafka") + /** RabbitMQ. */ case object Rabbitmq extends MessagingSystemValue("rabbitmq") + /** Apache RocketMQ. */ case object Rocketmq extends MessagingSystemValue("rocketmq") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/NetExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/NetExperimentalAttributes.scala index abbc67585..ba60df68a 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/NetExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/NetExperimentalAttributes.scala @@ -22,128 +22,128 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object NetExperimentalAttributes { - /** - * Deprecated, use `network.local.address`. - */ + /** Deprecated, use `network.local.address`. + */ @deprecated("Use `network.local.address`", "0.5.0") val NetHostIp: AttributeKey[String] = string("net.host.ip") - /** - * Deprecated, use `server.address`. - */ + /** Deprecated, use `server.address`. + */ @deprecated("Use `server.address`", "0.5.0") val NetHostName: AttributeKey[String] = string("net.host.name") - /** - * Deprecated, use `server.port`. - */ + /** Deprecated, use `server.port`. + */ @deprecated("Use `server.port`", "0.5.0") val NetHostPort: AttributeKey[Long] = long("net.host.port") - /** - * Deprecated, use `network.peer.address`. - */ + /** Deprecated, use `network.peer.address`. + */ @deprecated("Use `network.peer.address`", "0.5.0") val NetPeerIp: AttributeKey[String] = string("net.peer.ip") - /** - * Deprecated, use `server.address` on client spans and `client.address` on server spans. - */ - @deprecated("Use `server.address` on client spans and `client.address` on server spans", "0.5.0") + /** Deprecated, use `server.address` on client spans and `client.address` on + * server spans. + */ + @deprecated( + "Use `server.address` on client spans and `client.address` on server spans", + "0.5.0" + ) val NetPeerName: AttributeKey[String] = string("net.peer.name") - /** - * Deprecated, use `server.port` on client spans and `client.port` on server spans. - */ - @deprecated("Use `server.port` on client spans and `client.port` on server spans", "0.5.0") + /** Deprecated, use `server.port` on client spans and `client.port` on server + * spans. + */ + @deprecated( + "Use `server.port` on client spans and `client.port` on server spans", + "0.5.0" + ) val NetPeerPort: AttributeKey[Long] = long("net.peer.port") - /** - * Deprecated, use `network.protocol.name`. - */ + /** Deprecated, use `network.protocol.name`. + */ @deprecated("Use `network.protocol.name`", "0.5.0") val NetProtocolName: AttributeKey[String] = string("net.protocol.name") - /** - * Deprecated, use `network.protocol.version`. - */ + /** Deprecated, use `network.protocol.version`. + */ @deprecated("Use `network.protocol.version`", "0.5.0") val NetProtocolVersion: AttributeKey[String] = string("net.protocol.version") - /** - * Deprecated, use `network.transport` and `network.type`. - */ + /** Deprecated, use `network.transport` and `network.type`. + */ @deprecated("Use `network.transport` and `network.type`", "0.5.0") val NetSockFamily: AttributeKey[String] = string("net.sock.family") - /** - * Deprecated, use `network.local.address`. - */ + /** Deprecated, use `network.local.address`. + */ @deprecated("Use `network.local.address`", "0.5.0") val NetSockHostAddr: AttributeKey[String] = string("net.sock.host.addr") - /** - * Deprecated, use `network.local.port`. - */ + /** Deprecated, use `network.local.port`. + */ @deprecated("Use `network.local.port`", "0.5.0") val NetSockHostPort: AttributeKey[Long] = long("net.sock.host.port") - /** - * Deprecated, use `network.peer.address`. - */ + /** Deprecated, use `network.peer.address`. + */ @deprecated("Use `network.peer.address`", "0.5.0") val NetSockPeerAddr: AttributeKey[String] = string("net.sock.peer.addr") - /** - * Deprecated, no replacement at this time. - */ + /** Deprecated, no replacement at this time. + */ @deprecated("No replacement at this time", "0.5.0") val NetSockPeerName: AttributeKey[String] = string("net.sock.peer.name") - /** - * Deprecated, use `network.peer.port`. - */ + /** Deprecated, use `network.peer.port`. + */ @deprecated("Use `network.peer.port`", "0.5.0") val NetSockPeerPort: AttributeKey[Long] = long("net.sock.peer.port") - /** - * Deprecated, use `network.transport`. - */ + /** Deprecated, use `network.transport`. + */ @deprecated("Use `network.transport`", "0.5.0") val NetTransport: AttributeKey[String] = string("net.transport") // Enum definitions - - /** - * Values for [[NetSockFamily]]. - */ + + /** Values for [[NetSockFamily]]. + */ @deprecated("Use `network.transport` and `network.type`", "0.5.0") abstract class NetSockFamilyValue(val value: String) @annotation.nowarn("cat=deprecation") object NetSockFamilyValue { + /** IPv4 address. */ case object Inet extends NetSockFamilyValue("inet") + /** IPv6 address. */ case object Inet6 extends NetSockFamilyValue("inet6") + /** Unix domain socket path. */ case object Unix extends NetSockFamilyValue("unix") } - /** - * Values for [[NetTransport]]. - */ + + /** Values for [[NetTransport]]. + */ @deprecated("Use `network.transport`", "0.5.0") abstract class NetTransportValue(val value: String) @annotation.nowarn("cat=deprecation") object NetTransportValue { + /** ip_tcp. */ case object IpTcp extends NetTransportValue("ip_tcp") + /** ip_udp. */ case object IpUdp extends NetTransportValue("ip_udp") + /** Named or anonymous pipe. */ case object Pipe extends NetTransportValue("pipe") + /** In-process communication. */ case object Inproc extends NetTransportValue("inproc") + /** Something else (non IP-based). */ case object Other extends NetTransportValue("other") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/NetworkExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/NetworkExperimentalAttributes.scala index b0176e48e..4e9886eaf 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/NetworkExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/NetworkExperimentalAttributes.scala @@ -22,206 +22,279 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object NetworkExperimentalAttributes { - /** - * The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network. - */ + /** The ISO 3166-1 alpha-2 2-character country code associated with the mobile + * carrier network. + */ val NetworkCarrierIcc: AttributeKey[String] = string("network.carrier.icc") - /** - * The mobile carrier country code. - */ + /** The mobile carrier country code. + */ val NetworkCarrierMcc: AttributeKey[String] = string("network.carrier.mcc") - /** - * The mobile carrier network code. - */ + /** The mobile carrier network code. + */ val NetworkCarrierMnc: AttributeKey[String] = string("network.carrier.mnc") - /** - * The name of the mobile carrier. - */ + /** The name of the mobile carrier. + */ val NetworkCarrierName: AttributeKey[String] = string("network.carrier.name") - /** - * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. - */ - val NetworkConnectionSubtype: AttributeKey[String] = string("network.connection.subtype") + /** This describes more details regarding the connection.type. It may be the + * type of cell technology connection, but it could be used for describing + * details about a wifi connection. + */ + val NetworkConnectionSubtype: AttributeKey[String] = string( + "network.connection.subtype" + ) - /** - * The internet connection type. - */ - val NetworkConnectionType: AttributeKey[String] = string("network.connection.type") + /** The internet connection type. + */ + val NetworkConnectionType: AttributeKey[String] = string( + "network.connection.type" + ) - /** - * The network IO operation direction. - */ + /** The network IO operation direction. + */ val NetworkIoDirection: AttributeKey[String] = string("network.io.direction") - /** - * Local address of the network connection - IP address or Unix domain socket name. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkLocalAddress` instead.", "0.5.0") - val NetworkLocalAddress: AttributeKey[String] = string("network.local.address") + /** Local address of the network connection - IP address or Unix domain socket + * name. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkLocalAddress` instead.", + "0.5.0" + ) + val NetworkLocalAddress: AttributeKey[String] = string( + "network.local.address" + ) - /** - * Local port number of the network connection. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkLocalPort` instead.", "0.5.0") + /** Local port number of the network connection. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkLocalPort` instead.", + "0.5.0" + ) val NetworkLocalPort: AttributeKey[Long] = long("network.local.port") - /** - * Peer address of the network connection - IP address or Unix domain socket name. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkPeerAddress` instead.", "0.5.0") + /** Peer address of the network connection - IP address or Unix domain socket + * name. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkPeerAddress` instead.", + "0.5.0" + ) val NetworkPeerAddress: AttributeKey[String] = string("network.peer.address") - /** - * Peer port number of the network connection. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkPeerPort` instead.", "0.5.0") + /** Peer port number of the network connection. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkPeerPort` instead.", + "0.5.0" + ) val NetworkPeerPort: AttributeKey[Long] = long("network.peer.port") - /** - * OSI application layer or non-OSI equivalent. - * - * @note - * - The value SHOULD be normalized to lowercase. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkProtocolName` instead.", "0.5.0") - val NetworkProtocolName: AttributeKey[String] = string("network.protocol.name") - - /** - * The actual version of the protocol used for network communication. - * - * @note - * - If protocol version is subject to negotiation (for example using ALPN), this attribute SHOULD be set to the negotiated version. If the actual protocol version is not known, this attribute SHOULD NOT be set. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkProtocolVersion` instead.", "0.5.0") - val NetworkProtocolVersion: AttributeKey[String] = string("network.protocol.version") - - /** - * OSI transport layer or inter-process communication method. - * - * @note - * - The value SHOULD be normalized to lowercase. - * - Consider always setting the transport when setting a port number, since -a port number is ambiguous without knowing the transport. For example -different processes could be listening on TCP port 12345 and UDP port 12345. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkTransport` instead.", "0.5.0") + /** OSI application + * layer or non-OSI equivalent. + * + * @note + * - The value SHOULD be normalized to lowercase. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkProtocolName` instead.", + "0.5.0" + ) + val NetworkProtocolName: AttributeKey[String] = string( + "network.protocol.name" + ) + + /** The actual version of the protocol used for network communication. + * + * @note + * - If protocol version is subject to negotiation (for example using ALPN), this + * attribute SHOULD be set to the negotiated version. If the actual + * protocol version is not known, this attribute SHOULD NOT be set. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkProtocolVersion` instead.", + "0.5.0" + ) + val NetworkProtocolVersion: AttributeKey[String] = string( + "network.protocol.version" + ) + + /** OSI transport layer + * or inter-process + * communication method. + * + * @note + * - The value SHOULD be normalized to lowercase. + * - Consider always setting the transport when setting a port number, + * since a port number is ambiguous without knowing the transport. For + * example different processes could be listening on TCP port 12345 and + * UDP port 12345. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkTransport` instead.", + "0.5.0" + ) val NetworkTransport: AttributeKey[String] = string("network.transport") - /** - * OSI network layer or non-OSI equivalent. - * - * @note - * - The value SHOULD be normalized to lowercase. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkType` instead.", "0.5.0") + /** OSI network layer or + * non-OSI equivalent. + * + * @note + * - The value SHOULD be normalized to lowercase. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkType` instead.", + "0.5.0" + ) val NetworkType: AttributeKey[String] = string("network.type") // Enum definitions - - /** - * Values for [[NetworkConnectionSubtype]]. - */ + + /** Values for [[NetworkConnectionSubtype]]. + */ abstract class NetworkConnectionSubtypeValue(val value: String) object NetworkConnectionSubtypeValue { + /** GPRS. */ case object Gprs extends NetworkConnectionSubtypeValue("gprs") + /** EDGE. */ case object Edge extends NetworkConnectionSubtypeValue("edge") + /** UMTS. */ case object Umts extends NetworkConnectionSubtypeValue("umts") + /** CDMA. */ case object Cdma extends NetworkConnectionSubtypeValue("cdma") + /** EVDO Rel. 0. */ case object Evdo0 extends NetworkConnectionSubtypeValue("evdo_0") + /** EVDO Rev. A. */ case object EvdoA extends NetworkConnectionSubtypeValue("evdo_a") + /** CDMA2000 1XRTT. */ - case object Cdma20001xrtt extends NetworkConnectionSubtypeValue("cdma2000_1xrtt") + case object Cdma20001xrtt + extends NetworkConnectionSubtypeValue("cdma2000_1xrtt") + /** HSDPA. */ case object Hsdpa extends NetworkConnectionSubtypeValue("hsdpa") + /** HSUPA. */ case object Hsupa extends NetworkConnectionSubtypeValue("hsupa") + /** HSPA. */ case object Hspa extends NetworkConnectionSubtypeValue("hspa") + /** IDEN. */ case object Iden extends NetworkConnectionSubtypeValue("iden") + /** EVDO Rev. B. */ case object EvdoB extends NetworkConnectionSubtypeValue("evdo_b") + /** LTE. */ case object Lte extends NetworkConnectionSubtypeValue("lte") + /** EHRPD. */ case object Ehrpd extends NetworkConnectionSubtypeValue("ehrpd") + /** HSPAP. */ case object Hspap extends NetworkConnectionSubtypeValue("hspap") + /** GSM. */ case object Gsm extends NetworkConnectionSubtypeValue("gsm") + /** TD-SCDMA. */ case object TdScdma extends NetworkConnectionSubtypeValue("td_scdma") + /** IWLAN. */ case object Iwlan extends NetworkConnectionSubtypeValue("iwlan") + /** 5G NR (New Radio). */ case object Nr extends NetworkConnectionSubtypeValue("nr") + /** 5G NRNSA (New Radio Non-Standalone). */ case object Nrnsa extends NetworkConnectionSubtypeValue("nrnsa") + /** LTE CA. */ case object LteCa extends NetworkConnectionSubtypeValue("lte_ca") } - /** - * Values for [[NetworkConnectionType]]. - */ + + /** Values for [[NetworkConnectionType]]. + */ abstract class NetworkConnectionTypeValue(val value: String) object NetworkConnectionTypeValue { + /** wifi. */ case object Wifi extends NetworkConnectionTypeValue("wifi") + /** wired. */ case object Wired extends NetworkConnectionTypeValue("wired") + /** cell. */ case object Cell extends NetworkConnectionTypeValue("cell") + /** unavailable. */ case object Unavailable extends NetworkConnectionTypeValue("unavailable") + /** unknown. */ case object Unknown extends NetworkConnectionTypeValue("unknown") } - /** - * Values for [[NetworkIoDirection]]. - */ + + /** Values for [[NetworkIoDirection]]. + */ abstract class NetworkIoDirectionValue(val value: String) object NetworkIoDirectionValue { + /** transmit. */ case object Transmit extends NetworkIoDirectionValue("transmit") + /** receive. */ case object Receive extends NetworkIoDirectionValue("receive") } - /** - * Values for [[NetworkTransport]]. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkTransportValue` instead.", "0.5.0") + + /** Values for [[NetworkTransport]]. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkTransportValue` instead.", + "0.5.0" + ) abstract class NetworkTransportValue(val value: String) @annotation.nowarn("cat=deprecation") object NetworkTransportValue { + /** TCP. */ case object Tcp extends NetworkTransportValue("tcp") + /** UDP. */ case object Udp extends NetworkTransportValue("udp") + /** Named or anonymous pipe. */ case object Pipe extends NetworkTransportValue("pipe") + /** Unix domain socket. */ case object Unix extends NetworkTransportValue("unix") } - /** - * Values for [[NetworkType]]. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkTypeValue` instead.", "0.5.0") + + /** Values for [[NetworkType]]. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.NetworkAttributes.NetworkTypeValue` instead.", + "0.5.0" + ) abstract class NetworkTypeValue(val value: String) @annotation.nowarn("cat=deprecation") object NetworkTypeValue { + /** IPv4. */ case object Ipv4 extends NetworkTypeValue("ipv4") + /** IPv6. */ case object Ipv6 extends NetworkTypeValue("ipv6") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OciExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OciExperimentalAttributes.scala index 7cee681e2..63f9634d0 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OciExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OciExperimentalAttributes.scala @@ -22,13 +22,18 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object OciExperimentalAttributes { - /** - * The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known. - * - * @note - * - Follows OCI Image Manifest Specification, and specifically the Digest property. -An example can be found in Example Image Manifest. - */ + /** The digest of the OCI image manifest. For container images specifically is + * the digest by which the container image is known. + * + * @note + * - Follows OCI + * Image Manifest Specification, and specifically the Digest + * property. An example can be found in Example + * Image Manifest. + */ val OciManifestDigest: AttributeKey[String] = string("oci.manifest.digest") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OpentracingExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OpentracingExperimentalAttributes.scala index 2c691ee58..a17823770 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OpentracingExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OpentracingExperimentalAttributes.scala @@ -22,24 +22,26 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object OpentracingExperimentalAttributes { - /** - * Parent-child Reference type - * - * @note - * - The causal relationship between a child Span and a parent Span. - */ + /** Parent-child Reference type + * + * @note + * - The causal relationship between a child Span and a parent Span. + */ val OpentracingRefType: AttributeKey[String] = string("opentracing.ref_type") // Enum definitions - - /** - * Values for [[OpentracingRefType]]. - */ + + /** Values for [[OpentracingRefType]]. + */ abstract class OpentracingRefTypeValue(val value: String) object OpentracingRefTypeValue { + /** The parent Span depends on the child Span in some capacity. */ case object ChildOf extends OpentracingRefTypeValue("child_of") - /** The parent Span doesn't depend in any way on the result of the child Span. */ + + /** The parent Span doesn't depend in any way on the result of the child + * Span. + */ case object FollowsFrom extends OpentracingRefTypeValue("follows_from") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OsExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OsExperimentalAttributes.scala index 29d696d0e..a1cb9155a 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OsExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OsExperimentalAttributes.scala @@ -22,59 +22,67 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object OsExperimentalAttributes { - /** - * Unique identifier for a particular build or compilation of the operating system. - */ + /** Unique identifier for a particular build or compilation of the operating + * system. + */ val OsBuildId: AttributeKey[String] = string("os.build_id") - /** - * Human readable (not intended to be parsed) OS version information, like e.g. reported by `ver` or `lsb_release -a` commands. - */ + /** Human readable (not intended to be parsed) OS version information, like + * e.g. reported by `ver` or `lsb_release -a` commands. + */ val OsDescription: AttributeKey[String] = string("os.description") - /** - * Human readable operating system name. - */ + /** Human readable operating system name. + */ val OsName: AttributeKey[String] = string("os.name") - /** - * The operating system type. - */ + /** The operating system type. + */ val OsType: AttributeKey[String] = string("os.type") - /** - * The version string of the operating system as defined in Version Attributes. - */ + /** The version string of the operating system as defined in Version Attributes. + */ val OsVersion: AttributeKey[String] = string("os.version") // Enum definitions - - /** - * Values for [[OsType]]. - */ + + /** Values for [[OsType]]. + */ abstract class OsTypeValue(val value: String) object OsTypeValue { + /** Microsoft Windows. */ case object Windows extends OsTypeValue("windows") + /** Linux. */ case object Linux extends OsTypeValue("linux") + /** Apple Darwin. */ case object Darwin extends OsTypeValue("darwin") + /** FreeBSD. */ case object Freebsd extends OsTypeValue("freebsd") + /** NetBSD. */ case object Netbsd extends OsTypeValue("netbsd") + /** OpenBSD. */ case object Openbsd extends OsTypeValue("openbsd") + /** DragonFly BSD. */ case object Dragonflybsd extends OsTypeValue("dragonflybsd") + /** HP-UX (Hewlett Packard Unix). */ case object Hpux extends OsTypeValue("hpux") + /** AIX (Advanced Interactive eXecutive). */ case object Aix extends OsTypeValue("aix") + /** SunOS, Oracle Solaris. */ case object Solaris extends OsTypeValue("solaris") + /** IBM z/OS. */ case object ZOs extends OsTypeValue("z_os") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OtelExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OtelExperimentalAttributes.scala index c9b95f119..d134b4315 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OtelExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OtelExperimentalAttributes.scala @@ -22,54 +22,71 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object OtelExperimentalAttributes { - /** - * None - */ + /** None + */ @deprecated("None", "0.5.0") val OtelLibraryName: AttributeKey[String] = string("otel.library.name") - /** - * None - */ + /** None + */ @deprecated("None", "0.5.0") val OtelLibraryVersion: AttributeKey[String] = string("otel.library.version") - /** - * The name of the instrumentation scope - (`InstrumentationScope.Name` in OTLP). - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelScopeName` instead.", "0.5.0") + /** The name of the instrumentation scope - (`InstrumentationScope.Name` in + * OTLP). + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelScopeName` instead.", + "0.5.0" + ) val OtelScopeName: AttributeKey[String] = string("otel.scope.name") - /** - * The version of the instrumentation scope - (`InstrumentationScope.Version` in OTLP). - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelScopeVersion` instead.", "0.5.0") + /** The version of the instrumentation scope - (`InstrumentationScope.Version` + * in OTLP). + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelScopeVersion` instead.", + "0.5.0" + ) val OtelScopeVersion: AttributeKey[String] = string("otel.scope.version") - /** - * Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelStatusCode` instead.", "0.5.0") + /** Name of the code, either "OK" or "ERROR". MUST NOT be + * set if the status code is UNSET. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelStatusCode` instead.", + "0.5.0" + ) val OtelStatusCode: AttributeKey[String] = string("otel.status_code") - /** - * Description of the Status if it has a value, otherwise not set. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelStatusDescription` instead.", "0.5.0") - val OtelStatusDescription: AttributeKey[String] = string("otel.status_description") + /** Description of the Status if it has a value, otherwise not set. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelStatusDescription` instead.", + "0.5.0" + ) + val OtelStatusDescription: AttributeKey[String] = string( + "otel.status_description" + ) // Enum definitions - - /** - * Values for [[OtelStatusCode]]. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelStatusCodeValue` instead.", "0.5.0") + + /** Values for [[OtelStatusCode]]. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.OtelAttributes.OtelStatusCodeValue` instead.", + "0.5.0" + ) abstract class OtelStatusCodeValue(val value: String) @annotation.nowarn("cat=deprecation") object OtelStatusCodeValue { - /** The operation has been validated by an Application developer or Operator to have completed successfully. */ + + /** The operation has been validated by an Application developer or Operator + * to have completed successfully. + */ case object Ok extends OtelStatusCodeValue("OK") + /** The operation contains an error. */ case object Error extends OtelStatusCodeValue("ERROR") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OtherExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OtherExperimentalAttributes.scala index 56ee352f7..d8e82f460 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OtherExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/OtherExperimentalAttributes.scala @@ -22,24 +22,24 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object OtherExperimentalAttributes { - /** - * Deprecated, use `db.client.connections.state` instead. - */ + /** Deprecated, use `db.client.connections.state` instead. + */ @deprecated("Use `db.client.connections.state` instead", "0.5.0") val State: AttributeKey[String] = string("state") // Enum definitions - - /** - * Values for [[State]]. - */ + + /** Values for [[State]]. + */ @deprecated("Use `db.client.connections.state` instead", "0.5.0") abstract class StateValue(val value: String) @annotation.nowarn("cat=deprecation") object StateValue { + /** idle. */ case object Idle extends StateValue("idle") + /** used. */ case object Used extends StateValue("used") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/PeerExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/PeerExperimentalAttributes.scala index 326551532..7cb3fbd55 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/PeerExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/PeerExperimentalAttributes.scala @@ -22,9 +22,10 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object PeerExperimentalAttributes { - /** - * The `service.name` of the remote service. SHOULD be equal to the actual `service.name` resource attribute of the remote service if any. - */ + /** The `service.name` of the + * remote service. SHOULD be equal to the actual `service.name` resource + * attribute of the remote service if any. + */ val PeerService: AttributeKey[String] = string("peer.service") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/PoolExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/PoolExperimentalAttributes.scala index bcac2ac49..6dff08c55 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/PoolExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/PoolExperimentalAttributes.scala @@ -22,10 +22,9 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object PoolExperimentalAttributes { - /** - * Deprecated, use `db.client.connections.pool.name` instead. - */ + /** Deprecated, use `db.client.connections.pool.name` instead. + */ @deprecated("Use `db.client.connections.pool.name` instead", "0.5.0") val PoolName: AttributeKey[String] = string("pool.name") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ProcessExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ProcessExperimentalAttributes.scala index d0687e78d..2f51b6ce9 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ProcessExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ProcessExperimentalAttributes.scala @@ -22,176 +22,202 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ProcessExperimentalAttributes { - /** - * The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can be set to the first parameter extracted from `GetCommandLineW`. - */ + /** The command used to launch the process (i.e. the command name). On Linux + * based systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On + * Windows, can be set to the first parameter extracted from + * `GetCommandLineW`. + */ val ProcessCommand: AttributeKey[String] = string("process.command") - /** - * All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. - */ - val ProcessCommandArgs: AttributeKey[Seq[String]] = stringSeq("process.command_args") - - /** - * The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. Do not set this if you have to assemble it just for monitoring; use `process.command_args` instead. - */ + /** All the command arguments (including the command/executable itself) as + * received by the process. On Linux-based systems (and some other Unixoid + * systems supporting procfs), can be set according to the list of + * null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based + * executables, this would be the full argv vector passed to `main`. + */ + val ProcessCommandArgs: AttributeKey[Seq[String]] = stringSeq( + "process.command_args" + ) + + /** The full command used to launch the process as a single string + * representing the full command. On Windows, can be set to the result of + * `GetCommandLineW`. Do not set this if you have to assemble it just for + * monitoring; use `process.command_args` instead. + */ val ProcessCommandLine: AttributeKey[String] = string("process.command_line") - /** - * Specifies whether the context switches for this data point were voluntary or involuntary. - */ - val ProcessContextSwitchType: AttributeKey[String] = string("process.context_switch_type") + /** Specifies whether the context switches for this data point were voluntary + * or involuntary. + */ + val ProcessContextSwitchType: AttributeKey[String] = string( + "process.context_switch_type" + ) - /** - * The CPU state of the process. - */ + /** The CPU state of the process. + */ val ProcessCpuState: AttributeKey[String] = string("process.cpu.state") - /** - * The date and time the process was created, in ISO 8601 format. - */ - val ProcessCreationTime: AttributeKey[String] = string("process.creation.time") - - /** - * The name of the process executable. On Linux based systems, can be set to the `Name` in `proc/[pid]/status`. On Windows, can be set to the base name of `GetProcessImageFileNameW`. - */ - val ProcessExecutableName: AttributeKey[String] = string("process.executable.name") - - /** - * The full path to the process executable. On Linux based systems, can be set to the target of `proc/[pid]/exe`. On Windows, can be set to the result of `GetProcessImageFileNameW`. - */ - val ProcessExecutablePath: AttributeKey[String] = string("process.executable.path") - - /** - * The exit code of the process. - */ + /** The date and time the process was created, in ISO 8601 format. + */ + val ProcessCreationTime: AttributeKey[String] = string( + "process.creation.time" + ) + + /** The name of the process executable. On Linux based systems, can be set to + * the `Name` in `proc/[pid]/status`. On Windows, can be set to the base name + * of `GetProcessImageFileNameW`. + */ + val ProcessExecutableName: AttributeKey[String] = string( + "process.executable.name" + ) + + /** The full path to the process executable. On Linux based systems, can be + * set to the target of `proc/[pid]/exe`. On Windows, can be set to the + * result of `GetProcessImageFileNameW`. + */ + val ProcessExecutablePath: AttributeKey[String] = string( + "process.executable.path" + ) + + /** The exit code of the process. + */ val ProcessExitCode: AttributeKey[Long] = long("process.exit.code") - /** - * The date and time the process exited, in ISO 8601 format. - */ + /** The date and time the process exited, in ISO 8601 format. + */ val ProcessExitTime: AttributeKey[String] = string("process.exit.time") - /** - * The PID of the process's group leader. This is also the process group ID (PGID) of the process. - */ - val ProcessGroupLeaderPid: AttributeKey[Long] = long("process.group_leader.pid") + /** The PID of the process's group leader. This is also the process group ID + * (PGID) of the process. + */ + val ProcessGroupLeaderPid: AttributeKey[Long] = long( + "process.group_leader.pid" + ) - /** - * Whether the process is connected to an interactive shell. - */ + /** Whether the process is connected to an interactive shell. + */ val ProcessInteractive: AttributeKey[Boolean] = boolean("process.interactive") - /** - * The username of the user that owns the process. - */ + /** The username of the user that owns the process. + */ val ProcessOwner: AttributeKey[String] = string("process.owner") - /** - * The type of page fault for this data point. Type `major` is for major/hard page faults, and `minor` is for minor/soft page faults. - */ - val ProcessPagingFaultType: AttributeKey[String] = string("process.paging.fault_type") + /** The type of page fault for this data point. Type `major` is for major/hard + * page faults, and `minor` is for minor/soft page faults. + */ + val ProcessPagingFaultType: AttributeKey[String] = string( + "process.paging.fault_type" + ) - /** - * Parent Process identifier (PPID). - */ + /** Parent Process identifier (PPID). + */ val ProcessParentPid: AttributeKey[Long] = long("process.parent_pid") - /** - * Process identifier (PID). - */ + /** Process identifier (PID). + */ val ProcessPid: AttributeKey[Long] = long("process.pid") - /** - * The real user ID (RUID) of the process. - */ + /** The real user ID (RUID) of the process. + */ val ProcessRealUserId: AttributeKey[Long] = long("process.real_user.id") - /** - * The username of the real user of the process. - */ - val ProcessRealUserName: AttributeKey[String] = string("process.real_user.name") - - /** - * An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. - */ - val ProcessRuntimeDescription: AttributeKey[String] = string("process.runtime.description") - - /** - * The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler. - */ + /** The username of the real user of the process. + */ + val ProcessRealUserName: AttributeKey[String] = string( + "process.real_user.name" + ) + + /** An additional description about the runtime of the process, for example a + * specific vendor customization of the runtime environment. + */ + val ProcessRuntimeDescription: AttributeKey[String] = string( + "process.runtime.description" + ) + + /** The name of the runtime of this process. For compiled native binaries, + * this SHOULD be the name of the compiler. + */ val ProcessRuntimeName: AttributeKey[String] = string("process.runtime.name") - /** - * The version of the runtime of this process, as returned by the runtime without modification. - */ - val ProcessRuntimeVersion: AttributeKey[String] = string("process.runtime.version") + /** The version of the runtime of this process, as returned by the runtime + * without modification. + */ + val ProcessRuntimeVersion: AttributeKey[String] = string( + "process.runtime.version" + ) - /** - * The saved user ID (SUID) of the process. - */ + /** The saved user ID (SUID) of the process. + */ val ProcessSavedUserId: AttributeKey[Long] = long("process.saved_user.id") - /** - * The username of the saved user. - */ - val ProcessSavedUserName: AttributeKey[String] = string("process.saved_user.name") - - /** - * The PID of the process's session leader. This is also the session ID (SID) of the process. - */ - val ProcessSessionLeaderPid: AttributeKey[Long] = long("process.session_leader.pid") - - /** - * The effective user ID (EUID) of the process. - */ + /** The username of the saved user. + */ + val ProcessSavedUserName: AttributeKey[String] = string( + "process.saved_user.name" + ) + + /** The PID of the process's session leader. This is also the session ID (SID) + * of the process. + */ + val ProcessSessionLeaderPid: AttributeKey[Long] = long( + "process.session_leader.pid" + ) + + /** The effective user ID (EUID) of the process. + */ val ProcessUserId: AttributeKey[Long] = long("process.user.id") - /** - * The username of the effective user of the process. - */ + /** The username of the effective user of the process. + */ val ProcessUserName: AttributeKey[String] = string("process.user.name") - /** - * Virtual process identifier. - * - * @note - * - The process ID within a PID namespace. This is not necessarily unique across all processes on the host but it is unique within the process namespace that the process exists within. - */ + /** Virtual process identifier. + * + * @note + * - The process ID within a PID namespace. This is not necessarily unique + * across all processes on the host but it is unique within the process + * namespace that the process exists within. + */ val ProcessVpid: AttributeKey[Long] = long("process.vpid") // Enum definitions - - /** - * Values for [[ProcessContextSwitchType]]. - */ + + /** Values for [[ProcessContextSwitchType]]. + */ abstract class ProcessContextSwitchTypeValue(val value: String) object ProcessContextSwitchTypeValue { + /** voluntary. */ case object Voluntary extends ProcessContextSwitchTypeValue("voluntary") + /** involuntary. */ case object Involuntary extends ProcessContextSwitchTypeValue("involuntary") } - /** - * Values for [[ProcessCpuState]]. - */ + + /** Values for [[ProcessCpuState]]. + */ abstract class ProcessCpuStateValue(val value: String) object ProcessCpuStateValue { + /** system. */ case object System extends ProcessCpuStateValue("system") + /** user. */ case object User extends ProcessCpuStateValue("user") + /** wait. */ case object Wait extends ProcessCpuStateValue("wait") } - /** - * Values for [[ProcessPagingFaultType]]. - */ + + /** Values for [[ProcessPagingFaultType]]. + */ abstract class ProcessPagingFaultTypeValue(val value: String) object ProcessPagingFaultTypeValue { + /** major. */ case object Major extends ProcessPagingFaultTypeValue("major") + /** minor. */ case object Minor extends ProcessPagingFaultTypeValue("minor") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/RpcExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/RpcExperimentalAttributes.scala index 1dd2e49b2..098fd5e11 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/RpcExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/RpcExperimentalAttributes.scala @@ -22,216 +22,301 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object RpcExperimentalAttributes { - /** - * The error codes of the Connect request. Error codes are always string values. - */ - val RpcConnectRpcErrorCode: AttributeKey[String] = string("rpc.connect_rpc.error_code") - - /** - * Connect request metadata, `` being the normalized Connect Metadata key (lowercase), the value being the metadata values. - * - * @note - * - Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information. - */ - val RpcConnectRpcRequestMetadata: AttributeKey[Seq[String]] = stringSeq("rpc.connect_rpc.request.metadata") - - /** - * Connect response metadata, `` being the normalized Connect Metadata key (lowercase), the value being the metadata values. - * - * @note - * - Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information. - */ - val RpcConnectRpcResponseMetadata: AttributeKey[Seq[String]] = stringSeq("rpc.connect_rpc.response.metadata") - - /** - * gRPC request metadata, `` being the normalized gRPC Metadata key (lowercase), the value being the metadata values. - * - * @note - * - Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information. - */ - val RpcGrpcRequestMetadata: AttributeKey[Seq[String]] = stringSeq("rpc.grpc.request.metadata") - - /** - * gRPC response metadata, `` being the normalized gRPC Metadata key (lowercase), the value being the metadata values. - * - * @note - * - Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information. - */ - val RpcGrpcResponseMetadata: AttributeKey[Seq[String]] = stringSeq("rpc.grpc.response.metadata") - - /** - * The numeric status code of the gRPC request. - */ + /** The error + * codes of the Connect request. Error codes are always string values. + */ + val RpcConnectRpcErrorCode: AttributeKey[String] = string( + "rpc.connect_rpc.error_code" + ) + + /** Connect request metadata, `` being the normalized Connect Metadata + * key (lowercase), the value being the metadata values. + * + * @note + * - Instrumentations SHOULD require an explicit configuration of which + * metadata values are to be captured. Including all request metadata + * values can be a security risk - explicit configuration helps avoid + * leaking sensitive information. + */ + val RpcConnectRpcRequestMetadata: AttributeKey[Seq[String]] = stringSeq( + "rpc.connect_rpc.request.metadata" + ) + + /** Connect response metadata, `` being the normalized Connect Metadata + * key (lowercase), the value being the metadata values. + * + * @note + * - Instrumentations SHOULD require an explicit configuration of which + * metadata values are to be captured. Including all response metadata + * values can be a security risk - explicit configuration helps avoid + * leaking sensitive information. + */ + val RpcConnectRpcResponseMetadata: AttributeKey[Seq[String]] = stringSeq( + "rpc.connect_rpc.response.metadata" + ) + + /** gRPC request metadata, `` being the normalized gRPC Metadata key + * (lowercase), the value being the metadata values. + * + * @note + * - Instrumentations SHOULD require an explicit configuration of which + * metadata values are to be captured. Including all request metadata + * values can be a security risk - explicit configuration helps avoid + * leaking sensitive information. + */ + val RpcGrpcRequestMetadata: AttributeKey[Seq[String]] = stringSeq( + "rpc.grpc.request.metadata" + ) + + /** gRPC response metadata, `` being the normalized gRPC Metadata key + * (lowercase), the value being the metadata values. + * + * @note + * - Instrumentations SHOULD require an explicit configuration of which + * metadata values are to be captured. Including all response metadata + * values can be a security risk - explicit configuration helps avoid + * leaking sensitive information. + */ + val RpcGrpcResponseMetadata: AttributeKey[Seq[String]] = stringSeq( + "rpc.grpc.response.metadata" + ) + + /** The numeric + * status code of the gRPC request. + */ val RpcGrpcStatusCode: AttributeKey[Long] = long("rpc.grpc.status_code") - /** - * `error.code` property of response if it is an error response. - */ + /** `error.code` property of response if it is an error response. + */ val RpcJsonrpcErrorCode: AttributeKey[Long] = long("rpc.jsonrpc.error_code") - /** - * `error.message` property of response if it is an error response. - */ - val RpcJsonrpcErrorMessage: AttributeKey[String] = string("rpc.jsonrpc.error_message") + /** `error.message` property of response if it is an error response. + */ + val RpcJsonrpcErrorMessage: AttributeKey[String] = string( + "rpc.jsonrpc.error_message" + ) - /** - * `id` property of request or response. Since protocol allows id to be int, string, `null` or missing (for notifications), value is expected to be cast to string for simplicity. Use empty string in case of `null` value. Omit entirely if this is a notification. - */ - val RpcJsonrpcRequestId: AttributeKey[String] = string("rpc.jsonrpc.request_id") + /** `id` property of request or response. Since protocol allows id to be int, + * string, `null` or missing (for notifications), value is expected to be + * cast to string for simplicity. Use empty string in case of `null` value. + * Omit entirely if this is a notification. + */ + val RpcJsonrpcRequestId: AttributeKey[String] = string( + "rpc.jsonrpc.request_id" + ) - /** - * Protocol version as in `jsonrpc` property of request/response. Since JSON-RPC 1.0 doesn't specify this, the value can be omitted. - */ + /** Protocol version as in `jsonrpc` property of request/response. Since + * JSON-RPC 1.0 doesn't specify this, the value can be omitted. + */ val RpcJsonrpcVersion: AttributeKey[String] = string("rpc.jsonrpc.version") - /** - * Compressed size of the message in bytes. - */ - val RpcMessageCompressedSize: AttributeKey[Long] = long("rpc.message.compressed_size") - - /** - * MUST be calculated as two different counters starting from `1` one for sent messages and one for received message. - * - * @note - * - This way we guarantee that the values will be consistent between different implementations. - */ + /** Compressed size of the message in bytes. + */ + val RpcMessageCompressedSize: AttributeKey[Long] = long( + "rpc.message.compressed_size" + ) + + /** MUST be calculated as two different counters starting from `1` one for + * sent messages and one for received message. + * + * @note + * - This way we guarantee that the values will be consistent between + * different implementations. + */ val RpcMessageId: AttributeKey[Long] = long("rpc.message.id") - /** - * Whether this is a received or sent message. - */ + /** Whether this is a received or sent message. + */ val RpcMessageType: AttributeKey[String] = string("rpc.message.type") - /** - * Uncompressed size of the message in bytes. - */ - val RpcMessageUncompressedSize: AttributeKey[Long] = long("rpc.message.uncompressed_size") - - /** - * The name of the (logical) method being called, must be equal to the method part in the span name. - * - * @note - * - This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The `code.function` attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side). - */ + /** Uncompressed size of the message in bytes. + */ + val RpcMessageUncompressedSize: AttributeKey[Long] = long( + "rpc.message.uncompressed_size" + ) + + /** The name of the (logical) method being called, must be equal to the method + * part in the span name. + * + * @note + * - This is the logical name of the method from the RPC interface + * perspective, which can be different from the name of any implementing + * method/function. The `code.function` attribute may be used to store + * the latter (e.g., method actually executing the call on the server + * side, RPC client stub method on the client side). + */ val RpcMethod: AttributeKey[String] = string("rpc.method") - /** - * The full (logical) name of the service being called, including its package name, if applicable. - * - * @note - * - This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The `code.namespace` attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side). - */ + /** The full (logical) name of the service being called, including its package + * name, if applicable. + * + * @note + * - This is the logical name of the service from the RPC interface + * perspective, which can be different from the name of any implementing + * class. The `code.namespace` attribute may be used to store the latter + * (despite the attribute name, it may include a class name; e.g., class + * with method actually executing the call on the server side, RPC client + * stub class on the client side). + */ val RpcService: AttributeKey[String] = string("rpc.service") - /** - * A string identifying the remoting system. See below for a list of well-known identifiers. - */ + /** A string identifying the remoting system. See below for a list of + * well-known identifiers. + */ val RpcSystem: AttributeKey[String] = string("rpc.system") // Enum definitions - - /** - * Values for [[RpcConnectRpcErrorCode]]. - */ + + /** Values for [[RpcConnectRpcErrorCode]]. + */ abstract class RpcConnectRpcErrorCodeValue(val value: String) object RpcConnectRpcErrorCodeValue { + /** cancelled. */ case object Cancelled extends RpcConnectRpcErrorCodeValue("cancelled") + /** unknown. */ case object Unknown extends RpcConnectRpcErrorCodeValue("unknown") + /** invalid_argument. */ - case object InvalidArgument extends RpcConnectRpcErrorCodeValue("invalid_argument") + case object InvalidArgument + extends RpcConnectRpcErrorCodeValue("invalid_argument") + /** deadline_exceeded. */ - case object DeadlineExceeded extends RpcConnectRpcErrorCodeValue("deadline_exceeded") + case object DeadlineExceeded + extends RpcConnectRpcErrorCodeValue("deadline_exceeded") + /** not_found. */ case object NotFound extends RpcConnectRpcErrorCodeValue("not_found") + /** already_exists. */ - case object AlreadyExists extends RpcConnectRpcErrorCodeValue("already_exists") + case object AlreadyExists + extends RpcConnectRpcErrorCodeValue("already_exists") + /** permission_denied. */ - case object PermissionDenied extends RpcConnectRpcErrorCodeValue("permission_denied") + case object PermissionDenied + extends RpcConnectRpcErrorCodeValue("permission_denied") + /** resource_exhausted. */ - case object ResourceExhausted extends RpcConnectRpcErrorCodeValue("resource_exhausted") + case object ResourceExhausted + extends RpcConnectRpcErrorCodeValue("resource_exhausted") + /** failed_precondition. */ - case object FailedPrecondition extends RpcConnectRpcErrorCodeValue("failed_precondition") + case object FailedPrecondition + extends RpcConnectRpcErrorCodeValue("failed_precondition") + /** aborted. */ case object Aborted extends RpcConnectRpcErrorCodeValue("aborted") + /** out_of_range. */ case object OutOfRange extends RpcConnectRpcErrorCodeValue("out_of_range") + /** unimplemented. */ - case object Unimplemented extends RpcConnectRpcErrorCodeValue("unimplemented") + case object Unimplemented + extends RpcConnectRpcErrorCodeValue("unimplemented") + /** internal. */ case object Internal extends RpcConnectRpcErrorCodeValue("internal") + /** unavailable. */ case object Unavailable extends RpcConnectRpcErrorCodeValue("unavailable") + /** data_loss. */ case object DataLoss extends RpcConnectRpcErrorCodeValue("data_loss") + /** unauthenticated. */ - case object Unauthenticated extends RpcConnectRpcErrorCodeValue("unauthenticated") + case object Unauthenticated + extends RpcConnectRpcErrorCodeValue("unauthenticated") } - /** - * Values for [[RpcGrpcStatusCode]]. - */ + + /** Values for [[RpcGrpcStatusCode]]. + */ abstract class RpcGrpcStatusCodeValue(val value: Long) object RpcGrpcStatusCodeValue { + /** OK. */ case object Ok extends RpcGrpcStatusCodeValue(0) + /** CANCELLED. */ case object Cancelled extends RpcGrpcStatusCodeValue(1) + /** UNKNOWN. */ case object Unknown extends RpcGrpcStatusCodeValue(2) + /** INVALID_ARGUMENT. */ case object InvalidArgument extends RpcGrpcStatusCodeValue(3) + /** DEADLINE_EXCEEDED. */ case object DeadlineExceeded extends RpcGrpcStatusCodeValue(4) + /** NOT_FOUND. */ case object NotFound extends RpcGrpcStatusCodeValue(5) + /** ALREADY_EXISTS. */ case object AlreadyExists extends RpcGrpcStatusCodeValue(6) + /** PERMISSION_DENIED. */ case object PermissionDenied extends RpcGrpcStatusCodeValue(7) + /** RESOURCE_EXHAUSTED. */ case object ResourceExhausted extends RpcGrpcStatusCodeValue(8) + /** FAILED_PRECONDITION. */ case object FailedPrecondition extends RpcGrpcStatusCodeValue(9) + /** ABORTED. */ case object Aborted extends RpcGrpcStatusCodeValue(10) + /** OUT_OF_RANGE. */ case object OutOfRange extends RpcGrpcStatusCodeValue(11) + /** UNIMPLEMENTED. */ case object Unimplemented extends RpcGrpcStatusCodeValue(12) + /** INTERNAL. */ case object Internal extends RpcGrpcStatusCodeValue(13) + /** UNAVAILABLE. */ case object Unavailable extends RpcGrpcStatusCodeValue(14) + /** DATA_LOSS. */ case object DataLoss extends RpcGrpcStatusCodeValue(15) + /** UNAUTHENTICATED. */ case object Unauthenticated extends RpcGrpcStatusCodeValue(16) } - /** - * Values for [[RpcMessageType]]. - */ + + /** Values for [[RpcMessageType]]. + */ abstract class RpcMessageTypeValue(val value: String) object RpcMessageTypeValue { + /** sent. */ case object Sent extends RpcMessageTypeValue("SENT") + /** received. */ case object Received extends RpcMessageTypeValue("RECEIVED") } - /** - * Values for [[RpcSystem]]. - */ + + /** Values for [[RpcSystem]]. + */ abstract class RpcSystemValue(val value: String) object RpcSystemValue { + /** gRPC. */ case object Grpc extends RpcSystemValue("grpc") + /** Java RMI. */ case object JavaRmi extends RpcSystemValue("java_rmi") + /** .NET WCF. */ case object DotnetWcf extends RpcSystemValue("dotnet_wcf") + /** Apache Dubbo. */ case object ApacheDubbo extends RpcSystemValue("apache_dubbo") + /** Connect RPC. */ case object ConnectRpc extends RpcSystemValue("connect_rpc") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ServerExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ServerExperimentalAttributes.scala index 4c17d516d..4131bcdd1 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ServerExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ServerExperimentalAttributes.scala @@ -22,22 +22,31 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ServerExperimentalAttributes { - /** - * Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. - * - * @note - * - When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.ServerAttributes.ServerAddress` instead.", "0.5.0") + /** Server domain name if available without reverse DNS lookup; otherwise, IP + * address or Unix domain socket name. + * + * @note + * - When observed from the client side, and when communicating through an + * intermediary, `server.address` SHOULD represent the server address + * behind any intermediaries, for example proxies, if it's available. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.ServerAttributes.ServerAddress` instead.", + "0.5.0" + ) val ServerAddress: AttributeKey[String] = string("server.address") - /** - * Server port number. - * - * @note - * - When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.ServerAttributes.ServerPort` instead.", "0.5.0") + /** Server port number. + * + * @note + * - When observed from the client side, and when communicating through an + * intermediary, `server.port` SHOULD represent the server port behind + * any intermediaries, for example proxies, if it's available. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.ServerAttributes.ServerPort` instead.", + "0.5.0" + ) val ServerPort: AttributeKey[Long] = long("server.port") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ServiceExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ServiceExperimentalAttributes.scala index f86b3fa64..cd817a53c 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ServiceExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ServiceExperimentalAttributes.scala @@ -22,56 +22,82 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ServiceExperimentalAttributes { - /** - * The string ID of the service instance. - * - * @note - * - MUST be unique for each instance of the same `service.namespace,service.name` pair (in other words -`service.namespace,service.name,service.instance.id` triplet MUST be globally unique). The ID helps to -distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled -service). - * - Implementations, such as SDKs, are recommended to generate a random Version 1 or Version 4 RFC -4122 UUID, but are free to use an inherent unique ID as the source of -this value if stability is desirable. In that case, the ID SHOULD be used as source of a UUID Version 5 and -SHOULD use the following UUID as the namespace: `4d63009a-8d0f-11ee-aad7-4c796ed8e320`. - * - UUIDs are typically recommended, as only an opaque value for the purposes of identifying a service instance is -needed. Similar to what can be seen in the man page for the -`/etc/machine-id` file, the underlying -data, such as pod name and namespace should be treated as confidential, being the user's choice to expose it -or not via another resource attribute. - * - For applications running behind an application server (like unicorn), we do not recommend using one identifier -for all processes participating in the application. Instead, it's recommended each division (e.g. a worker -thread in unicorn) to have its own instance.id. - * - It's not recommended for a Collector to set `service.instance.id` if it can't unambiguously determine the -service instance that is generating that telemetry. For instance, creating an UUID based on `pod.name` will -likely be wrong, as the Collector might not know from which container within that pod the telemetry originated. -However, Collectors can set the `service.instance.id` if they can unambiguously determine the service instance -for that telemetry. This is typically the case for scraping receivers, as they know the target address and -port. - */ + /** The string ID of the service instance. + * + * @note + * - MUST be unique for each instance of the same + * `service.namespace,service.name` pair (in other words + * `service.namespace,service.name,service.instance.id` triplet MUST be + * globally unique). The ID helps to distinguish instances of the same + * service that exist at the same time (e.g. instances of a horizontally + * scaled service). + * - Implementations, such as SDKs, are recommended to generate a random + * Version 1 or Version 4 RFC 4122 UUID, but are + * free to use an inherent unique ID as the source of this value if + * stability is desirable. In that case, the ID SHOULD be used as source + * of a UUID Version 5 and SHOULD use the following UUID as the + * namespace: `4d63009a-8d0f-11ee-aad7-4c796ed8e320`. + * - UUIDs are typically recommended, as only an opaque value for the + * purposes of identifying a service instance is needed. Similar to what + * can be seen in the man page for the `/etc/machine-id` + * file, the underlying data, such as pod name and namespace should be + * treated as confidential, being the user's choice to expose it or not + * via another resource attribute. + * - For applications running behind an application server (like unicorn), + * we do not recommend using one identifier for all processes + * participating in the application. Instead, it's recommended each + * division (e.g. a worker thread in unicorn) to have its own + * instance.id. + * - It's not recommended for a Collector to set `service.instance.id` if + * it can't unambiguously determine the service instance that is + * generating that telemetry. For instance, creating an UUID based on + * `pod.name` will likely be wrong, as the Collector might not know from + * which container within that pod the telemetry originated. However, + * Collectors can set the `service.instance.id` if they can unambiguously + * determine the service instance for that telemetry. This is typically + * the case for scraping receivers, as they know the target address and + * port. + */ val ServiceInstanceId: AttributeKey[String] = string("service.instance.id") - /** - * Logical name of the service. - * - * @note - * - MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to `unknown_service:` concatenated with `process.executable.name`, e.g. `unknown_service:bash`. If `process.executable.name` is not available, the value MUST be set to `unknown_service`. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.ServiceAttributes.ServiceName` instead.", "0.5.0") + /** Logical name of the service. + * + * @note + * - MUST be the same for all instances of horizontally scaled services. If + * the value was not specified, SDKs MUST fallback to `unknown_service:` + * concatenated with `process.executable.name`, + * e.g. `unknown_service:bash`. If `process.executable.name` is not + * available, the value MUST be set to `unknown_service`. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.ServiceAttributes.ServiceName` instead.", + "0.5.0" + ) val ServiceName: AttributeKey[String] = string("service.name") - /** - * A namespace for `service.name`. - * - * @note - * - A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. `service.name` is expected to be unique within the same namespace. If `service.namespace` is not specified in the Resource then `service.name` is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace. - */ + /** A namespace for `service.name`. + * + * @note + * - A string value having a meaning that helps to distinguish a group of + * services, for example the team name that owns a group of services. + * `service.name` is expected to be unique within the same namespace. If + * `service.namespace` is not specified in the Resource then + * `service.name` is expected to be unique for all services that have no + * explicit namespace defined (so the empty/unspecified namespace is + * simply one more valid namespace). Zero-length namespace string is + * assumed equal to unspecified namespace. + */ val ServiceNamespace: AttributeKey[String] = string("service.namespace") - /** - * The version string of the service API or implementation. The format is not defined by these conventions. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.ServiceAttributes.ServiceVersion` instead.", "0.5.0") + /** The version string of the service API or implementation. The format is not + * defined by these conventions. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.ServiceAttributes.ServiceVersion` instead.", + "0.5.0" + ) val ServiceVersion: AttributeKey[String] = string("service.version") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SessionExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SessionExperimentalAttributes.scala index eed805fd8..1ca888aa9 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SessionExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SessionExperimentalAttributes.scala @@ -22,14 +22,12 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object SessionExperimentalAttributes { - /** - * A unique id to identify a session. - */ + /** A unique id to identify a session. + */ val SessionId: AttributeKey[String] = string("session.id") - /** - * The previous `session.id` for this user, when known. - */ + /** The previous `session.id` for this user, when known. + */ val SessionPreviousId: AttributeKey[String] = string("session.previous_id") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SourceExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SourceExperimentalAttributes.scala index 179079cd1..8c9abb1ef 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SourceExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SourceExperimentalAttributes.scala @@ -22,17 +22,19 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object SourceExperimentalAttributes { - /** - * Source address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. - * - * @note - * - When observed from the destination side, and when communicating through an intermediary, `source.address` SHOULD represent the source address behind any intermediaries, for example proxies, if it's available. - */ + /** Source address - domain name if available without reverse DNS lookup; + * otherwise, IP address or Unix domain socket name. + * + * @note + * - When observed from the destination side, and when communicating + * through an intermediary, `source.address` SHOULD represent the source + * address behind any intermediaries, for example proxies, if it's + * available. + */ val SourceAddress: AttributeKey[String] = string("source.address") - /** - * Source port number - */ + /** Source port number + */ val SourcePort: AttributeKey[Long] = long("source.port") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SystemExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SystemExperimentalAttributes.scala index 4ffe6fcf4..75f0a5798 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SystemExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/SystemExperimentalAttributes.scala @@ -22,233 +22,283 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object SystemExperimentalAttributes { - /** - * The logical CPU number [0..n-1] - */ - val SystemCpuLogicalNumber: AttributeKey[Long] = long("system.cpu.logical_number") - - /** - * The state of the CPU - */ + /** The logical CPU number [0..n-1] + */ + val SystemCpuLogicalNumber: AttributeKey[Long] = long( + "system.cpu.logical_number" + ) + + /** The state of the CPU + */ val SystemCpuState: AttributeKey[String] = string("system.cpu.state") - /** - * The device identifier - */ + /** The device identifier + */ val SystemDevice: AttributeKey[String] = string("system.device") - /** - * The filesystem mode - */ - val SystemFilesystemMode: AttributeKey[String] = string("system.filesystem.mode") - - /** - * The filesystem mount path - */ - val SystemFilesystemMountpoint: AttributeKey[String] = string("system.filesystem.mountpoint") - - /** - * The filesystem state - */ - val SystemFilesystemState: AttributeKey[String] = string("system.filesystem.state") - - /** - * The filesystem type - */ - val SystemFilesystemType: AttributeKey[String] = string("system.filesystem.type") - - /** - * The memory state - */ + /** The filesystem mode + */ + val SystemFilesystemMode: AttributeKey[String] = string( + "system.filesystem.mode" + ) + + /** The filesystem mount path + */ + val SystemFilesystemMountpoint: AttributeKey[String] = string( + "system.filesystem.mountpoint" + ) + + /** The filesystem state + */ + val SystemFilesystemState: AttributeKey[String] = string( + "system.filesystem.state" + ) + + /** The filesystem type + */ + val SystemFilesystemType: AttributeKey[String] = string( + "system.filesystem.type" + ) + + /** The memory state + */ val SystemMemoryState: AttributeKey[String] = string("system.memory.state") - /** - * A stateless protocol MUST NOT set this attribute - */ + /** A stateless protocol MUST NOT set this attribute + */ val SystemNetworkState: AttributeKey[String] = string("system.network.state") - /** - * The paging access direction - */ - val SystemPagingDirection: AttributeKey[String] = string("system.paging.direction") + /** The paging access direction + */ + val SystemPagingDirection: AttributeKey[String] = string( + "system.paging.direction" + ) - /** - * The memory paging state - */ + /** The memory paging state + */ val SystemPagingState: AttributeKey[String] = string("system.paging.state") - /** - * The memory paging type - */ + /** The memory paging type + */ val SystemPagingType: AttributeKey[String] = string("system.paging.type") - /** - * The process state, e.g., Linux Process State Codes - */ - val SystemProcessStatus: AttributeKey[String] = string("system.process.status") + /** The process state, e.g., Linux + * Process State Codes + */ + val SystemProcessStatus: AttributeKey[String] = string( + "system.process.status" + ) - /** - * Deprecated, use `system.process.status` instead. - */ + /** Deprecated, use `system.process.status` instead. + */ @deprecated("Use `system.process.status` instead", "0.5.0") - val SystemProcessesStatus: AttributeKey[String] = string("system.processes.status") + val SystemProcessesStatus: AttributeKey[String] = string( + "system.processes.status" + ) // Enum definitions - - /** - * Values for [[SystemCpuState]]. - */ + + /** Values for [[SystemCpuState]]. + */ abstract class SystemCpuStateValue(val value: String) object SystemCpuStateValue { + /** user. */ case object User extends SystemCpuStateValue("user") + /** system. */ case object System extends SystemCpuStateValue("system") + /** nice. */ case object Nice extends SystemCpuStateValue("nice") + /** idle. */ case object Idle extends SystemCpuStateValue("idle") + /** iowait. */ case object Iowait extends SystemCpuStateValue("iowait") + /** interrupt. */ case object Interrupt extends SystemCpuStateValue("interrupt") + /** steal. */ case object Steal extends SystemCpuStateValue("steal") } - /** - * Values for [[SystemFilesystemState]]. - */ + + /** Values for [[SystemFilesystemState]]. + */ abstract class SystemFilesystemStateValue(val value: String) object SystemFilesystemStateValue { + /** used. */ case object Used extends SystemFilesystemStateValue("used") + /** free. */ case object Free extends SystemFilesystemStateValue("free") + /** reserved. */ case object Reserved extends SystemFilesystemStateValue("reserved") } - /** - * Values for [[SystemFilesystemType]]. - */ + + /** Values for [[SystemFilesystemType]]. + */ abstract class SystemFilesystemTypeValue(val value: String) object SystemFilesystemTypeValue { + /** fat32. */ case object Fat32 extends SystemFilesystemTypeValue("fat32") + /** exfat. */ case object Exfat extends SystemFilesystemTypeValue("exfat") + /** ntfs. */ case object Ntfs extends SystemFilesystemTypeValue("ntfs") + /** refs. */ case object Refs extends SystemFilesystemTypeValue("refs") + /** hfsplus. */ case object Hfsplus extends SystemFilesystemTypeValue("hfsplus") + /** ext4. */ case object Ext4 extends SystemFilesystemTypeValue("ext4") } - /** - * Values for [[SystemMemoryState]]. - */ + + /** Values for [[SystemMemoryState]]. + */ abstract class SystemMemoryStateValue(val value: String) object SystemMemoryStateValue { + /** used. */ case object Used extends SystemMemoryStateValue("used") + /** free. */ case object Free extends SystemMemoryStateValue("free") + /** shared. */ case object Shared extends SystemMemoryStateValue("shared") + /** buffers. */ case object Buffers extends SystemMemoryStateValue("buffers") + /** cached. */ case object Cached extends SystemMemoryStateValue("cached") } - /** - * Values for [[SystemNetworkState]]. - */ + + /** Values for [[SystemNetworkState]]. + */ abstract class SystemNetworkStateValue(val value: String) object SystemNetworkStateValue { + /** close. */ case object Close extends SystemNetworkStateValue("close") + /** close_wait. */ case object CloseWait extends SystemNetworkStateValue("close_wait") + /** closing. */ case object Closing extends SystemNetworkStateValue("closing") + /** delete. */ case object Delete extends SystemNetworkStateValue("delete") + /** established. */ case object Established extends SystemNetworkStateValue("established") + /** fin_wait_1. */ case object FinWait1 extends SystemNetworkStateValue("fin_wait_1") + /** fin_wait_2. */ case object FinWait2 extends SystemNetworkStateValue("fin_wait_2") + /** last_ack. */ case object LastAck extends SystemNetworkStateValue("last_ack") + /** listen. */ case object Listen extends SystemNetworkStateValue("listen") + /** syn_recv. */ case object SynRecv extends SystemNetworkStateValue("syn_recv") + /** syn_sent. */ case object SynSent extends SystemNetworkStateValue("syn_sent") + /** time_wait. */ case object TimeWait extends SystemNetworkStateValue("time_wait") } - /** - * Values for [[SystemPagingDirection]]. - */ + + /** Values for [[SystemPagingDirection]]. + */ abstract class SystemPagingDirectionValue(val value: String) object SystemPagingDirectionValue { + /** in. */ case object In extends SystemPagingDirectionValue("in") + /** out. */ case object Out extends SystemPagingDirectionValue("out") } - /** - * Values for [[SystemPagingState]]. - */ + + /** Values for [[SystemPagingState]]. + */ abstract class SystemPagingStateValue(val value: String) object SystemPagingStateValue { + /** used. */ case object Used extends SystemPagingStateValue("used") + /** free. */ case object Free extends SystemPagingStateValue("free") } - /** - * Values for [[SystemPagingType]]. - */ + + /** Values for [[SystemPagingType]]. + */ abstract class SystemPagingTypeValue(val value: String) object SystemPagingTypeValue { + /** major. */ case object Major extends SystemPagingTypeValue("major") + /** minor. */ case object Minor extends SystemPagingTypeValue("minor") } - /** - * Values for [[SystemProcessStatus]]. - */ + + /** Values for [[SystemProcessStatus]]. + */ abstract class SystemProcessStatusValue(val value: String) object SystemProcessStatusValue { + /** running. */ case object Running extends SystemProcessStatusValue("running") + /** sleeping. */ case object Sleeping extends SystemProcessStatusValue("sleeping") + /** stopped. */ case object Stopped extends SystemProcessStatusValue("stopped") + /** defunct. */ case object Defunct extends SystemProcessStatusValue("defunct") } - /** - * Values for [[SystemProcessesStatus]]. - */ + + /** Values for [[SystemProcessesStatus]]. + */ @deprecated("Use `system.process.status` instead", "0.5.0") abstract class SystemProcessesStatusValue(val value: String) @annotation.nowarn("cat=deprecation") object SystemProcessesStatusValue { + /** running. */ case object Running extends SystemProcessesStatusValue("running") + /** sleeping. */ case object Sleeping extends SystemProcessesStatusValue("sleeping") + /** stopped. */ case object Stopped extends SystemProcessesStatusValue("stopped") + /** defunct. */ case object Defunct extends SystemProcessesStatusValue("defunct") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/TelemetryExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/TelemetryExperimentalAttributes.scala index 827bc7033..50b02b88e 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/TelemetryExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/TelemetryExperimentalAttributes.scala @@ -22,80 +22,111 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object TelemetryExperimentalAttributes { - /** - * The name of the auto instrumentation agent or distribution, if used. - * - * @note - * - Official auto instrumentation agents and distributions SHOULD set the `telemetry.distro.name` attribute to -a string starting with `opentelemetry-`, e.g. `opentelemetry-java-instrumentation`. - */ - val TelemetryDistroName: AttributeKey[String] = string("telemetry.distro.name") - - /** - * The version string of the auto instrumentation agent or distribution, if used. - */ - val TelemetryDistroVersion: AttributeKey[String] = string("telemetry.distro.version") - - /** - * The language of the telemetry SDK. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.TelemetryAttributes.TelemetrySdkLanguage` instead.", "0.5.0") - val TelemetrySdkLanguage: AttributeKey[String] = string("telemetry.sdk.language") - - /** - * The name of the telemetry SDK as defined above. - * - * @note - * - The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute to `opentelemetry`. -If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the -`telemetry.sdk.name` attribute to the fully-qualified class or module name of this SDK's main entry point -or another suitable identifier depending on the language. -The identifier `opentelemetry` is reserved and MUST NOT be used in this case. -All custom identifiers SHOULD be stable across different versions of an implementation. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.TelemetryAttributes.TelemetrySdkName` instead.", "0.5.0") + /** The name of the auto instrumentation agent or distribution, if used. + * + * @note + * - Official auto instrumentation agents and distributions SHOULD set the + * `telemetry.distro.name` attribute to a string starting with + * `opentelemetry-`, e.g. `opentelemetry-java-instrumentation`. + */ + val TelemetryDistroName: AttributeKey[String] = string( + "telemetry.distro.name" + ) + + /** The version string of the auto instrumentation agent or distribution, if + * used. + */ + val TelemetryDistroVersion: AttributeKey[String] = string( + "telemetry.distro.version" + ) + + /** The language of the telemetry SDK. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.TelemetryAttributes.TelemetrySdkLanguage` instead.", + "0.5.0" + ) + val TelemetrySdkLanguage: AttributeKey[String] = string( + "telemetry.sdk.language" + ) + + /** The name of the telemetry SDK as defined above. + * + * @note + * - The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute to + * `opentelemetry`. If another SDK, like a fork or a vendor-provided + * implementation, is used, this SDK MUST set the `telemetry.sdk.name` + * attribute to the fully-qualified class or module name of this SDK's + * main entry point or another suitable identifier depending on the + * language. The identifier `opentelemetry` is reserved and MUST NOT be + * used in this case. All custom identifiers SHOULD be stable across + * different versions of an implementation. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.TelemetryAttributes.TelemetrySdkName` instead.", + "0.5.0" + ) val TelemetrySdkName: AttributeKey[String] = string("telemetry.sdk.name") - /** - * The version string of the telemetry SDK. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.TelemetryAttributes.TelemetrySdkVersion` instead.", "0.5.0") - val TelemetrySdkVersion: AttributeKey[String] = string("telemetry.sdk.version") + /** The version string of the telemetry SDK. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.TelemetryAttributes.TelemetrySdkVersion` instead.", + "0.5.0" + ) + val TelemetrySdkVersion: AttributeKey[String] = string( + "telemetry.sdk.version" + ) // Enum definitions - - /** - * Values for [[TelemetrySdkLanguage]]. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.TelemetryAttributes.TelemetrySdkLanguageValue` instead.", "0.5.0") + + /** Values for [[TelemetrySdkLanguage]]. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.TelemetryAttributes.TelemetrySdkLanguageValue` instead.", + "0.5.0" + ) abstract class TelemetrySdkLanguageValue(val value: String) @annotation.nowarn("cat=deprecation") object TelemetrySdkLanguageValue { + /** cpp. */ case object Cpp extends TelemetrySdkLanguageValue("cpp") + /** dotnet. */ case object Dotnet extends TelemetrySdkLanguageValue("dotnet") + /** erlang. */ case object Erlang extends TelemetrySdkLanguageValue("erlang") + /** go. */ case object Go extends TelemetrySdkLanguageValue("go") + /** java. */ case object Java extends TelemetrySdkLanguageValue("java") + /** nodejs. */ case object Nodejs extends TelemetrySdkLanguageValue("nodejs") + /** php. */ case object Php extends TelemetrySdkLanguageValue("php") + /** python. */ case object Python extends TelemetrySdkLanguageValue("python") + /** ruby. */ case object Ruby extends TelemetrySdkLanguageValue("ruby") + /** rust. */ case object Rust extends TelemetrySdkLanguageValue("rust") + /** swift. */ case object Swift extends TelemetrySdkLanguageValue("swift") + /** webjs. */ case object Webjs extends TelemetrySdkLanguageValue("webjs") + /** scala. */ case object Scala extends TelemetrySdkLanguageValue("scala") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ThreadExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ThreadExperimentalAttributes.scala index c6fc5d487..93e57ca9b 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ThreadExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/ThreadExperimentalAttributes.scala @@ -22,14 +22,12 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ThreadExperimentalAttributes { - /** - * Current "managed" thread ID (as opposed to OS thread ID). - */ + /** Current "managed" thread ID (as opposed to OS thread ID). + */ val ThreadId: AttributeKey[Long] = long("thread.id") - /** - * Current thread name. - */ + /** Current thread name. + */ val ThreadName: AttributeKey[String] = string("thread.name") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/TlsExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/TlsExperimentalAttributes.scala index 29d8384f6..6cab14af3 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/TlsExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/TlsExperimentalAttributes.scala @@ -22,164 +22,200 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object TlsExperimentalAttributes { - /** - * String indicating the cipher used during the current connection. - * - * @note - * - The values allowed for `tls.cipher` MUST be one of the `Descriptions` of the registered TLS Cipher Suits. - */ + /** String indicating the cipher + * used during the current connection. + * + * @note + * - The values allowed for `tls.cipher` MUST be one of the `Descriptions` + * of the registered + * TLS Cipher Suits. + */ val TlsCipher: AttributeKey[String] = string("tls.cipher") - /** - * PEM-encoded stand-alone certificate offered by the client. This is usually mutually-exclusive of `client.certificate_chain` since this value also exists in that list. - */ - val TlsClientCertificate: AttributeKey[String] = string("tls.client.certificate") - - /** - * Array of PEM-encoded certificates that make up the certificate chain offered by the client. This is usually mutually-exclusive of `client.certificate` since that value should be the first certificate in the chain. - */ - val TlsClientCertificateChain: AttributeKey[Seq[String]] = stringSeq("tls.client.certificate_chain") - - /** - * Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash. - */ + /** PEM-encoded stand-alone certificate offered by the client. This is usually + * mutually-exclusive of `client.certificate_chain` since this value also + * exists in that list. + */ + val TlsClientCertificate: AttributeKey[String] = string( + "tls.client.certificate" + ) + + /** Array of PEM-encoded certificates that make up the certificate chain + * offered by the client. This is usually mutually-exclusive of + * `client.certificate` since that value should be the first certificate in + * the chain. + */ + val TlsClientCertificateChain: AttributeKey[Seq[String]] = stringSeq( + "tls.client.certificate_chain" + ) + + /** Certificate fingerprint using the MD5 digest of DER-encoded version of + * certificate offered by the client. For consistency with other hash values, + * this value should be formatted as an uppercase hash. + */ val TlsClientHashMd5: AttributeKey[String] = string("tls.client.hash.md5") - /** - * Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash. - */ + /** Certificate fingerprint using the SHA1 digest of DER-encoded version of + * certificate offered by the client. For consistency with other hash values, + * this value should be formatted as an uppercase hash. + */ val TlsClientHashSha1: AttributeKey[String] = string("tls.client.hash.sha1") - /** - * Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash. - */ - val TlsClientHashSha256: AttributeKey[String] = string("tls.client.hash.sha256") - - /** - * Distinguished name of subject of the issuer of the x.509 certificate presented by the client. - */ + /** Certificate fingerprint using the SHA256 digest of DER-encoded version of + * certificate offered by the client. For consistency with other hash values, + * this value should be formatted as an uppercase hash. + */ + val TlsClientHashSha256: AttributeKey[String] = string( + "tls.client.hash.sha256" + ) + + /** Distinguished name of subject + * of the issuer of the x.509 certificate presented by the client. + */ val TlsClientIssuer: AttributeKey[String] = string("tls.client.issuer") - /** - * A hash that identifies clients based on how they perform an SSL/TLS handshake. - */ + /** A hash that identifies clients based on how they perform an SSL/TLS + * handshake. + */ val TlsClientJa3: AttributeKey[String] = string("tls.client.ja3") - /** - * Date/Time indicating when client certificate is no longer considered valid. - */ + /** Date/Time indicating when client certificate is no longer considered + * valid. + */ val TlsClientNotAfter: AttributeKey[String] = string("tls.client.not_after") - /** - * Date/Time indicating when client certificate is first considered valid. - */ + /** Date/Time indicating when client certificate is first considered valid. + */ val TlsClientNotBefore: AttributeKey[String] = string("tls.client.not_before") - /** - * Also called an SNI, this tells the server which hostname to which the client is attempting to connect to. - */ - val TlsClientServerName: AttributeKey[String] = string("tls.client.server_name") + /** Also called an SNI, this tells the server which hostname to which the + * client is attempting to connect to. + */ + val TlsClientServerName: AttributeKey[String] = string( + "tls.client.server_name" + ) - /** - * Distinguished name of subject of the x.509 certificate presented by the client. - */ + /** Distinguished name of subject of the x.509 certificate presented by the + * client. + */ val TlsClientSubject: AttributeKey[String] = string("tls.client.subject") - /** - * Array of ciphers offered by the client during the client hello. - */ - val TlsClientSupportedCiphers: AttributeKey[Seq[String]] = stringSeq("tls.client.supported_ciphers") + /** Array of ciphers offered by the client during the client hello. + */ + val TlsClientSupportedCiphers: AttributeKey[Seq[String]] = stringSeq( + "tls.client.supported_ciphers" + ) - /** - * String indicating the curve used for the given cipher, when applicable - */ + /** String indicating the curve used for the given cipher, when applicable + */ val TlsCurve: AttributeKey[String] = string("tls.curve") - /** - * Boolean flag indicating if the TLS negotiation was successful and transitioned to an encrypted tunnel. - */ + /** Boolean flag indicating if the TLS negotiation was successful and + * transitioned to an encrypted tunnel. + */ val TlsEstablished: AttributeKey[Boolean] = boolean("tls.established") - /** - * String indicating the protocol being tunneled. Per the values in the IANA registry, this string should be lower case. - */ + /** String indicating the protocol being tunneled. Per the values in the IANA + * registry, this string should be lower case. + */ val TlsNextProtocol: AttributeKey[String] = string("tls.next_protocol") - /** - * Normalized lowercase protocol name parsed from original string of the negotiated SSL/TLS protocol version - */ + /** Normalized lowercase protocol name parsed from original string of the + * negotiated SSL/TLS + * protocol version + */ val TlsProtocolName: AttributeKey[String] = string("tls.protocol.name") - /** - * Numeric part of the version parsed from the original string of the negotiated SSL/TLS protocol version - */ + /** Numeric part of the version parsed from the original string of the + * negotiated SSL/TLS + * protocol version + */ val TlsProtocolVersion: AttributeKey[String] = string("tls.protocol.version") - /** - * Boolean flag indicating if this TLS connection was resumed from an existing TLS negotiation. - */ + /** Boolean flag indicating if this TLS connection was resumed from an + * existing TLS negotiation. + */ val TlsResumed: AttributeKey[Boolean] = boolean("tls.resumed") - /** - * PEM-encoded stand-alone certificate offered by the server. This is usually mutually-exclusive of `server.certificate_chain` since this value also exists in that list. - */ - val TlsServerCertificate: AttributeKey[String] = string("tls.server.certificate") - - /** - * Array of PEM-encoded certificates that make up the certificate chain offered by the server. This is usually mutually-exclusive of `server.certificate` since that value should be the first certificate in the chain. - */ - val TlsServerCertificateChain: AttributeKey[Seq[String]] = stringSeq("tls.server.certificate_chain") - - /** - * Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash. - */ + /** PEM-encoded stand-alone certificate offered by the server. This is usually + * mutually-exclusive of `server.certificate_chain` since this value also + * exists in that list. + */ + val TlsServerCertificate: AttributeKey[String] = string( + "tls.server.certificate" + ) + + /** Array of PEM-encoded certificates that make up the certificate chain + * offered by the server. This is usually mutually-exclusive of + * `server.certificate` since that value should be the first certificate in + * the chain. + */ + val TlsServerCertificateChain: AttributeKey[Seq[String]] = stringSeq( + "tls.server.certificate_chain" + ) + + /** Certificate fingerprint using the MD5 digest of DER-encoded version of + * certificate offered by the server. For consistency with other hash values, + * this value should be formatted as an uppercase hash. + */ val TlsServerHashMd5: AttributeKey[String] = string("tls.server.hash.md5") - /** - * Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash. - */ + /** Certificate fingerprint using the SHA1 digest of DER-encoded version of + * certificate offered by the server. For consistency with other hash values, + * this value should be formatted as an uppercase hash. + */ val TlsServerHashSha1: AttributeKey[String] = string("tls.server.hash.sha1") - /** - * Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash. - */ - val TlsServerHashSha256: AttributeKey[String] = string("tls.server.hash.sha256") - - /** - * Distinguished name of subject of the issuer of the x.509 certificate presented by the client. - */ + /** Certificate fingerprint using the SHA256 digest of DER-encoded version of + * certificate offered by the server. For consistency with other hash values, + * this value should be formatted as an uppercase hash. + */ + val TlsServerHashSha256: AttributeKey[String] = string( + "tls.server.hash.sha256" + ) + + /** Distinguished name of subject + * of the issuer of the x.509 certificate presented by the client. + */ val TlsServerIssuer: AttributeKey[String] = string("tls.server.issuer") - /** - * A hash that identifies servers based on how they perform an SSL/TLS handshake. - */ + /** A hash that identifies servers based on how they perform an SSL/TLS + * handshake. + */ val TlsServerJa3s: AttributeKey[String] = string("tls.server.ja3s") - /** - * Date/Time indicating when server certificate is no longer considered valid. - */ + /** Date/Time indicating when server certificate is no longer considered + * valid. + */ val TlsServerNotAfter: AttributeKey[String] = string("tls.server.not_after") - /** - * Date/Time indicating when server certificate is first considered valid. - */ + /** Date/Time indicating when server certificate is first considered valid. + */ val TlsServerNotBefore: AttributeKey[String] = string("tls.server.not_before") - /** - * Distinguished name of subject of the x.509 certificate presented by the server. - */ + /** Distinguished name of subject of the x.509 certificate presented by the + * server. + */ val TlsServerSubject: AttributeKey[String] = string("tls.server.subject") // Enum definitions - - /** - * Values for [[TlsProtocolName]]. - */ + + /** Values for [[TlsProtocolName]]. + */ abstract class TlsProtocolNameValue(val value: String) object TlsProtocolNameValue { + /** ssl. */ case object Ssl extends TlsProtocolNameValue("ssl") + /** tls. */ case object Tls extends TlsProtocolNameValue("tls") } -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/UrlExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/UrlExperimentalAttributes.scala index d7c7a6986..d29255e55 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/UrlExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/UrlExperimentalAttributes.scala @@ -22,104 +22,154 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object UrlExperimentalAttributes { - /** - * Domain extracted from the `url.full`, such as "opentelemetry.io". - * - * @note - * - In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case, the IP address would go to the domain field. If the URL contains a literal IPv6 address enclosed by `[` and `]`, the `[` and `]` characters should also be captured in the domain field. - */ + /** Domain extracted from the `url.full`, such as + * "opentelemetry.io". + * + * @note + * - In some cases a URL may refer to an IP and/or port directly, without a + * domain name. In this case, the IP address would go to the domain + * field. If the URL contains a literal IPv6 + * address enclosed by `[` and `]`, the `[` and `]` characters should + * also be captured in the domain field. + */ val UrlDomain: AttributeKey[String] = string("url.domain") - /** - * The file extension extracted from the `url.full`, excluding the leading dot. - * - * @note - * - The file extension is only set if it exists, as not every url has a file extension. When the file name has multiple extensions `example.tar.gz`, only the last one should be captured `gz`, not `tar.gz`. - */ + /** The file extension extracted from the `url.full`, excluding the leading + * dot. + * + * @note + * - The file extension is only set if it exists, as not every url has a + * file extension. When the file name has multiple extensions + * `example.tar.gz`, only the last one should be captured `gz`, not + * `tar.gz`. + */ val UrlExtension: AttributeKey[String] = string("url.extension") - /** - * The URI fragment component - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlFragment` instead.", "0.5.0") + /** The URI + * fragment component + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlFragment` instead.", + "0.5.0" + ) val UrlFragment: AttributeKey[String] = string("url.fragment") - /** - * Absolute URL describing a network resource according to RFC3986 - * - * @note - * - For network calls, URL usually has `scheme://host[:port][path][?query][#fragment]` format, where the fragment is not transmitted over HTTP, but if it is known, it SHOULD be included nevertheless. -`url.full` MUST NOT contain credentials passed via URL in form of `https://username:password@www.example.com/`. In such case username and password SHOULD be redacted and attribute's value SHOULD be `https://REDACTED:REDACTED@www.example.com/`. -`url.full` SHOULD capture the absolute URL when it is available (or can be reconstructed). Sensitive content provided in `url.full` SHOULD be scrubbed when instrumentations can identify it. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlFull` instead.", "0.5.0") + /** Absolute URL describing a network resource according to RFC3986 + * + * @note + * - For network calls, URL usually has + * `scheme://host[:port][path][?query][#fragment]` format, where the + * fragment is not transmitted over HTTP, but if it is known, it SHOULD + * be included nevertheless. `url.full` MUST NOT contain credentials + * passed via URL in form of + * `https://username:password@www.example.com/`. In such case username + * and password SHOULD be redacted and attribute's value SHOULD be + * `https://REDACTED:REDACTED@www.example.com/`. `url.full` SHOULD + * capture the absolute URL when it is available (or can be + * reconstructed). Sensitive content provided in `url.full` SHOULD be + * scrubbed when instrumentations can identify it. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlFull` instead.", + "0.5.0" + ) val UrlFull: AttributeKey[String] = string("url.full") - /** - * Unmodified original URL as seen in the event source. - * - * @note - * - In network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is often just represented as a path. This field is meant to represent the URL as it was observed, complete or not. -`url.original` might contain credentials passed via URL in form of `https://username:password@www.example.com/`. In such case password and username SHOULD NOT be redacted and attribute's value SHOULD remain the same. - */ + /** Unmodified original URL as seen in the event source. + * + * @note + * - In network monitoring, the observed URL may be a full URL, whereas in + * access logs, the URL is often just represented as a path. This field + * is meant to represent the URL as it was observed, complete or not. + * `url.original` might contain credentials passed via URL in form of + * `https://username:password@www.example.com/`. In such case password + * and username SHOULD NOT be redacted and attribute's value SHOULD + * remain the same. + */ val UrlOriginal: AttributeKey[String] = string("url.original") - /** - * The URI path component - * - * @note - * - Sensitive content provided in `url.path` SHOULD be scrubbed when instrumentations can identify it. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlPath` instead.", "0.5.0") + /** The URI + * path component + * + * @note + * - Sensitive content provided in `url.path` SHOULD be scrubbed when + * instrumentations can identify it. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlPath` instead.", + "0.5.0" + ) val UrlPath: AttributeKey[String] = string("url.path") - /** - * Port extracted from the `url.full` - */ + /** Port extracted from the `url.full` + */ val UrlPort: AttributeKey[Long] = long("url.port") - /** - * The URI query component - * - * @note - * - Sensitive content provided in `url.query` SHOULD be scrubbed when instrumentations can identify it. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlQuery` instead.", "0.5.0") + /** The URI + * query component + * + * @note + * - Sensitive content provided in `url.query` SHOULD be scrubbed when + * instrumentations can identify it. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlQuery` instead.", + "0.5.0" + ) val UrlQuery: AttributeKey[String] = string("url.query") - /** - * The highest registered url domain, stripped of the subdomain. - * - * @note - * - This value can be determined precisely with the public suffix list. For example, the registered domain for `foo.example.com` is `example.com`. Trying to approximate this by simply taking the last two labels will not work well for TLDs such as `co.uk`. - */ - val UrlRegisteredDomain: AttributeKey[String] = string("url.registered_domain") - - /** - * The URI scheme component identifying the used protocol. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlScheme` instead.", "0.5.0") + /** The highest registered url domain, stripped of the subdomain. + * + * @note + * - This value can be determined precisely with the public suffix list. For example, + * the registered domain for `foo.example.com` is `example.com`. Trying + * to approximate this by simply taking the last two labels will not work + * well for TLDs such as `co.uk`. + */ + val UrlRegisteredDomain: AttributeKey[String] = string( + "url.registered_domain" + ) + + /** The URI + * scheme component identifying the used protocol. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.UrlAttributes.UrlScheme` instead.", + "0.5.0" + ) val UrlScheme: AttributeKey[String] = string("url.scheme") - /** - * The subdomain portion of a fully qualified domain name includes all of the names except the host name under the registered_domain. In a partially qualified domain, or if the qualification level of the full name cannot be determined, subdomain contains all of the names below the registered domain. - * - * @note - * - The subdomain portion of `www.east.mydomain.co.uk` is `east`. If the domain has multiple levels of subdomain, such as `sub2.sub1.example.com`, the subdomain field should contain `sub2.sub1`, with no trailing period. - */ + /** The subdomain portion of a fully qualified domain name includes all of the + * names except the host name under the registered_domain. In a partially + * qualified domain, or if the qualification level of the full name cannot be + * determined, subdomain contains all of the names below the registered + * domain. + * + * @note + * - The subdomain portion of `www.east.mydomain.co.uk` is `east`. If the + * domain has multiple levels of subdomain, such as + * `sub2.sub1.example.com`, the subdomain field should contain + * `sub2.sub1`, with no trailing period. + */ val UrlSubdomain: AttributeKey[String] = string("url.subdomain") - /** - * The low-cardinality template of an absolute path reference. - */ + /** The low-cardinality template of an absolute path + * reference. + */ val UrlTemplate: AttributeKey[String] = string("url.template") - /** - * The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is `com`. - * - * @note - * - This value can be determined precisely with the public suffix list. - */ + /** The effective top level domain (eTLD), also known as the domain suffix, is + * the last part of the domain name. For example, the top level domain for + * example.com is `com`. + * + * @note + * - This value can be determined precisely with the public suffix list. + */ val UrlTopLevelDomain: AttributeKey[String] = string("url.top_level_domain") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/UserAgentExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/UserAgentExperimentalAttributes.scala index 2827e560a..f38c37824 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/UserAgentExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/UserAgentExperimentalAttributes.scala @@ -22,26 +22,40 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object UserAgentExperimentalAttributes { - /** - * Name of the user-agent extracted from original. Usually refers to the browser's name. - * - * @note - * - Example of extracting browser's name from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the `user_agent.original`, the most significant name SHOULD be selected. In such a scenario it should align with `user_agent.version` - */ + /** Name of the user-agent extracted from original. Usually refers to the + * browser's name. + * + * @note + * - Example of extracting + * browser's name from original string. In the case of using a user-agent + * for non-browser products, such as microservices with multiple + * names/versions inside the `user_agent.original`, the most significant + * name SHOULD be selected. In such a scenario it should align with + * `user_agent.version` + */ val UserAgentName: AttributeKey[String] = string("user_agent.name") - /** - * Value of the HTTP User-Agent header sent by the client. - */ - @deprecated("use `org.typelevel.otel4s.semconv.attributes.UserAgentAttributes.UserAgentOriginal` instead.", "0.5.0") + /** Value of the HTTP + * User-Agent header sent by the client. + */ + @deprecated( + "use `org.typelevel.otel4s.semconv.attributes.UserAgentAttributes.UserAgentOriginal` instead.", + "0.5.0" + ) val UserAgentOriginal: AttributeKey[String] = string("user_agent.original") - /** - * Version of the user-agent extracted from original. Usually refers to the browser's version - * - * @note - * - Example of extracting browser's version from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the `user_agent.original`, the most significant version SHOULD be selected. In such a scenario it should align with `user_agent.name` - */ + /** Version of the user-agent extracted from original. Usually refers to the + * browser's version + * + * @note + * - Example of extracting + * browser's version from original string. In the case of using a + * user-agent for non-browser products, such as microservices with + * multiple names/versions inside the `user_agent.original`, the most + * significant version SHOULD be selected. In such a scenario it should + * align with `user_agent.name` + */ val UserAgentVersion: AttributeKey[String] = string("user_agent.version") -} \ No newline at end of file +} diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/WebengineExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/WebengineExperimentalAttributes.scala index a0b0a7f3b..5c8136de0 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/WebengineExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/WebengineExperimentalAttributes.scala @@ -22,19 +22,19 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object WebengineExperimentalAttributes { - /** - * Additional description of the web engine (e.g. detailed version and edition information). - */ - val WebengineDescription: AttributeKey[String] = string("webengine.description") + /** Additional description of the web engine (e.g. detailed version and + * edition information). + */ + val WebengineDescription: AttributeKey[String] = string( + "webengine.description" + ) - /** - * The name of the web engine. - */ + /** The name of the web engine. + */ val WebengineName: AttributeKey[String] = string("webengine.name") - /** - * The version of the web engine. - */ + /** The version of the web engine. + */ val WebengineVersion: AttributeKey[String] = string("webengine.version") -} \ No newline at end of file +} diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ClientAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ClientAttributes.scala index 0bbb92cf6..bdcec0dcc 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ClientAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ClientAttributes.scala @@ -22,20 +22,23 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ClientAttributes { - /** - * Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. - * - * @note - * - When observed from the server side, and when communicating through an intermediary, `client.address` SHOULD represent the client address behind any intermediaries, for example proxies, if it's available. - */ + /** Client address - domain name if available without reverse DNS lookup; + * otherwise, IP address or Unix domain socket name. + * + * @note + * - When observed from the server side, and when communicating through an + * intermediary, `client.address` SHOULD represent the client address + * behind any intermediaries, for example proxies, if it's available. + */ val ClientAddress: AttributeKey[String] = string("client.address") - /** - * Client port number. - * - * @note - * - When observed from the server side, and when communicating through an intermediary, `client.port` SHOULD represent the client port behind any intermediaries, for example proxies, if it's available. - */ + /** Client port number. + * + * @note + * - When observed from the server side, and when communicating through an + * intermediary, `client.port` SHOULD represent the client port behind + * any intermediaries, for example proxies, if it's available. + */ val ClientPort: AttributeKey[Long] = long("client.port") -} \ No newline at end of file +} diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ErrorAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ErrorAttributes.scala index 9bd5ca168..a7ea5f644 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ErrorAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ErrorAttributes.scala @@ -22,34 +22,40 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ErrorAttributes { - /** - * Describes a class of error the operation ended with. - * - * @note - * - The `error.type` SHOULD be predictable, and SHOULD have low cardinality. - * - When `error.type` is set to a type (e.g., an exception type), its -canonical class name identifying the type within the artifact SHOULD be used. - * - Instrumentations SHOULD document the list of errors they report. - * - The cardinality of `error.type` within one instrumentation library SHOULD be low. -Telemetry consumers that aggregate data from multiple instrumentation libraries and applications -should be prepared for `error.type` to have high cardinality at query time when no -additional filters are applied. - * - If the operation has completed successfully, instrumentations SHOULD NOT set `error.type`. - * - If a specific domain defines its own set of error identifiers (such as HTTP or gRPC status codes), -it's RECOMMENDED to:
  • Use a domain-specific attribute
  • -
  • Set `error.type` to capture all errors, regardless of whether they are defined within the domain-specific set or not.
  • - - */ + /** Describes a class of error the operation ended with. + * + * @note + * - The `error.type` SHOULD be predictable, and SHOULD have low + * cardinality. + * - When `error.type` is set to a type (e.g., an exception type), its + * canonical class name identifying the type within the artifact SHOULD + * be used. + * - Instrumentations SHOULD document the list of errors they report. + * - The cardinality of `error.type` within one instrumentation library + * SHOULD be low. Telemetry consumers that aggregate data from multiple + * instrumentation libraries and applications should be prepared for + * `error.type` to have high cardinality at query time when no additional + * filters are applied. + * - If the operation has completed successfully, instrumentations SHOULD + * NOT set `error.type`. + * - If a specific domain defines its own set of error identifiers (such as + * HTTP or gRPC status codes), it's RECOMMENDED to:
  • Use a + * domain-specific attribute
  • Set `error.type` to capture all + * errors, regardless of whether they are defined within the + * domain-specific set or not.
  • + */ val ErrorType: AttributeKey[String] = string("error.type") // Enum definitions - - /** - * Values for [[ErrorType]]. - */ + + /** Values for [[ErrorType]]. + */ abstract class ErrorTypeValue(val value: String) object ErrorTypeValue { - /** A fallback error value to be used when the instrumentation doesn't define a custom value. */ + + /** A fallback error value to be used when the instrumentation doesn't + * define a custom value. + */ case object Other extends ErrorTypeValue("_OTHER") } -} \ No newline at end of file +} diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ExceptionAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ExceptionAttributes.scala index 87134f9bc..ba8ec6b22 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ExceptionAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ExceptionAttributes.scala @@ -22,40 +22,44 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ExceptionAttributes { - /** - * SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span. - * - * @note - * - An exception is considered to have escaped (or left) the scope of a span, -if that span is ended while the exception is still logically "in flight". -This may be actually "in flight" in some languages (e.g. if the exception -is passed to a Context manager's `__exit__` method in Python) but will -usually be caught at the point of recording the exception in most languages. - * - It is usually not possible to determine at the point where an exception is thrown -whether it will escape the scope of a span. -However, it is trivial to know that an exception -will escape, if one checks for an active exception just before ending the span, -as done in the example for recording span exceptions. - * - It follows that an exception may still escape the scope of the span -even if the `exception.escaped` attribute was not set or set to false, -since the event might have been recorded at a time where it was not -clear whether the exception will escape. - */ + /** SHOULD be set to true if the exception event is recorded at a point where + * it is known that the exception is escaping the scope of the span. + * + * @note + * - An exception is considered to have escaped (or left) the scope of a + * span, if that span is ended while the exception is still logically + * "in flight". This may be actually "in flight" in + * some languages (e.g. if the exception is passed to a Context manager's + * `__exit__` method in Python) but will usually be caught at the point + * of recording the exception in most languages. + * - It is usually not possible to determine at the point where an + * exception is thrown whether it will escape the scope of a span. + * However, it is trivial to know that an exception will escape, if one + * checks for an active exception just before ending the span, as done in + * the example + * for recording span exceptions. + * - It follows that an exception may still escape the scope of the span + * even if the `exception.escaped` attribute was not set or set to false, + * since the event might have been recorded at a time where it was not + * clear whether the exception will escape. + */ val ExceptionEscaped: AttributeKey[Boolean] = boolean("exception.escaped") - /** - * The exception message. - */ + /** The exception message. + */ val ExceptionMessage: AttributeKey[String] = string("exception.message") - /** - * 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. - */ + /** 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. + */ val ExceptionStacktrace: AttributeKey[String] = string("exception.stacktrace") - /** - * 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. - */ + /** 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. + */ val ExceptionType: AttributeKey[String] = string("exception.type") -} \ No newline at end of file +} diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/HttpAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/HttpAttributes.scala index a6bc4a340..061dbb044 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/HttpAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/HttpAttributes.scala @@ -22,97 +22,144 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object HttpAttributes { - /** - * HTTP request headers, `` being the normalized HTTP Header name (lowercase), the value being the header values. - * - * @note - * - Instrumentations SHOULD require an explicit configuration of which headers are to be captured. Including all request headers can be a security risk - explicit configuration helps avoid leaking sensitive information. -The `User-Agent` header is already captured in the `user_agent.original` attribute. Users MAY explicitly configure instrumentations to capture them even though it is not recommended. -The attribute value MUST consist of either multiple header values as an array of strings or a single-item array containing a possibly comma-concatenated string, depending on the way the HTTP library provides access to headers. - */ - val HttpRequestHeader: AttributeKey[Seq[String]] = stringSeq("http.request.header") - - /** - * HTTP request method. - * - * @note - * - HTTP request method value SHOULD be "known" to the instrumentation. -By default, this convention defines "known" methods as the ones listed in RFC9110 -and the PATCH method defined in RFC5789. - * - If the HTTP request method is not known to instrumentation, it MUST set the `http.request.method` attribute to `_OTHER`. - * - If the HTTP instrumentation could end up converting valid HTTP request methods to `_OTHER`, then it MUST provide a way to override -the list of known HTTP methods. If this override is done via environment variable, then the environment variable MUST be named -OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated list of case-sensitive known HTTP methods -(this list MUST be a full override of the default known method, it is not a list of known methods in addition to the defaults). - * - HTTP method names are case-sensitive and `http.request.method` attribute value MUST match a known HTTP method name exactly. -Instrumentations for specific web frameworks that consider HTTP methods to be case insensitive, SHOULD populate a canonical equivalent. -Tracing instrumentations that do so, MUST also set `http.request.method_original` to the original value. - */ + /** HTTP request headers, `` being the normalized HTTP Header name + * (lowercase), the value being the header values. + * + * @note + * - Instrumentations SHOULD require an explicit configuration of which + * headers are to be captured. Including all request headers can be a + * security risk - explicit configuration helps avoid leaking sensitive + * information. The `User-Agent` header is already captured in the + * `user_agent.original` attribute. Users MAY explicitly configure + * instrumentations to capture them even though it is not recommended. + * The attribute value MUST consist of either multiple header values as + * an array of strings or a single-item array containing a possibly + * comma-concatenated string, depending on the way the HTTP library + * provides access to headers. + */ + val HttpRequestHeader: AttributeKey[Seq[String]] = stringSeq( + "http.request.header" + ) + + /** HTTP request method. + * + * @note + * - HTTP request method value SHOULD be "known" to the + * instrumentation. By default, this convention defines "known" + * methods as the ones listed in RFC9110 + * and the PATCH method defined in RFC5789. + * - If the HTTP request method is not known to instrumentation, it MUST + * set the `http.request.method` attribute to `_OTHER`. + * - If the HTTP instrumentation could end up converting valid HTTP request + * methods to `_OTHER`, then it MUST provide a way to override the list + * of known HTTP methods. If this override is done via environment + * variable, then the environment variable MUST be named + * OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated + * list of case-sensitive known HTTP methods (this list MUST be a full + * override of the default known method, it is not a list of known + * methods in addition to the defaults). + * - HTTP method names are case-sensitive and `http.request.method` + * attribute value MUST match a known HTTP method name exactly. + * Instrumentations for specific web frameworks that consider HTTP + * methods to be case insensitive, SHOULD populate a canonical + * equivalent. Tracing instrumentations that do so, MUST also set + * `http.request.method_original` to the original value. + */ val HttpRequestMethod: AttributeKey[String] = string("http.request.method") - /** - * Original HTTP method sent by the client in the request line. - */ - val HttpRequestMethodOriginal: AttributeKey[String] = string("http.request.method_original") - - /** - * The ordinal number of request resending attempt (for any reason, including redirects). - * - * @note - * - The resend count SHOULD be updated each time an HTTP request gets resent by the client, regardless of what was the cause of the resending (e.g. redirection, authorization failure, 503 Server Unavailable, network issues, or any other). - */ - val HttpRequestResendCount: AttributeKey[Long] = long("http.request.resend_count") - - /** - * HTTP response headers, `` being the normalized HTTP Header name (lowercase), the value being the header values. - * - * @note - * - Instrumentations SHOULD require an explicit configuration of which headers are to be captured. Including all response headers can be a security risk - explicit configuration helps avoid leaking sensitive information. -Users MAY explicitly configure instrumentations to capture them even though it is not recommended. -The attribute value MUST consist of either multiple header values as an array of strings or a single-item array containing a possibly comma-concatenated string, depending on the way the HTTP library provides access to headers. - */ - val HttpResponseHeader: AttributeKey[Seq[String]] = stringSeq("http.response.header") - - /** - * HTTP response status code. - */ - val HttpResponseStatusCode: AttributeKey[Long] = long("http.response.status_code") - - /** - * The matched route, that is, the path template in the format used by the respective server framework. - * - * @note - * - MUST NOT be populated when this is not supported by the HTTP server framework as the route attribute should have low-cardinality and the URI path can NOT substitute it. -SHOULD include the application root if there is one. - */ + /** Original HTTP method sent by the client in the request line. + */ + val HttpRequestMethodOriginal: AttributeKey[String] = string( + "http.request.method_original" + ) + + /** The ordinal number of request resending attempt (for any reason, including + * redirects). + * + * @note + * - The resend count SHOULD be updated each time an HTTP request gets + * resent by the client, regardless of what was the cause of the + * resending (e.g. redirection, authorization failure, 503 Server + * Unavailable, network issues, or any other). + */ + val HttpRequestResendCount: AttributeKey[Long] = long( + "http.request.resend_count" + ) + + /** HTTP response headers, `` being the normalized HTTP Header name + * (lowercase), the value being the header values. + * + * @note + * - Instrumentations SHOULD require an explicit configuration of which + * headers are to be captured. Including all response headers can be a + * security risk - explicit configuration helps avoid leaking sensitive + * information. Users MAY explicitly configure instrumentations to + * capture them even though it is not recommended. The attribute value + * MUST consist of either multiple header values as an array of strings + * or a single-item array containing a possibly comma-concatenated + * string, depending on the way the HTTP library provides access to + * headers. + */ + val HttpResponseHeader: AttributeKey[Seq[String]] = stringSeq( + "http.response.header" + ) + + /** HTTP response + * status code. + */ + val HttpResponseStatusCode: AttributeKey[Long] = long( + "http.response.status_code" + ) + + /** The matched route, that is, the path template in the format used by the + * respective server framework. + * + * @note + * - MUST NOT be populated when this is not supported by the HTTP server + * framework as the route attribute should have low-cardinality and the + * URI path can NOT substitute it. SHOULD include the application + * root if there is one. + */ val HttpRoute: AttributeKey[String] = string("http.route") // Enum definitions - - /** - * Values for [[HttpRequestMethod]]. - */ + + /** Values for [[HttpRequestMethod]]. + */ abstract class HttpRequestMethodValue(val value: String) object HttpRequestMethodValue { + /** CONNECT method. */ case object Connect extends HttpRequestMethodValue("CONNECT") + /** DELETE method. */ case object Delete extends HttpRequestMethodValue("DELETE") + /** GET method. */ case object Get extends HttpRequestMethodValue("GET") + /** HEAD method. */ case object Head extends HttpRequestMethodValue("HEAD") + /** OPTIONS method. */ case object Options extends HttpRequestMethodValue("OPTIONS") + /** PATCH method. */ case object Patch extends HttpRequestMethodValue("PATCH") + /** POST method. */ case object Post extends HttpRequestMethodValue("POST") + /** PUT method. */ case object Put extends HttpRequestMethodValue("PUT") + /** TRACE method. */ case object Trace extends HttpRequestMethodValue("TRACE") + /** Any HTTP method that the instrumentation has no prior knowledge of. */ case object Other extends HttpRequestMethodValue("_OTHER") } -} \ No newline at end of file +} diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/JvmAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/JvmAttributes.scala index 6d8d61bd5..dc61a94ad 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/JvmAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/JvmAttributes.scala @@ -22,73 +22,81 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object JvmAttributes { - /** - * Name of the garbage collector action. - * - * @note - * - Garbage collector action is generally obtained via GarbageCollectionNotificationInfo#getGcAction(). - */ + /** Name of the garbage collector action. + * + * @note + * - Garbage collector action is generally obtained via GarbageCollectionNotificationInfo#getGcAction(). + */ val JvmGcAction: AttributeKey[String] = string("jvm.gc.action") - /** - * Name of the garbage collector. - * - * @note - * - Garbage collector name is generally obtained via GarbageCollectionNotificationInfo#getGcName(). - */ + /** Name of the garbage collector. + * + * @note + * - Garbage collector name is generally obtained via GarbageCollectionNotificationInfo#getGcName(). + */ val JvmGcName: AttributeKey[String] = string("jvm.gc.name") - /** - * Name of the memory pool. - * - * @note - * - Pool names are generally obtained via MemoryPoolMXBean#getName(). - */ + /** Name of the memory pool. + * + * @note + * - Pool names are generally obtained via MemoryPoolMXBean#getName(). + */ val JvmMemoryPoolName: AttributeKey[String] = string("jvm.memory.pool.name") - /** - * The type of memory. - */ + /** The type of memory. + */ val JvmMemoryType: AttributeKey[String] = string("jvm.memory.type") - /** - * Whether the thread is daemon or not. - */ + /** Whether the thread is daemon or not. + */ val JvmThreadDaemon: AttributeKey[Boolean] = boolean("jvm.thread.daemon") - /** - * State of the thread. - */ + /** State of the thread. + */ val JvmThreadState: AttributeKey[String] = string("jvm.thread.state") // Enum definitions - - /** - * Values for [[JvmMemoryType]]. - */ + + /** Values for [[JvmMemoryType]]. + */ abstract class JvmMemoryTypeValue(val value: String) object JvmMemoryTypeValue { + /** Heap memory. */ case object Heap extends JvmMemoryTypeValue("heap") + /** Non-heap memory. */ case object NonHeap extends JvmMemoryTypeValue("non_heap") } - /** - * Values for [[JvmThreadState]]. - */ + + /** Values for [[JvmThreadState]]. + */ abstract class JvmThreadStateValue(val value: String) object JvmThreadStateValue { + /** A thread that has not yet started is in this state. */ case object New extends JvmThreadStateValue("new") + /** A thread executing in the Java virtual machine is in this state. */ case object Runnable extends JvmThreadStateValue("runnable") + /** A thread that is blocked waiting for a monitor lock is in this state. */ case object Blocked extends JvmThreadStateValue("blocked") - /** A thread that is waiting indefinitely for another thread to perform a particular action is in this state. */ + + /** A thread that is waiting indefinitely for another thread to perform a + * particular action is in this state. + */ case object Waiting extends JvmThreadStateValue("waiting") - /** A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state. */ + + /** A thread that is waiting for another thread to perform an action for up + * to a specified waiting time is in this state. + */ case object TimedWaiting extends JvmThreadStateValue("timed_waiting") + /** A thread that has exited is in this state. */ case object Terminated extends JvmThreadStateValue("terminated") } -} \ No newline at end of file +} diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/NetworkAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/NetworkAttributes.scala index 08f86b19c..ac9f2de7d 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/NetworkAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/NetworkAttributes.scala @@ -22,85 +22,99 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object NetworkAttributes { - /** - * Local address of the network connection - IP address or Unix domain socket name. - */ - val NetworkLocalAddress: AttributeKey[String] = string("network.local.address") - - /** - * Local port number of the network connection. - */ + /** Local address of the network connection - IP address or Unix domain socket + * name. + */ + val NetworkLocalAddress: AttributeKey[String] = string( + "network.local.address" + ) + + /** Local port number of the network connection. + */ val NetworkLocalPort: AttributeKey[Long] = long("network.local.port") - /** - * Peer address of the network connection - IP address or Unix domain socket name. - */ + /** Peer address of the network connection - IP address or Unix domain socket + * name. + */ val NetworkPeerAddress: AttributeKey[String] = string("network.peer.address") - /** - * Peer port number of the network connection. - */ + /** Peer port number of the network connection. + */ val NetworkPeerPort: AttributeKey[Long] = long("network.peer.port") - /** - * OSI application layer or non-OSI equivalent. - * - * @note - * - The value SHOULD be normalized to lowercase. - */ - val NetworkProtocolName: AttributeKey[String] = string("network.protocol.name") - - /** - * The actual version of the protocol used for network communication. - * - * @note - * - If protocol version is subject to negotiation (for example using ALPN), this attribute SHOULD be set to the negotiated version. If the actual protocol version is not known, this attribute SHOULD NOT be set. - */ - val NetworkProtocolVersion: AttributeKey[String] = string("network.protocol.version") - - /** - * OSI transport layer or inter-process communication method. - * - * @note - * - The value SHOULD be normalized to lowercase. - * - Consider always setting the transport when setting a port number, since -a port number is ambiguous without knowing the transport. For example -different processes could be listening on TCP port 12345 and UDP port 12345. - */ + /** OSI application + * layer or non-OSI equivalent. + * + * @note + * - The value SHOULD be normalized to lowercase. + */ + val NetworkProtocolName: AttributeKey[String] = string( + "network.protocol.name" + ) + + /** The actual version of the protocol used for network communication. + * + * @note + * - If protocol version is subject to negotiation (for example using ALPN), this + * attribute SHOULD be set to the negotiated version. If the actual + * protocol version is not known, this attribute SHOULD NOT be set. + */ + val NetworkProtocolVersion: AttributeKey[String] = string( + "network.protocol.version" + ) + + /** OSI transport layer + * or inter-process + * communication method. + * + * @note + * - The value SHOULD be normalized to lowercase. + * - Consider always setting the transport when setting a port number, + * since a port number is ambiguous without knowing the transport. For + * example different processes could be listening on TCP port 12345 and + * UDP port 12345. + */ val NetworkTransport: AttributeKey[String] = string("network.transport") - /** - * OSI network layer or non-OSI equivalent. - * - * @note - * - The value SHOULD be normalized to lowercase. - */ + /** OSI network layer or + * non-OSI equivalent. + * + * @note + * - The value SHOULD be normalized to lowercase. + */ val NetworkType: AttributeKey[String] = string("network.type") // Enum definitions - - /** - * Values for [[NetworkTransport]]. - */ + + /** Values for [[NetworkTransport]]. + */ abstract class NetworkTransportValue(val value: String) object NetworkTransportValue { + /** TCP. */ case object Tcp extends NetworkTransportValue("tcp") + /** UDP. */ case object Udp extends NetworkTransportValue("udp") + /** Named or anonymous pipe. */ case object Pipe extends NetworkTransportValue("pipe") + /** Unix domain socket. */ case object Unix extends NetworkTransportValue("unix") } - /** - * Values for [[NetworkType]]. - */ + + /** Values for [[NetworkType]]. + */ abstract class NetworkTypeValue(val value: String) object NetworkTypeValue { + /** IPv4. */ case object Ipv4 extends NetworkTypeValue("ipv4") + /** IPv6. */ case object Ipv6 extends NetworkTypeValue("ipv6") } -} \ No newline at end of file +} diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/OtelAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/OtelAttributes.scala index df129dd13..d8c3c8db2 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/OtelAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/OtelAttributes.scala @@ -22,36 +22,40 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object OtelAttributes { - /** - * The name of the instrumentation scope - (`InstrumentationScope.Name` in OTLP). - */ + /** The name of the instrumentation scope - (`InstrumentationScope.Name` in + * OTLP). + */ val OtelScopeName: AttributeKey[String] = string("otel.scope.name") - /** - * The version of the instrumentation scope - (`InstrumentationScope.Version` in OTLP). - */ + /** The version of the instrumentation scope - (`InstrumentationScope.Version` + * in OTLP). + */ val OtelScopeVersion: AttributeKey[String] = string("otel.scope.version") - /** - * Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET. - */ + /** Name of the code, either "OK" or "ERROR". MUST NOT be + * set if the status code is UNSET. + */ val OtelStatusCode: AttributeKey[String] = string("otel.status_code") - /** - * Description of the Status if it has a value, otherwise not set. - */ - val OtelStatusDescription: AttributeKey[String] = string("otel.status_description") + /** Description of the Status if it has a value, otherwise not set. + */ + val OtelStatusDescription: AttributeKey[String] = string( + "otel.status_description" + ) // Enum definitions - - /** - * Values for [[OtelStatusCode]]. - */ + + /** Values for [[OtelStatusCode]]. + */ abstract class OtelStatusCodeValue(val value: String) object OtelStatusCodeValue { - /** The operation has been validated by an Application developer or Operator to have completed successfully. */ + + /** The operation has been validated by an Application developer or Operator + * to have completed successfully. + */ case object Ok extends OtelStatusCodeValue("OK") + /** The operation contains an error. */ case object Error extends OtelStatusCodeValue("ERROR") } -} \ No newline at end of file +} diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ServerAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ServerAttributes.scala index 03acca64f..0b730805f 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ServerAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ServerAttributes.scala @@ -22,20 +22,23 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ServerAttributes { - /** - * Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. - * - * @note - * - When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. - */ + /** Server domain name if available without reverse DNS lookup; otherwise, IP + * address or Unix domain socket name. + * + * @note + * - When observed from the client side, and when communicating through an + * intermediary, `server.address` SHOULD represent the server address + * behind any intermediaries, for example proxies, if it's available. + */ val ServerAddress: AttributeKey[String] = string("server.address") - /** - * Server port number. - * - * @note - * - When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available. - */ + /** Server port number. + * + * @note + * - When observed from the client side, and when communicating through an + * intermediary, `server.port` SHOULD represent the server port behind + * any intermediaries, for example proxies, if it's available. + */ val ServerPort: AttributeKey[Long] = long("server.port") -} \ No newline at end of file +} diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ServiceAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ServiceAttributes.scala index efcbcccb0..09cc43e8d 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ServiceAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/ServiceAttributes.scala @@ -22,17 +22,20 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object ServiceAttributes { - /** - * Logical name of the service. - * - * @note - * - MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to `unknown_service:` concatenated with `process.executable.name`, e.g. `unknown_service:bash`. If `process.executable.name` is not available, the value MUST be set to `unknown_service`. - */ + /** Logical name of the service. + * + * @note + * - MUST be the same for all instances of horizontally scaled services. If + * the value was not specified, SDKs MUST fallback to `unknown_service:` + * concatenated with `process.executable.name`, + * e.g. `unknown_service:bash`. If `process.executable.name` is not + * available, the value MUST be set to `unknown_service`. + */ val ServiceName: AttributeKey[String] = string("service.name") - /** - * The version string of the service API or implementation. The format is not defined by these conventions. - */ + /** The version string of the service API or implementation. The format is not + * defined by these conventions. + */ val ServiceVersion: AttributeKey[String] = string("service.version") -} \ No newline at end of file +} diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/TelemetryAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/TelemetryAttributes.scala index dbc2053b0..205aa24ef 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/TelemetryAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/TelemetryAttributes.scala @@ -22,61 +22,76 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object TelemetryAttributes { - /** - * The language of the telemetry SDK. - */ - val TelemetrySdkLanguage: AttributeKey[String] = string("telemetry.sdk.language") - - /** - * The name of the telemetry SDK as defined above. - * - * @note - * - The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute to `opentelemetry`. -If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the -`telemetry.sdk.name` attribute to the fully-qualified class or module name of this SDK's main entry point -or another suitable identifier depending on the language. -The identifier `opentelemetry` is reserved and MUST NOT be used in this case. -All custom identifiers SHOULD be stable across different versions of an implementation. - */ + /** The language of the telemetry SDK. + */ + val TelemetrySdkLanguage: AttributeKey[String] = string( + "telemetry.sdk.language" + ) + + /** The name of the telemetry SDK as defined above. + * + * @note + * - The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute to + * `opentelemetry`. If another SDK, like a fork or a vendor-provided + * implementation, is used, this SDK MUST set the `telemetry.sdk.name` + * attribute to the fully-qualified class or module name of this SDK's + * main entry point or another suitable identifier depending on the + * language. The identifier `opentelemetry` is reserved and MUST NOT be + * used in this case. All custom identifiers SHOULD be stable across + * different versions of an implementation. + */ val TelemetrySdkName: AttributeKey[String] = string("telemetry.sdk.name") - /** - * The version string of the telemetry SDK. - */ - val TelemetrySdkVersion: AttributeKey[String] = string("telemetry.sdk.version") + /** The version string of the telemetry SDK. + */ + val TelemetrySdkVersion: AttributeKey[String] = string( + "telemetry.sdk.version" + ) // Enum definitions - - /** - * Values for [[TelemetrySdkLanguage]]. - */ + + /** Values for [[TelemetrySdkLanguage]]. + */ abstract class TelemetrySdkLanguageValue(val value: String) object TelemetrySdkLanguageValue { + /** cpp. */ case object Cpp extends TelemetrySdkLanguageValue("cpp") + /** dotnet. */ case object Dotnet extends TelemetrySdkLanguageValue("dotnet") + /** erlang. */ case object Erlang extends TelemetrySdkLanguageValue("erlang") + /** go. */ case object Go extends TelemetrySdkLanguageValue("go") + /** java. */ case object Java extends TelemetrySdkLanguageValue("java") + /** nodejs. */ case object Nodejs extends TelemetrySdkLanguageValue("nodejs") + /** php. */ case object Php extends TelemetrySdkLanguageValue("php") + /** python. */ case object Python extends TelemetrySdkLanguageValue("python") + /** ruby. */ case object Ruby extends TelemetrySdkLanguageValue("ruby") + /** rust. */ case object Rust extends TelemetrySdkLanguageValue("rust") + /** swift. */ case object Swift extends TelemetrySdkLanguageValue("swift") + /** webjs. */ case object Webjs extends TelemetrySdkLanguageValue("webjs") + /** scala. */ case object Scala extends TelemetrySdkLanguageValue("scala") } -} \ No newline at end of file +} diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/UrlAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/UrlAttributes.scala index a391ef02e..a22fab30a 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/UrlAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/UrlAttributes.scala @@ -22,40 +22,50 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object UrlAttributes { - /** - * The URI fragment component - */ + /** The URI + * fragment component + */ val UrlFragment: AttributeKey[String] = string("url.fragment") - /** - * Absolute URL describing a network resource according to RFC3986 - * - * @note - * - For network calls, URL usually has `scheme://host[:port][path][?query][#fragment]` format, where the fragment is not transmitted over HTTP, but if it is known, it SHOULD be included nevertheless. -`url.full` MUST NOT contain credentials passed via URL in form of `https://username:password@www.example.com/`. In such case username and password SHOULD be redacted and attribute's value SHOULD be `https://REDACTED:REDACTED@www.example.com/`. -`url.full` SHOULD capture the absolute URL when it is available (or can be reconstructed). Sensitive content provided in `url.full` SHOULD be scrubbed when instrumentations can identify it. - */ + /** Absolute URL describing a network resource according to RFC3986 + * + * @note + * - For network calls, URL usually has + * `scheme://host[:port][path][?query][#fragment]` format, where the + * fragment is not transmitted over HTTP, but if it is known, it SHOULD + * be included nevertheless. `url.full` MUST NOT contain credentials + * passed via URL in form of + * `https://username:password@www.example.com/`. In such case username + * and password SHOULD be redacted and attribute's value SHOULD be + * `https://REDACTED:REDACTED@www.example.com/`. `url.full` SHOULD + * capture the absolute URL when it is available (or can be + * reconstructed). Sensitive content provided in `url.full` SHOULD be + * scrubbed when instrumentations can identify it. + */ val UrlFull: AttributeKey[String] = string("url.full") - /** - * The URI path component - * - * @note - * - Sensitive content provided in `url.path` SHOULD be scrubbed when instrumentations can identify it. - */ + /** The URI + * path component + * + * @note + * - Sensitive content provided in `url.path` SHOULD be scrubbed when + * instrumentations can identify it. + */ val UrlPath: AttributeKey[String] = string("url.path") - /** - * The URI query component - * - * @note - * - Sensitive content provided in `url.query` SHOULD be scrubbed when instrumentations can identify it. - */ + /** The URI + * query component + * + * @note + * - Sensitive content provided in `url.query` SHOULD be scrubbed when + * instrumentations can identify it. + */ val UrlQuery: AttributeKey[String] = string("url.query") - /** - * The URI scheme component identifying the used protocol. - */ + /** The URI + * scheme component identifying the used protocol. + */ val UrlScheme: AttributeKey[String] = string("url.scheme") -} \ No newline at end of file +} diff --git a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/UserAgentAttributes.scala b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/UserAgentAttributes.scala index 5f77b38ed..aced41e92 100644 --- a/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/UserAgentAttributes.scala +++ b/semconv/stable/src/main/scala/org/typelevel/otel4s/semconv/UserAgentAttributes.scala @@ -22,9 +22,10 @@ import org.typelevel.otel4s.AttributeKey._ // DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 object UserAgentAttributes { - /** - * Value of the HTTP User-Agent header sent by the client. - */ + /** Value of the HTTP + * User-Agent header sent by the client. + */ val UserAgentOriginal: AttributeKey[String] = string("user_agent.original") -} \ No newline at end of file +} From fe3d46b2f3357141327c50cba07c0f101410867e Mon Sep 17 00:00:00 2001 From: Maksym Ochenashko Date: Tue, 9 Jul 2024 08:52:13 +0300 Subject: [PATCH 4/6] Add GenAiExperimentalAttributes --- .../GenAiExperimentalAttributes.scala | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GenAiExperimentalAttributes.scala diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GenAiExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GenAiExperimentalAttributes.scala new file mode 100644 index 000000000..d47ddc9ad --- /dev/null +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/GenAiExperimentalAttributes.scala @@ -0,0 +1,110 @@ +/* + * Copyright 2023 Typelevel + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.typelevel.otel4s.semconv.experimental.attributes + +import org.typelevel.otel4s.AttributeKey +import org.typelevel.otel4s.AttributeKey._ + +// DO NOT EDIT, this is an Auto-generated file from buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 +object GenAiExperimentalAttributes { + + /** The full response received from the LLM. + * + * @note + * - It's RECOMMENDED to format completions as JSON string matching OpenAI + * messages format + */ + val GenAiCompletion: AttributeKey[String] = string("gen_ai.completion") + + /** The full prompt sent to an LLM. + * + * @note + * - It's RECOMMENDED to format prompts as JSON string matching OpenAI + * messages format + */ + val GenAiPrompt: AttributeKey[String] = string("gen_ai.prompt") + + /** The maximum number of tokens the LLM generates for a request. + */ + val GenAiRequestMaxTokens: AttributeKey[Long] = long( + "gen_ai.request.max_tokens" + ) + + /** The name of the LLM a request is being made to. + */ + val GenAiRequestModel: AttributeKey[String] = string("gen_ai.request.model") + + /** The temperature setting for the LLM request. + */ + val GenAiRequestTemperature: AttributeKey[Double] = double( + "gen_ai.request.temperature" + ) + + /** The top_p sampling setting for the LLM request. + */ + val GenAiRequestTopP: AttributeKey[Double] = double("gen_ai.request.top_p") + + /** Array of reasons the model stopped generating tokens, corresponding to + * each generation received. + */ + val GenAiResponseFinishReasons: AttributeKey[Seq[String]] = stringSeq( + "gen_ai.response.finish_reasons" + ) + + /** The unique identifier for the completion. + */ + val GenAiResponseId: AttributeKey[String] = string("gen_ai.response.id") + + /** The name of the LLM a response was generated from. + */ + val GenAiResponseModel: AttributeKey[String] = string("gen_ai.response.model") + + /** The Generative AI product as identified by the client instrumentation. + * + * @note + * - The actual GenAI product may differ from the one identified by the + * client. For example, when using OpenAI client libraries to communicate + * with Mistral, the `gen_ai.system` is set to `openai` based on the + * instrumentation's best knowledge. + */ + val GenAiSystem: AttributeKey[String] = string("gen_ai.system") + + /** The number of tokens used in the LLM response (completion). + */ + val GenAiUsageCompletionTokens: AttributeKey[Long] = long( + "gen_ai.usage.completion_tokens" + ) + + /** The number of tokens used in the LLM prompt. + */ + val GenAiUsagePromptTokens: AttributeKey[Long] = long( + "gen_ai.usage.prompt_tokens" + ) + // Enum definitions + + /** Values for [[GenAiSystem]]. + */ + abstract class GenAiSystemValue(val value: String) + object GenAiSystemValue { + + /** OpenAI. */ + case object Openai extends GenAiSystemValue("openai") + } + +} From 9738391b934b7c3b8c3ea01d33947cececc4c59e Mon Sep 17 00:00:00 2001 From: Maksym Ochenashko Date: Tue, 9 Jul 2024 09:00:37 +0300 Subject: [PATCH 5/6] Exclude duplicated 'messaging.client_id' attribute --- .../templates/SemanticAttributes.scala.j2 | 5 +++-- project/SemanticConventionsGenerator.scala | 1 + .../experimental/MessagingExperimentalAttributes.scala | 5 ----- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 b/buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 index ca498d45f..f96df1a9a 100644 --- a/buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 +++ b/buildscripts/semantic-convention/templates/SemanticAttributes.scala.j2 @@ -38,10 +38,11 @@ {{stablePkg}}.{{ root_namespace | to_camelcase(True) }}Attributes{{separator}}{{const_name}} {%- endmacro %} +{%- set excluded_attributes_list = excluded_attributes.replace("\"", "").split(' ') %} {%- if filter != 'any' %} -{%- set filtered_attributes = attributes_and_templates | select(filter) | list %} +{%- set filtered_attributes = attributes_and_templates | rejectattr("fqn", "in", excluded_attributes) | select(filter) | list %} {%- else %} -{%- set filtered_attributes = attributes_and_templates | list %} +{%- set filtered_attributes = attributes_and_templates | rejectattr("fqn", "in", excluded_attributes) | list %} {%- endif %} {%- set filtered_enums = filtered_attributes | selectattr('is_enum', 'equalto', true) | list %} diff --git a/project/SemanticConventionsGenerator.scala b/project/SemanticConventionsGenerator.scala index ecbf5057d..b6d113902 100644 --- a/project/SemanticConventionsGenerator.scala +++ b/project/SemanticConventionsGenerator.scala @@ -67,6 +67,7 @@ object SemanticConventionsGenerator { "--file-per-group", "root_namespace", // Space delimited list of root namespaces to excluded (i.e. "foo bar") "-Dexcluded_namespaces=\"ios aspnetcore signalr\"", + "-Dexcluded_attributes=messaging.client_id", s"-Dfilter=$filter", s"-DclassPrefix=$classPrefix", s"-Dpkg=$packageNameArg", diff --git a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessagingExperimentalAttributes.scala b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessagingExperimentalAttributes.scala index 32a97c64c..29ab3cabc 100644 --- a/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessagingExperimentalAttributes.scala +++ b/semconv/experimental/src/main/scala/org/typelevel/otel4s/semconv/experimental/MessagingExperimentalAttributes.scala @@ -40,11 +40,6 @@ object MessagingExperimentalAttributes { */ val MessagingClientId: AttributeKey[String] = string("messaging.client.id") - /** Deprecated, use `messaging.client.id` instead. - */ - @deprecated("Use `messaging.client.id` instead", "0.5.0") - val MessagingClientId: AttributeKey[String] = string("messaging.client_id") - /** A boolean that is true if the message destination is anonymous (could be * unnamed or have auto-generated name). */ From 897c74735b67b4567fcc440c195e5bcc42b6c632 Mon Sep 17 00:00:00 2001 From: Maksym Ochenashko Date: Tue, 9 Jul 2024 09:17:35 +0300 Subject: [PATCH 6/6] Disable MiMa checks of the `semconv-experimental` module --- build.sbt | 1 + 1 file changed, 1 insertion(+) diff --git a/build.sbt b/build.sbt index a5113fd52..fb2a2e2e5 100644 --- a/build.sbt +++ b/build.sbt @@ -576,6 +576,7 @@ lazy val `semconv-experimental` = startYear := Some(2023), // We use opentelemetry-semconv dependency to track releases of the OpenTelemetry semantic convention spec libraryDependencies += "io.opentelemetry.semconv" % "opentelemetry-semconv-incubating" % OpenTelemetrySemConvVersion % "compile-internal" intransitive (), + mimaPreviousArtifacts := Set.empty ) .settings(munitDependencies) .settings(scalafixSettings)