 8d9b62daf3
			
		
	
	8d9b62daf3
	
	
	
		
			
			This commit implements Phase 2 of the CHORUS Task Execution Engine development plan, providing a comprehensive execution environment abstraction layer with Docker container sandboxing support. ## New Features ### Core Sandbox Interface - Comprehensive ExecutionSandbox interface with isolated task execution - Support for command execution, file I/O, environment management - Resource usage monitoring and sandbox lifecycle management - Standardized error handling with SandboxError types and categories ### Docker Container Sandbox Implementation - Full Docker API integration with secure container creation - Transparent repository mounting with configurable read/write access - Advanced security policies with capability dropping and privilege controls - Comprehensive resource limits (CPU, memory, disk, processes, file handles) - Support for tmpfs mounts, masked paths, and read-only bind mounts - Container lifecycle management with proper cleanup and health monitoring ### Security & Resource Management - Configurable security policies with SELinux, AppArmor, and Seccomp support - Fine-grained capability management with secure defaults - Network isolation options with configurable DNS and proxy settings - Resource monitoring with real-time CPU, memory, and network usage tracking - Comprehensive ulimits configuration for process and file handle limits ### Repository Integration - Seamless repository mounting from local paths to container workspaces - Git configuration support with user credentials and global settings - File inclusion/exclusion patterns for selective repository access - Configurable permissions and ownership for mounted repositories ### Testing Infrastructure - Comprehensive test suite with 60+ test cases covering all functionality - Docker integration tests with Alpine Linux containers (skipped in short mode) - Mock sandbox implementation for unit testing without Docker dependencies - Security policy validation tests with read-only filesystem enforcement - Resource usage monitoring and cleanup verification tests ## Technical Details ### Dependencies Added - github.com/docker/docker v28.4.0+incompatible - Docker API client - github.com/docker/go-connections v0.6.0 - Docker connection utilities - github.com/docker/go-units v0.5.0 - Docker units and formatting - Associated Docker API dependencies for complete container management ### Architecture - Interface-driven design enabling multiple sandbox implementations - Comprehensive configuration structures for all sandbox aspects - Resource usage tracking with detailed metrics collection - Error handling with retryable error classification - Proper cleanup and resource management throughout sandbox lifecycle ### Compatibility - Maintains backward compatibility with existing CHORUS architecture - Designed for future integration with Phase 3 Core Task Execution Engine - Extensible design supporting additional sandbox implementations (VM, process) This Phase 2 implementation provides the foundation for secure, isolated task execution that will be integrated with the AI model providers from Phase 1 in the upcoming Phase 3 development. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			8997 lines
		
	
	
		
			359 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			8997 lines
		
	
	
		
			359 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright The OpenTelemetry Authors
 | |
| // SPDX-License-Identifier: Apache-2.0
 | |
| 
 | |
| // Code generated from semantic convention specification. DO NOT EDIT.
 | |
| 
 | |
| package semconv // import "go.opentelemetry.io/otel/semconv/v1.26.0"
 | |
| 
 | |
| import "go.opentelemetry.io/otel/attribute"
 | |
| 
 | |
| // The Android platform on which the Android application is running.
 | |
| const (
 | |
| 	// AndroidOSAPILevelKey is the attribute Key conforming to the
 | |
| 	// "android.os.api_level" semantic conventions. It represents the uniquely
 | |
| 	// identifies the framework API revision offered by a version
 | |
| 	// (`os.version`) of the android operating system. More information can be
 | |
| 	// found
 | |
| 	// [here](https://developer.android.com/guide/topics/manifest/uses-sdk-element#APILevels).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '33', '32'
 | |
| 	AndroidOSAPILevelKey = attribute.Key("android.os.api_level")
 | |
| )
 | |
| 
 | |
| // AndroidOSAPILevel returns an attribute KeyValue conforming to the
 | |
| // "android.os.api_level" semantic conventions. It represents the uniquely
 | |
| // identifies the framework API revision offered by a version (`os.version`) of
 | |
| // the android operating system. More information can be found
 | |
| // [here](https://developer.android.com/guide/topics/manifest/uses-sdk-element#APILevels).
 | |
| func AndroidOSAPILevel(val string) attribute.KeyValue {
 | |
| 	return AndroidOSAPILevelKey.String(val)
 | |
| }
 | |
| 
 | |
| // ASP.NET Core attributes
 | |
| const (
 | |
| 	// AspnetcoreRateLimitingResultKey is the attribute Key conforming to the
 | |
| 	// "aspnetcore.rate_limiting.result" semantic conventions. It represents
 | |
| 	// the rate-limiting result, shows whether the lease was acquired or
 | |
| 	// contains a rejection reason
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Required
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'acquired', 'request_canceled'
 | |
| 	AspnetcoreRateLimitingResultKey = attribute.Key("aspnetcore.rate_limiting.result")
 | |
| 
 | |
| 	// AspnetcoreDiagnosticsHandlerTypeKey is the attribute Key conforming to
 | |
| 	// the "aspnetcore.diagnostics.handler.type" semantic conventions. It
 | |
| 	// represents the full type name of the
 | |
| 	// [`IExceptionHandler`](https://learn.microsoft.com/dotnet/api/microsoft.aspnetcore.diagnostics.iexceptionhandler)
 | |
| 	// implementation that handled the exception.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: ConditionallyRequired (if and only if the exception
 | |
| 	// was handled by this handler.)
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'Contoso.MyHandler'
 | |
| 	AspnetcoreDiagnosticsHandlerTypeKey = attribute.Key("aspnetcore.diagnostics.handler.type")
 | |
| 
 | |
| 	// AspnetcoreDiagnosticsExceptionResultKey is the attribute Key conforming
 | |
| 	// to the "aspnetcore.diagnostics.exception.result" semantic conventions.
 | |
| 	// It represents the aSP.NET Core exception middleware handling result
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'handled', 'unhandled'
 | |
| 	AspnetcoreDiagnosticsExceptionResultKey = attribute.Key("aspnetcore.diagnostics.exception.result")
 | |
| 
 | |
| 	// AspnetcoreRateLimitingPolicyKey is the attribute Key conforming to the
 | |
| 	// "aspnetcore.rate_limiting.policy" semantic conventions. It represents
 | |
| 	// the rate limiting policy name.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'fixed', 'sliding', 'token'
 | |
| 	AspnetcoreRateLimitingPolicyKey = attribute.Key("aspnetcore.rate_limiting.policy")
 | |
| 
 | |
| 	// AspnetcoreRequestIsUnhandledKey is the attribute Key conforming to the
 | |
| 	// "aspnetcore.request.is_unhandled" semantic conventions. It represents
 | |
| 	// the flag indicating if request was handled by the application pipeline.
 | |
| 	//
 | |
| 	// Type: boolean
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: True
 | |
| 	AspnetcoreRequestIsUnhandledKey = attribute.Key("aspnetcore.request.is_unhandled")
 | |
| 
 | |
| 	// AspnetcoreRoutingIsFallbackKey is the attribute Key conforming to the
 | |
| 	// "aspnetcore.routing.is_fallback" semantic conventions. It represents a
 | |
| 	// value that indicates whether the matched route is a fallback route.
 | |
| 	//
 | |
| 	// Type: boolean
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: True
 | |
| 	AspnetcoreRoutingIsFallbackKey = attribute.Key("aspnetcore.routing.is_fallback")
 | |
| 
 | |
| 	// AspnetcoreRoutingMatchStatusKey is the attribute Key conforming to the
 | |
| 	// "aspnetcore.routing.match_status" semantic conventions. It represents
 | |
| 	// the match result - success or failure
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'success', 'failure'
 | |
| 	AspnetcoreRoutingMatchStatusKey = attribute.Key("aspnetcore.routing.match_status")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// Lease was acquired
 | |
| 	AspnetcoreRateLimitingResultAcquired = AspnetcoreRateLimitingResultKey.String("acquired")
 | |
| 	// Lease request was rejected by the endpoint limiter
 | |
| 	AspnetcoreRateLimitingResultEndpointLimiter = AspnetcoreRateLimitingResultKey.String("endpoint_limiter")
 | |
| 	// Lease request was rejected by the global limiter
 | |
| 	AspnetcoreRateLimitingResultGlobalLimiter = AspnetcoreRateLimitingResultKey.String("global_limiter")
 | |
| 	// Lease request was canceled
 | |
| 	AspnetcoreRateLimitingResultRequestCanceled = AspnetcoreRateLimitingResultKey.String("request_canceled")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// Exception was handled by the exception handling middleware
 | |
| 	AspnetcoreDiagnosticsExceptionResultHandled = AspnetcoreDiagnosticsExceptionResultKey.String("handled")
 | |
| 	// Exception was not handled by the exception handling middleware
 | |
| 	AspnetcoreDiagnosticsExceptionResultUnhandled = AspnetcoreDiagnosticsExceptionResultKey.String("unhandled")
 | |
| 	// Exception handling was skipped because the response had started
 | |
| 	AspnetcoreDiagnosticsExceptionResultSkipped = AspnetcoreDiagnosticsExceptionResultKey.String("skipped")
 | |
| 	// Exception handling didn't run because the request was aborted
 | |
| 	AspnetcoreDiagnosticsExceptionResultAborted = AspnetcoreDiagnosticsExceptionResultKey.String("aborted")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// Match succeeded
 | |
| 	AspnetcoreRoutingMatchStatusSuccess = AspnetcoreRoutingMatchStatusKey.String("success")
 | |
| 	// Match failed
 | |
| 	AspnetcoreRoutingMatchStatusFailure = AspnetcoreRoutingMatchStatusKey.String("failure")
 | |
| )
 | |
| 
 | |
| // AspnetcoreDiagnosticsHandlerType returns an attribute KeyValue conforming
 | |
| // to the "aspnetcore.diagnostics.handler.type" semantic conventions. It
 | |
| // represents the full type name of the
 | |
| // [`IExceptionHandler`](https://learn.microsoft.com/dotnet/api/microsoft.aspnetcore.diagnostics.iexceptionhandler)
 | |
| // implementation that handled the exception.
 | |
| func AspnetcoreDiagnosticsHandlerType(val string) attribute.KeyValue {
 | |
| 	return AspnetcoreDiagnosticsHandlerTypeKey.String(val)
 | |
| }
 | |
| 
 | |
| // AspnetcoreRateLimitingPolicy returns an attribute KeyValue conforming to
 | |
| // the "aspnetcore.rate_limiting.policy" semantic conventions. It represents
 | |
| // the rate limiting policy name.
 | |
| func AspnetcoreRateLimitingPolicy(val string) attribute.KeyValue {
 | |
| 	return AspnetcoreRateLimitingPolicyKey.String(val)
 | |
| }
 | |
| 
 | |
| // AspnetcoreRequestIsUnhandled returns an attribute KeyValue conforming to
 | |
| // the "aspnetcore.request.is_unhandled" semantic conventions. It represents
 | |
| // the flag indicating if request was handled by the application pipeline.
 | |
| func AspnetcoreRequestIsUnhandled(val bool) attribute.KeyValue {
 | |
| 	return AspnetcoreRequestIsUnhandledKey.Bool(val)
 | |
| }
 | |
| 
 | |
| // AspnetcoreRoutingIsFallback returns an attribute KeyValue conforming to
 | |
| // the "aspnetcore.routing.is_fallback" semantic conventions. It represents a
 | |
| // value that indicates whether the matched route is a fallback route.
 | |
| func AspnetcoreRoutingIsFallback(val bool) attribute.KeyValue {
 | |
| 	return AspnetcoreRoutingIsFallbackKey.Bool(val)
 | |
| }
 | |
| 
 | |
| // Generic attributes for AWS services.
 | |
| const (
 | |
| 	// AWSRequestIDKey is the attribute Key conforming to the "aws.request_id"
 | |
| 	// semantic conventions. It represents the AWS request ID as returned in
 | |
| 	// the response headers `x-amz-request-id` or `x-amz-requestid`.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '79b9da39-b7ae-508a-a6bc-864b2829c622', 'C9ER4AJX75574TDJ'
 | |
| 	AWSRequestIDKey = attribute.Key("aws.request_id")
 | |
| )
 | |
| 
 | |
| // AWSRequestID returns an attribute KeyValue conforming to the
 | |
| // "aws.request_id" semantic conventions. It represents the AWS request ID as
 | |
| // returned in the response headers `x-amz-request-id` or `x-amz-requestid`.
 | |
| func AWSRequestID(val string) attribute.KeyValue {
 | |
| 	return AWSRequestIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // Attributes for AWS DynamoDB.
 | |
| const (
 | |
| 	// AWSDynamoDBAttributeDefinitionsKey is the attribute Key conforming to
 | |
| 	// the "aws.dynamodb.attribute_definitions" semantic conventions. It
 | |
| 	// represents the JSON-serialized value of each item in the
 | |
| 	// `AttributeDefinitions` request field.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '{ "AttributeName": "string", "AttributeType": "string" }'
 | |
| 	AWSDynamoDBAttributeDefinitionsKey = attribute.Key("aws.dynamodb.attribute_definitions")
 | |
| 
 | |
| 	// AWSDynamoDBAttributesToGetKey is the attribute Key conforming to the
 | |
| 	// "aws.dynamodb.attributes_to_get" semantic conventions. It represents the
 | |
| 	// value of the `AttributesToGet` request parameter.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'lives', 'id'
 | |
| 	AWSDynamoDBAttributesToGetKey = attribute.Key("aws.dynamodb.attributes_to_get")
 | |
| 
 | |
| 	// AWSDynamoDBConsistentReadKey is the attribute Key conforming to the
 | |
| 	// "aws.dynamodb.consistent_read" semantic conventions. It represents the
 | |
| 	// value of the `ConsistentRead` request parameter.
 | |
| 	//
 | |
| 	// Type: boolean
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	AWSDynamoDBConsistentReadKey = attribute.Key("aws.dynamodb.consistent_read")
 | |
| 
 | |
| 	// AWSDynamoDBConsumedCapacityKey is the attribute Key conforming to the
 | |
| 	// "aws.dynamodb.consumed_capacity" semantic conventions. It represents the
 | |
| 	// JSON-serialized value of each item in the `ConsumedCapacity` response
 | |
| 	// field.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '{ "CapacityUnits": number, "GlobalSecondaryIndexes": {
 | |
| 	// "string" : { "CapacityUnits": number, "ReadCapacityUnits": number,
 | |
| 	// "WriteCapacityUnits": number } }, "LocalSecondaryIndexes": { "string" :
 | |
| 	// { "CapacityUnits": number, "ReadCapacityUnits": number,
 | |
| 	// "WriteCapacityUnits": number } }, "ReadCapacityUnits": number, "Table":
 | |
| 	// { "CapacityUnits": number, "ReadCapacityUnits": number,
 | |
| 	// "WriteCapacityUnits": number }, "TableName": "string",
 | |
| 	// "WriteCapacityUnits": number }'
 | |
| 	AWSDynamoDBConsumedCapacityKey = attribute.Key("aws.dynamodb.consumed_capacity")
 | |
| 
 | |
| 	// AWSDynamoDBCountKey is the attribute Key conforming to the
 | |
| 	// "aws.dynamodb.count" semantic conventions. It represents the value of
 | |
| 	// the `Count` response parameter.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 10
 | |
| 	AWSDynamoDBCountKey = attribute.Key("aws.dynamodb.count")
 | |
| 
 | |
| 	// AWSDynamoDBExclusiveStartTableKey is the attribute Key conforming to the
 | |
| 	// "aws.dynamodb.exclusive_start_table" semantic conventions. It represents
 | |
| 	// the value of the `ExclusiveStartTableName` request parameter.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'Users', 'CatsTable'
 | |
| 	AWSDynamoDBExclusiveStartTableKey = attribute.Key("aws.dynamodb.exclusive_start_table")
 | |
| 
 | |
| 	// AWSDynamoDBGlobalSecondaryIndexUpdatesKey is the attribute Key
 | |
| 	// conforming to the "aws.dynamodb.global_secondary_index_updates" semantic
 | |
| 	// conventions. It represents the JSON-serialized value of each item in the
 | |
| 	// `GlobalSecondaryIndexUpdates` request field.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '{ "Create": { "IndexName": "string", "KeySchema": [ {
 | |
| 	// "AttributeName": "string", "KeyType": "string" } ], "Projection": {
 | |
| 	// "NonKeyAttributes": [ "string" ], "ProjectionType": "string" },
 | |
| 	// "ProvisionedThroughput": { "ReadCapacityUnits": number,
 | |
| 	// "WriteCapacityUnits": number } }'
 | |
| 	AWSDynamoDBGlobalSecondaryIndexUpdatesKey = attribute.Key("aws.dynamodb.global_secondary_index_updates")
 | |
| 
 | |
| 	// AWSDynamoDBGlobalSecondaryIndexesKey is the attribute Key conforming to
 | |
| 	// the "aws.dynamodb.global_secondary_indexes" semantic conventions. It
 | |
| 	// represents the JSON-serialized value of each item of the
 | |
| 	// `GlobalSecondaryIndexes` request field
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '{ "IndexName": "string", "KeySchema": [ { "AttributeName":
 | |
| 	// "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [
 | |
| 	// "string" ], "ProjectionType": "string" }, "ProvisionedThroughput": {
 | |
| 	// "ReadCapacityUnits": number, "WriteCapacityUnits": number } }'
 | |
| 	AWSDynamoDBGlobalSecondaryIndexesKey = attribute.Key("aws.dynamodb.global_secondary_indexes")
 | |
| 
 | |
| 	// AWSDynamoDBIndexNameKey is the attribute Key conforming to the
 | |
| 	// "aws.dynamodb.index_name" semantic conventions. It represents the value
 | |
| 	// of the `IndexName` request parameter.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'name_to_group'
 | |
| 	AWSDynamoDBIndexNameKey = attribute.Key("aws.dynamodb.index_name")
 | |
| 
 | |
| 	// AWSDynamoDBItemCollectionMetricsKey is the attribute Key conforming to
 | |
| 	// the "aws.dynamodb.item_collection_metrics" semantic conventions. It
 | |
| 	// represents the JSON-serialized value of the `ItemCollectionMetrics`
 | |
| 	// response field.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '{ "string" : [ { "ItemCollectionKey": { "string" : { "B":
 | |
| 	// blob, "BOOL": boolean, "BS": [ blob ], "L": [ "AttributeValue" ], "M": {
 | |
| 	// "string" : "AttributeValue" }, "N": "string", "NS": [ "string" ],
 | |
| 	// "NULL": boolean, "S": "string", "SS": [ "string" ] } },
 | |
| 	// "SizeEstimateRangeGB": [ number ] } ] }'
 | |
| 	AWSDynamoDBItemCollectionMetricsKey = attribute.Key("aws.dynamodb.item_collection_metrics")
 | |
| 
 | |
| 	// AWSDynamoDBLimitKey is the attribute Key conforming to the
 | |
| 	// "aws.dynamodb.limit" semantic conventions. It represents the value of
 | |
| 	// the `Limit` request parameter.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 10
 | |
| 	AWSDynamoDBLimitKey = attribute.Key("aws.dynamodb.limit")
 | |
| 
 | |
| 	// AWSDynamoDBLocalSecondaryIndexesKey is the attribute Key conforming to
 | |
| 	// the "aws.dynamodb.local_secondary_indexes" semantic conventions. It
 | |
| 	// represents the JSON-serialized value of each item of the
 | |
| 	// `LocalSecondaryIndexes` request field.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '{ "IndexARN": "string", "IndexName": "string",
 | |
| 	// "IndexSizeBytes": number, "ItemCount": number, "KeySchema": [ {
 | |
| 	// "AttributeName": "string", "KeyType": "string" } ], "Projection": {
 | |
| 	// "NonKeyAttributes": [ "string" ], "ProjectionType": "string" } }'
 | |
| 	AWSDynamoDBLocalSecondaryIndexesKey = attribute.Key("aws.dynamodb.local_secondary_indexes")
 | |
| 
 | |
| 	// AWSDynamoDBProjectionKey is the attribute Key conforming to the
 | |
| 	// "aws.dynamodb.projection" semantic conventions. It represents the value
 | |
| 	// of the `ProjectionExpression` request parameter.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'Title', 'Title, Price, Color', 'Title, Description,
 | |
| 	// RelatedItems, ProductReviews'
 | |
| 	AWSDynamoDBProjectionKey = attribute.Key("aws.dynamodb.projection")
 | |
| 
 | |
| 	// AWSDynamoDBProvisionedReadCapacityKey is the attribute Key conforming to
 | |
| 	// the "aws.dynamodb.provisioned_read_capacity" semantic conventions. It
 | |
| 	// represents the value of the `ProvisionedThroughput.ReadCapacityUnits`
 | |
| 	// request parameter.
 | |
| 	//
 | |
| 	// Type: double
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 1.0, 2.0
 | |
| 	AWSDynamoDBProvisionedReadCapacityKey = attribute.Key("aws.dynamodb.provisioned_read_capacity")
 | |
| 
 | |
| 	// AWSDynamoDBProvisionedWriteCapacityKey is the attribute Key conforming
 | |
| 	// to the "aws.dynamodb.provisioned_write_capacity" semantic conventions.
 | |
| 	// It represents the value of the
 | |
| 	// `ProvisionedThroughput.WriteCapacityUnits` request parameter.
 | |
| 	//
 | |
| 	// Type: double
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 1.0, 2.0
 | |
| 	AWSDynamoDBProvisionedWriteCapacityKey = attribute.Key("aws.dynamodb.provisioned_write_capacity")
 | |
| 
 | |
| 	// AWSDynamoDBScanForwardKey is the attribute Key conforming to the
 | |
| 	// "aws.dynamodb.scan_forward" semantic conventions. It represents the
 | |
| 	// value of the `ScanIndexForward` request parameter.
 | |
| 	//
 | |
| 	// Type: boolean
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	AWSDynamoDBScanForwardKey = attribute.Key("aws.dynamodb.scan_forward")
 | |
| 
 | |
| 	// AWSDynamoDBScannedCountKey is the attribute Key conforming to the
 | |
| 	// "aws.dynamodb.scanned_count" semantic conventions. It represents the
 | |
| 	// value of the `ScannedCount` response parameter.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 50
 | |
| 	AWSDynamoDBScannedCountKey = attribute.Key("aws.dynamodb.scanned_count")
 | |
| 
 | |
| 	// AWSDynamoDBSegmentKey is the attribute Key conforming to the
 | |
| 	// "aws.dynamodb.segment" semantic conventions. It represents the value of
 | |
| 	// the `Segment` request parameter.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 10
 | |
| 	AWSDynamoDBSegmentKey = attribute.Key("aws.dynamodb.segment")
 | |
| 
 | |
| 	// AWSDynamoDBSelectKey is the attribute Key conforming to the
 | |
| 	// "aws.dynamodb.select" semantic conventions. It represents the value of
 | |
| 	// the `Select` request parameter.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'ALL_ATTRIBUTES', 'COUNT'
 | |
| 	AWSDynamoDBSelectKey = attribute.Key("aws.dynamodb.select")
 | |
| 
 | |
| 	// AWSDynamoDBTableCountKey is the attribute Key conforming to the
 | |
| 	// "aws.dynamodb.table_count" semantic conventions. It represents the
 | |
| 	// number of items in the `TableNames` response parameter.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 20
 | |
| 	AWSDynamoDBTableCountKey = attribute.Key("aws.dynamodb.table_count")
 | |
| 
 | |
| 	// AWSDynamoDBTableNamesKey is the attribute Key conforming to the
 | |
| 	// "aws.dynamodb.table_names" semantic conventions. It represents the keys
 | |
| 	// in the `RequestItems` object field.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'Users', 'Cats'
 | |
| 	AWSDynamoDBTableNamesKey = attribute.Key("aws.dynamodb.table_names")
 | |
| 
 | |
| 	// AWSDynamoDBTotalSegmentsKey is the attribute Key conforming to the
 | |
| 	// "aws.dynamodb.total_segments" semantic conventions. It represents the
 | |
| 	// value of the `TotalSegments` request parameter.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 100
 | |
| 	AWSDynamoDBTotalSegmentsKey = attribute.Key("aws.dynamodb.total_segments")
 | |
| )
 | |
| 
 | |
| // AWSDynamoDBAttributeDefinitions returns an attribute KeyValue conforming
 | |
| // to the "aws.dynamodb.attribute_definitions" semantic conventions. It
 | |
| // represents the JSON-serialized value of each item in the
 | |
| // `AttributeDefinitions` request field.
 | |
| func AWSDynamoDBAttributeDefinitions(val ...string) attribute.KeyValue {
 | |
| 	return AWSDynamoDBAttributeDefinitionsKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBAttributesToGet returns an attribute KeyValue conforming to
 | |
| // the "aws.dynamodb.attributes_to_get" semantic conventions. It represents the
 | |
| // value of the `AttributesToGet` request parameter.
 | |
| func AWSDynamoDBAttributesToGet(val ...string) attribute.KeyValue {
 | |
| 	return AWSDynamoDBAttributesToGetKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBConsistentRead returns an attribute KeyValue conforming to the
 | |
| // "aws.dynamodb.consistent_read" semantic conventions. It represents the value
 | |
| // of the `ConsistentRead` request parameter.
 | |
| func AWSDynamoDBConsistentRead(val bool) attribute.KeyValue {
 | |
| 	return AWSDynamoDBConsistentReadKey.Bool(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBConsumedCapacity returns an attribute KeyValue conforming to
 | |
| // the "aws.dynamodb.consumed_capacity" semantic conventions. It represents the
 | |
| // JSON-serialized value of each item in the `ConsumedCapacity` response field.
 | |
| func AWSDynamoDBConsumedCapacity(val ...string) attribute.KeyValue {
 | |
| 	return AWSDynamoDBConsumedCapacityKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBCount returns an attribute KeyValue conforming to the
 | |
| // "aws.dynamodb.count" semantic conventions. It represents the value of the
 | |
| // `Count` response parameter.
 | |
| func AWSDynamoDBCount(val int) attribute.KeyValue {
 | |
| 	return AWSDynamoDBCountKey.Int(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBExclusiveStartTable returns an attribute KeyValue conforming
 | |
| // to the "aws.dynamodb.exclusive_start_table" semantic conventions. It
 | |
| // represents the value of the `ExclusiveStartTableName` request parameter.
 | |
| func AWSDynamoDBExclusiveStartTable(val string) attribute.KeyValue {
 | |
| 	return AWSDynamoDBExclusiveStartTableKey.String(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBGlobalSecondaryIndexUpdates returns an attribute KeyValue
 | |
| // conforming to the "aws.dynamodb.global_secondary_index_updates" semantic
 | |
| // conventions. It represents the JSON-serialized value of each item in the
 | |
| // `GlobalSecondaryIndexUpdates` request field.
 | |
| func AWSDynamoDBGlobalSecondaryIndexUpdates(val ...string) attribute.KeyValue {
 | |
| 	return AWSDynamoDBGlobalSecondaryIndexUpdatesKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBGlobalSecondaryIndexes returns an attribute KeyValue
 | |
| // conforming to the "aws.dynamodb.global_secondary_indexes" semantic
 | |
| // conventions. It represents the JSON-serialized value of each item of the
 | |
| // `GlobalSecondaryIndexes` request field
 | |
| func AWSDynamoDBGlobalSecondaryIndexes(val ...string) attribute.KeyValue {
 | |
| 	return AWSDynamoDBGlobalSecondaryIndexesKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBIndexName returns an attribute KeyValue conforming to the
 | |
| // "aws.dynamodb.index_name" semantic conventions. It represents the value of
 | |
| // the `IndexName` request parameter.
 | |
| func AWSDynamoDBIndexName(val string) attribute.KeyValue {
 | |
| 	return AWSDynamoDBIndexNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBItemCollectionMetrics returns an attribute KeyValue conforming
 | |
| // to the "aws.dynamodb.item_collection_metrics" semantic conventions. It
 | |
| // represents the JSON-serialized value of the `ItemCollectionMetrics` response
 | |
| // field.
 | |
| func AWSDynamoDBItemCollectionMetrics(val string) attribute.KeyValue {
 | |
| 	return AWSDynamoDBItemCollectionMetricsKey.String(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBLimit returns an attribute KeyValue conforming to the
 | |
| // "aws.dynamodb.limit" semantic conventions. It represents the value of the
 | |
| // `Limit` request parameter.
 | |
| func AWSDynamoDBLimit(val int) attribute.KeyValue {
 | |
| 	return AWSDynamoDBLimitKey.Int(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBLocalSecondaryIndexes returns an attribute KeyValue conforming
 | |
| // to the "aws.dynamodb.local_secondary_indexes" semantic conventions. It
 | |
| // represents the JSON-serialized value of each item of the
 | |
| // `LocalSecondaryIndexes` request field.
 | |
| func AWSDynamoDBLocalSecondaryIndexes(val ...string) attribute.KeyValue {
 | |
| 	return AWSDynamoDBLocalSecondaryIndexesKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBProjection returns an attribute KeyValue conforming to the
 | |
| // "aws.dynamodb.projection" semantic conventions. It represents the value of
 | |
| // the `ProjectionExpression` request parameter.
 | |
| func AWSDynamoDBProjection(val string) attribute.KeyValue {
 | |
| 	return AWSDynamoDBProjectionKey.String(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBProvisionedReadCapacity returns an attribute KeyValue
 | |
| // conforming to the "aws.dynamodb.provisioned_read_capacity" semantic
 | |
| // conventions. It represents the value of the
 | |
| // `ProvisionedThroughput.ReadCapacityUnits` request parameter.
 | |
| func AWSDynamoDBProvisionedReadCapacity(val float64) attribute.KeyValue {
 | |
| 	return AWSDynamoDBProvisionedReadCapacityKey.Float64(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBProvisionedWriteCapacity returns an attribute KeyValue
 | |
| // conforming to the "aws.dynamodb.provisioned_write_capacity" semantic
 | |
| // conventions. It represents the value of the
 | |
| // `ProvisionedThroughput.WriteCapacityUnits` request parameter.
 | |
| func AWSDynamoDBProvisionedWriteCapacity(val float64) attribute.KeyValue {
 | |
| 	return AWSDynamoDBProvisionedWriteCapacityKey.Float64(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBScanForward returns an attribute KeyValue conforming to the
 | |
| // "aws.dynamodb.scan_forward" semantic conventions. It represents the value of
 | |
| // the `ScanIndexForward` request parameter.
 | |
| func AWSDynamoDBScanForward(val bool) attribute.KeyValue {
 | |
| 	return AWSDynamoDBScanForwardKey.Bool(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBScannedCount returns an attribute KeyValue conforming to the
 | |
| // "aws.dynamodb.scanned_count" semantic conventions. It represents the value
 | |
| // of the `ScannedCount` response parameter.
 | |
| func AWSDynamoDBScannedCount(val int) attribute.KeyValue {
 | |
| 	return AWSDynamoDBScannedCountKey.Int(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBSegment returns an attribute KeyValue conforming to the
 | |
| // "aws.dynamodb.segment" semantic conventions. It represents the value of the
 | |
| // `Segment` request parameter.
 | |
| func AWSDynamoDBSegment(val int) attribute.KeyValue {
 | |
| 	return AWSDynamoDBSegmentKey.Int(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBSelect returns an attribute KeyValue conforming to the
 | |
| // "aws.dynamodb.select" semantic conventions. It represents the value of the
 | |
| // `Select` request parameter.
 | |
| func AWSDynamoDBSelect(val string) attribute.KeyValue {
 | |
| 	return AWSDynamoDBSelectKey.String(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBTableCount returns an attribute KeyValue conforming to the
 | |
| // "aws.dynamodb.table_count" semantic conventions. It represents the number of
 | |
| // items in the `TableNames` response parameter.
 | |
| func AWSDynamoDBTableCount(val int) attribute.KeyValue {
 | |
| 	return AWSDynamoDBTableCountKey.Int(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBTableNames returns an attribute KeyValue conforming to the
 | |
| // "aws.dynamodb.table_names" semantic conventions. It represents the keys in
 | |
| // the `RequestItems` object field.
 | |
| func AWSDynamoDBTableNames(val ...string) attribute.KeyValue {
 | |
| 	return AWSDynamoDBTableNamesKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // AWSDynamoDBTotalSegments returns an attribute KeyValue conforming to the
 | |
| // "aws.dynamodb.total_segments" semantic conventions. It represents the value
 | |
| // of the `TotalSegments` request parameter.
 | |
| func AWSDynamoDBTotalSegments(val int) attribute.KeyValue {
 | |
| 	return AWSDynamoDBTotalSegmentsKey.Int(val)
 | |
| }
 | |
| 
 | |
| // Attributes for AWS Elastic Container Service (ECS).
 | |
| const (
 | |
| 	// AWSECSTaskIDKey is the attribute Key conforming to the "aws.ecs.task.id"
 | |
| 	// semantic conventions. It represents the ID of a running ECS task. The ID
 | |
| 	// MUST be extracted from `task.arn`.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: ConditionallyRequired (If and only if `task.arn` is
 | |
| 	// populated.)
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '10838bed-421f-43ef-870a-f43feacbbb5b',
 | |
| 	// '23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd'
 | |
| 	AWSECSTaskIDKey = attribute.Key("aws.ecs.task.id")
 | |
| 
 | |
| 	// AWSECSClusterARNKey is the attribute Key conforming to the
 | |
| 	// "aws.ecs.cluster.arn" semantic conventions. It represents the ARN of an
 | |
| 	// [ECS
 | |
| 	// cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster'
 | |
| 	AWSECSClusterARNKey = attribute.Key("aws.ecs.cluster.arn")
 | |
| 
 | |
| 	// AWSECSContainerARNKey is the attribute Key conforming to the
 | |
| 	// "aws.ecs.container.arn" semantic conventions. It represents the Amazon
 | |
| 	// Resource Name (ARN) of an [ECS container
 | |
| 	// instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples:
 | |
| 	// 'arn:aws:ecs:us-west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9'
 | |
| 	AWSECSContainerARNKey = attribute.Key("aws.ecs.container.arn")
 | |
| 
 | |
| 	// AWSECSLaunchtypeKey is the attribute Key conforming to the
 | |
| 	// "aws.ecs.launchtype" semantic conventions. It represents the [launch
 | |
| 	// type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html)
 | |
| 	// for an ECS task.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	AWSECSLaunchtypeKey = attribute.Key("aws.ecs.launchtype")
 | |
| 
 | |
| 	// AWSECSTaskARNKey is the attribute Key conforming to the
 | |
| 	// "aws.ecs.task.arn" semantic conventions. It represents the ARN of a
 | |
| 	// running [ECS
 | |
| 	// task](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples:
 | |
| 	// 'arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b',
 | |
| 	// 'arn:aws:ecs:us-west-1:123456789123:task/my-cluster/task-id/23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd'
 | |
| 	AWSECSTaskARNKey = attribute.Key("aws.ecs.task.arn")
 | |
| 
 | |
| 	// AWSECSTaskFamilyKey is the attribute Key conforming to the
 | |
| 	// "aws.ecs.task.family" semantic conventions. It represents the family
 | |
| 	// name of the [ECS task
 | |
| 	// definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html)
 | |
| 	// used to create the ECS task.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'opentelemetry-family'
 | |
| 	AWSECSTaskFamilyKey = attribute.Key("aws.ecs.task.family")
 | |
| 
 | |
| 	// AWSECSTaskRevisionKey is the attribute Key conforming to the
 | |
| 	// "aws.ecs.task.revision" semantic conventions. It represents the revision
 | |
| 	// for the task definition used to create the ECS task.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '8', '26'
 | |
| 	AWSECSTaskRevisionKey = attribute.Key("aws.ecs.task.revision")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// ec2
 | |
| 	AWSECSLaunchtypeEC2 = AWSECSLaunchtypeKey.String("ec2")
 | |
| 	// fargate
 | |
| 	AWSECSLaunchtypeFargate = AWSECSLaunchtypeKey.String("fargate")
 | |
| )
 | |
| 
 | |
| // AWSECSTaskID returns an attribute KeyValue conforming to the
 | |
| // "aws.ecs.task.id" semantic conventions. It represents the ID of a running
 | |
| // ECS task. The ID MUST be extracted from `task.arn`.
 | |
| func AWSECSTaskID(val string) attribute.KeyValue {
 | |
| 	return AWSECSTaskIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // AWSECSClusterARN returns an attribute KeyValue conforming to the
 | |
| // "aws.ecs.cluster.arn" semantic conventions. It represents the ARN of an [ECS
 | |
| // cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html).
 | |
| func AWSECSClusterARN(val string) attribute.KeyValue {
 | |
| 	return AWSECSClusterARNKey.String(val)
 | |
| }
 | |
| 
 | |
| // AWSECSContainerARN returns an attribute KeyValue conforming to the
 | |
| // "aws.ecs.container.arn" semantic conventions. It represents the Amazon
 | |
| // Resource Name (ARN) of an [ECS container
 | |
| // instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html).
 | |
| func AWSECSContainerARN(val string) attribute.KeyValue {
 | |
| 	return AWSECSContainerARNKey.String(val)
 | |
| }
 | |
| 
 | |
| // AWSECSTaskARN returns an attribute KeyValue conforming to the
 | |
| // "aws.ecs.task.arn" semantic conventions. It represents the ARN of a running
 | |
| // [ECS
 | |
| // task](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids).
 | |
| func AWSECSTaskARN(val string) attribute.KeyValue {
 | |
| 	return AWSECSTaskARNKey.String(val)
 | |
| }
 | |
| 
 | |
| // AWSECSTaskFamily returns an attribute KeyValue conforming to the
 | |
| // "aws.ecs.task.family" semantic conventions. It represents the family name of
 | |
| // the [ECS task
 | |
| // definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html)
 | |
| // used to create the ECS task.
 | |
| func AWSECSTaskFamily(val string) attribute.KeyValue {
 | |
| 	return AWSECSTaskFamilyKey.String(val)
 | |
| }
 | |
| 
 | |
| // AWSECSTaskRevision returns an attribute KeyValue conforming to the
 | |
| // "aws.ecs.task.revision" semantic conventions. It represents the revision for
 | |
| // the task definition used to create the ECS task.
 | |
| func AWSECSTaskRevision(val string) attribute.KeyValue {
 | |
| 	return AWSECSTaskRevisionKey.String(val)
 | |
| }
 | |
| 
 | |
| // Attributes for AWS Elastic Kubernetes Service (EKS).
 | |
| const (
 | |
| 	// AWSEKSClusterARNKey is the attribute Key conforming to the
 | |
| 	// "aws.eks.cluster.arn" semantic conventions. It represents the ARN of an
 | |
| 	// EKS cluster.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster'
 | |
| 	AWSEKSClusterARNKey = attribute.Key("aws.eks.cluster.arn")
 | |
| )
 | |
| 
 | |
| // AWSEKSClusterARN returns an attribute KeyValue conforming to the
 | |
| // "aws.eks.cluster.arn" semantic conventions. It represents the ARN of an EKS
 | |
| // cluster.
 | |
| func AWSEKSClusterARN(val string) attribute.KeyValue {
 | |
| 	return AWSEKSClusterARNKey.String(val)
 | |
| }
 | |
| 
 | |
| // Attributes for AWS Logs.
 | |
| const (
 | |
| 	// AWSLogGroupARNsKey is the attribute Key conforming to the
 | |
| 	// "aws.log.group.arns" semantic conventions. It represents the Amazon
 | |
| 	// Resource Name(s) (ARN) of the AWS log group(s).
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples:
 | |
| 	// 'arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*'
 | |
| 	// Note: See the [log group ARN format
 | |
| 	// documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format).
 | |
| 	AWSLogGroupARNsKey = attribute.Key("aws.log.group.arns")
 | |
| 
 | |
| 	// AWSLogGroupNamesKey is the attribute Key conforming to the
 | |
| 	// "aws.log.group.names" semantic conventions. It represents the name(s) of
 | |
| 	// the AWS log group(s) an application is writing to.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '/aws/lambda/my-function', 'opentelemetry-service'
 | |
| 	// 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.
 | |
| 	AWSLogGroupNamesKey = attribute.Key("aws.log.group.names")
 | |
| 
 | |
| 	// AWSLogStreamARNsKey is the attribute Key conforming to the
 | |
| 	// "aws.log.stream.arns" semantic conventions. It represents the ARN(s) of
 | |
| 	// the AWS log stream(s).
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples:
 | |
| 	// 'arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b'
 | |
| 	// Note: See the [log stream ARN format
 | |
| 	// documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format).
 | |
| 	// One log group can contain several log streams, so these ARNs necessarily
 | |
| 	// identify both a log group and a log stream.
 | |
| 	AWSLogStreamARNsKey = attribute.Key("aws.log.stream.arns")
 | |
| 
 | |
| 	// AWSLogStreamNamesKey is the attribute Key conforming to the
 | |
| 	// "aws.log.stream.names" semantic conventions. It represents the name(s)
 | |
| 	// of the AWS log stream(s) an application is writing to.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'logs/main/10838bed-421f-43ef-870a-f43feacbbb5b'
 | |
| 	AWSLogStreamNamesKey = attribute.Key("aws.log.stream.names")
 | |
| )
 | |
| 
 | |
| // AWSLogGroupARNs returns an attribute KeyValue conforming to the
 | |
| // "aws.log.group.arns" semantic conventions. It represents the Amazon Resource
 | |
| // Name(s) (ARN) of the AWS log group(s).
 | |
| func AWSLogGroupARNs(val ...string) attribute.KeyValue {
 | |
| 	return AWSLogGroupARNsKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // AWSLogGroupNames returns an attribute KeyValue conforming to the
 | |
| // "aws.log.group.names" semantic conventions. It represents the name(s) of the
 | |
| // AWS log group(s) an application is writing to.
 | |
| func AWSLogGroupNames(val ...string) attribute.KeyValue {
 | |
| 	return AWSLogGroupNamesKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // AWSLogStreamARNs returns an attribute KeyValue conforming to the
 | |
| // "aws.log.stream.arns" semantic conventions. It represents the ARN(s) of the
 | |
| // AWS log stream(s).
 | |
| func AWSLogStreamARNs(val ...string) attribute.KeyValue {
 | |
| 	return AWSLogStreamARNsKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // AWSLogStreamNames returns an attribute KeyValue conforming to the
 | |
| // "aws.log.stream.names" semantic conventions. It represents the name(s) of
 | |
| // the AWS log stream(s) an application is writing to.
 | |
| func AWSLogStreamNames(val ...string) attribute.KeyValue {
 | |
| 	return AWSLogStreamNamesKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // Attributes for AWS Lambda.
 | |
| const (
 | |
| 	// AWSLambdaInvokedARNKey is the attribute Key conforming to the
 | |
| 	// "aws.lambda.invoked_arn" semantic conventions. It represents 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).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'arn:aws:lambda:us-east-1:123456:function:myfunction:myalias'
 | |
| 	// Note: This may be different from `cloud.resource_id` if an alias is
 | |
| 	// involved.
 | |
| 	AWSLambdaInvokedARNKey = attribute.Key("aws.lambda.invoked_arn")
 | |
| )
 | |
| 
 | |
| // AWSLambdaInvokedARN returns an attribute KeyValue conforming to the
 | |
| // "aws.lambda.invoked_arn" semantic conventions. It represents 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).
 | |
| func AWSLambdaInvokedARN(val string) attribute.KeyValue {
 | |
| 	return AWSLambdaInvokedARNKey.String(val)
 | |
| }
 | |
| 
 | |
| // Attributes for AWS S3.
 | |
| const (
 | |
| 	// AWSS3BucketKey is the attribute Key conforming to the "aws.s3.bucket"
 | |
| 	// semantic conventions. It represents the S3 bucket name the request
 | |
| 	// refers to. Corresponds to the `--bucket` parameter of the [S3
 | |
| 	// API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html)
 | |
| 	// operations.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'some-bucket-name'
 | |
| 	// 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`.
 | |
| 	AWSS3BucketKey = attribute.Key("aws.s3.bucket")
 | |
| 
 | |
| 	// AWSS3CopySourceKey is the attribute Key conforming to the
 | |
| 	// "aws.s3.copy_source" semantic conventions. It represents the source
 | |
| 	// object (in the form `bucket`/`key`) for the copy operation.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'someFile.yml'
 | |
| 	// 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](https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html).
 | |
| 	// This applies in particular to the following operations:
 | |
| 	//
 | |
| 	// -
 | |
| 	// [copy-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html)
 | |
| 	// -
 | |
| 	// [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html)
 | |
| 	AWSS3CopySourceKey = attribute.Key("aws.s3.copy_source")
 | |
| 
 | |
| 	// AWSS3DeleteKey is the attribute Key conforming to the "aws.s3.delete"
 | |
| 	// semantic conventions. It represents the delete request container that
 | |
| 	// specifies the objects to be deleted.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples:
 | |
| 	// 'Objects=[{Key=string,VersionID=string},{Key=string,VersionID=string}],Quiet=boolean'
 | |
| 	// Note: The `delete` attribute is only applicable to the
 | |
| 	// [delete-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html)
 | |
| 	// operation.
 | |
| 	// The `delete` attribute corresponds to the `--delete` parameter of the
 | |
| 	// [delete-objects operation within the S3
 | |
| 	// API](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-objects.html).
 | |
| 	AWSS3DeleteKey = attribute.Key("aws.s3.delete")
 | |
| 
 | |
| 	// AWSS3KeyKey is the attribute Key conforming to the "aws.s3.key" semantic
 | |
| 	// conventions. It represents the S3 object key the request refers to.
 | |
| 	// Corresponds to the `--key` parameter of the [S3
 | |
| 	// API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html)
 | |
| 	// operations.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'someFile.yml'
 | |
| 	// 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](https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html)
 | |
| 	// -
 | |
| 	// [delete-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html)
 | |
| 	// -
 | |
| 	// [get-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/get-object.html)
 | |
| 	// -
 | |
| 	// [head-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/head-object.html)
 | |
| 	// -
 | |
| 	// [put-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html)
 | |
| 	// -
 | |
| 	// [restore-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/restore-object.html)
 | |
| 	// -
 | |
| 	// [select-object-content](https://docs.aws.amazon.com/cli/latest/reference/s3api/select-object-content.html)
 | |
| 	// -
 | |
| 	// [abort-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html)
 | |
| 	// -
 | |
| 	// [complete-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html)
 | |
| 	// -
 | |
| 	// [create-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/create-multipart-upload.html)
 | |
| 	// -
 | |
| 	// [list-parts](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-parts.html)
 | |
| 	// -
 | |
| 	// [upload-part](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html)
 | |
| 	// -
 | |
| 	// [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html)
 | |
| 	AWSS3KeyKey = attribute.Key("aws.s3.key")
 | |
| 
 | |
| 	// AWSS3PartNumberKey is the attribute Key conforming to the
 | |
| 	// "aws.s3.part_number" semantic conventions. It represents the part number
 | |
| 	// of the part being uploaded in a multipart-upload operation. This is a
 | |
| 	// positive integer between 1 and 10,000.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 3456
 | |
| 	// Note: The `part_number` attribute is only applicable to the
 | |
| 	// [upload-part](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html)
 | |
| 	// and
 | |
| 	// [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html)
 | |
| 	// operations.
 | |
| 	// The `part_number` attribute corresponds to the `--part-number` parameter
 | |
| 	// of the
 | |
| 	// [upload-part operation within the S3
 | |
| 	// API](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html).
 | |
| 	AWSS3PartNumberKey = attribute.Key("aws.s3.part_number")
 | |
| 
 | |
| 	// AWSS3UploadIDKey is the attribute Key conforming to the
 | |
| 	// "aws.s3.upload_id" semantic conventions. It represents the upload ID
 | |
| 	// that identifies the multipart upload.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'dfRtDYWFbkRONycy.Yxwh66Yjlx.cph0gtNBtJ'
 | |
| 	// Note: The `upload_id` attribute applies to S3 multipart-upload
 | |
| 	// operations and corresponds to the `--upload-id` parameter
 | |
| 	// of the [S3
 | |
| 	// API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html)
 | |
| 	// multipart operations.
 | |
| 	// This applies in particular to the following operations:
 | |
| 	//
 | |
| 	// -
 | |
| 	// [abort-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html)
 | |
| 	// -
 | |
| 	// [complete-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html)
 | |
| 	// -
 | |
| 	// [list-parts](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-parts.html)
 | |
| 	// -
 | |
| 	// [upload-part](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html)
 | |
| 	// -
 | |
| 	// [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html)
 | |
| 	AWSS3UploadIDKey = attribute.Key("aws.s3.upload_id")
 | |
| )
 | |
| 
 | |
| // AWSS3Bucket returns an attribute KeyValue conforming to the
 | |
| // "aws.s3.bucket" semantic conventions. It represents the S3 bucket name the
 | |
| // request refers to. Corresponds to the `--bucket` parameter of the [S3
 | |
| // API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html)
 | |
| // operations.
 | |
| func AWSS3Bucket(val string) attribute.KeyValue {
 | |
| 	return AWSS3BucketKey.String(val)
 | |
| }
 | |
| 
 | |
| // AWSS3CopySource returns an attribute KeyValue conforming to the
 | |
| // "aws.s3.copy_source" semantic conventions. It represents the source object
 | |
| // (in the form `bucket`/`key`) for the copy operation.
 | |
| func AWSS3CopySource(val string) attribute.KeyValue {
 | |
| 	return AWSS3CopySourceKey.String(val)
 | |
| }
 | |
| 
 | |
| // AWSS3Delete returns an attribute KeyValue conforming to the
 | |
| // "aws.s3.delete" semantic conventions. It represents the delete request
 | |
| // container that specifies the objects to be deleted.
 | |
| func AWSS3Delete(val string) attribute.KeyValue {
 | |
| 	return AWSS3DeleteKey.String(val)
 | |
| }
 | |
| 
 | |
| // AWSS3Key returns an attribute KeyValue conforming to the "aws.s3.key"
 | |
| // semantic conventions. It represents the S3 object key the request refers to.
 | |
| // Corresponds to the `--key` parameter of the [S3
 | |
| // API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html)
 | |
| // operations.
 | |
| func AWSS3Key(val string) attribute.KeyValue {
 | |
| 	return AWSS3KeyKey.String(val)
 | |
| }
 | |
| 
 | |
| // AWSS3PartNumber returns an attribute KeyValue conforming to the
 | |
| // "aws.s3.part_number" semantic conventions. It represents the part number of
 | |
| // the part being uploaded in a multipart-upload operation. This is a positive
 | |
| // integer between 1 and 10,000.
 | |
| func AWSS3PartNumber(val int) attribute.KeyValue {
 | |
| 	return AWSS3PartNumberKey.Int(val)
 | |
| }
 | |
| 
 | |
| // AWSS3UploadID returns an attribute KeyValue conforming to the
 | |
| // "aws.s3.upload_id" semantic conventions. It represents the upload ID that
 | |
| // identifies the multipart upload.
 | |
| func AWSS3UploadID(val string) attribute.KeyValue {
 | |
| 	return AWSS3UploadIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // The web browser attributes
 | |
| const (
 | |
| 	// BrowserBrandsKey is the attribute Key conforming to the "browser.brands"
 | |
| 	// semantic conventions. It represents the array of brand name and version
 | |
| 	// separated by a space
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: ' Not A;Brand 99', 'Chromium 99', 'Chrome 99'
 | |
| 	// Note: This value is intended to be taken from the [UA client hints
 | |
| 	// API](https://wicg.github.io/ua-client-hints/#interface)
 | |
| 	// (`navigator.userAgentData.brands`).
 | |
| 	BrowserBrandsKey = attribute.Key("browser.brands")
 | |
| 
 | |
| 	// BrowserLanguageKey is the attribute Key conforming to the
 | |
| 	// "browser.language" semantic conventions. It represents the preferred
 | |
| 	// language of the user using the browser
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'en', 'en-US', 'fr', 'fr-FR'
 | |
| 	// Note: This value is intended to be taken from the Navigator API
 | |
| 	// `navigator.language`.
 | |
| 	BrowserLanguageKey = attribute.Key("browser.language")
 | |
| 
 | |
| 	// BrowserMobileKey is the attribute Key conforming to the "browser.mobile"
 | |
| 	// semantic conventions. It represents a boolean that is true if the
 | |
| 	// browser is running on a mobile device
 | |
| 	//
 | |
| 	// Type: boolean
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Note: This value is intended to be taken from the [UA client hints
 | |
| 	// API](https://wicg.github.io/ua-client-hints/#interface)
 | |
| 	// (`navigator.userAgentData.mobile`). If unavailable, this attribute
 | |
| 	// SHOULD be left unset.
 | |
| 	BrowserMobileKey = attribute.Key("browser.mobile")
 | |
| 
 | |
| 	// BrowserPlatformKey is the attribute Key conforming to the
 | |
| 	// "browser.platform" semantic conventions. It represents the platform on
 | |
| 	// which the browser is running
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'Windows', 'macOS', 'Android'
 | |
| 	// Note: This value is intended to be taken from the [UA client hints
 | |
| 	// API](https://wicg.github.io/ua-client-hints/#interface)
 | |
| 	// (`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](https://wicg.github.io/ua-client-hints/#sec-ch-ua-platform).
 | |
| 	// Note that some (but not all) of these values can overlap with values in
 | |
| 	// the [`os.type` and `os.name` attributes](./os.md). However, for
 | |
| 	// consistency, the values in the `browser.platform` attribute should
 | |
| 	// capture the exact value that the user agent provides.
 | |
| 	BrowserPlatformKey = attribute.Key("browser.platform")
 | |
| )
 | |
| 
 | |
| // BrowserBrands returns an attribute KeyValue conforming to the
 | |
| // "browser.brands" semantic conventions. It represents the array of brand name
 | |
| // and version separated by a space
 | |
| func BrowserBrands(val ...string) attribute.KeyValue {
 | |
| 	return BrowserBrandsKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // BrowserLanguage returns an attribute KeyValue conforming to the
 | |
| // "browser.language" semantic conventions. It represents the preferred
 | |
| // language of the user using the browser
 | |
| func BrowserLanguage(val string) attribute.KeyValue {
 | |
| 	return BrowserLanguageKey.String(val)
 | |
| }
 | |
| 
 | |
| // BrowserMobile returns an attribute KeyValue conforming to the
 | |
| // "browser.mobile" semantic conventions. It represents a boolean that is true
 | |
| // if the browser is running on a mobile device
 | |
| func BrowserMobile(val bool) attribute.KeyValue {
 | |
| 	return BrowserMobileKey.Bool(val)
 | |
| }
 | |
| 
 | |
| // BrowserPlatform returns an attribute KeyValue conforming to the
 | |
| // "browser.platform" semantic conventions. It represents the platform on which
 | |
| // the browser is running
 | |
| func BrowserPlatform(val string) attribute.KeyValue {
 | |
| 	return BrowserPlatformKey.String(val)
 | |
| }
 | |
| 
 | |
| // These attributes may be used to describe the client in a connection-based
 | |
| // network interaction where there is one side that initiates the connection
 | |
| // (the client is the side that initiates the connection). This covers all TCP
 | |
| // network interactions since TCP is connection-based and one side initiates
 | |
| // the connection (an exception is made for peer-to-peer communication over TCP
 | |
| // where the "user-facing" surface of the protocol / API doesn't expose a clear
 | |
| // notion of client and server). This also covers UDP network interactions
 | |
| // where one side initiates the interaction, e.g. QUIC (HTTP/3) and DNS.
 | |
| const (
 | |
| 	// ClientAddressKey is the attribute Key conforming to the "client.address"
 | |
| 	// semantic conventions. It represents the client address - domain name if
 | |
| 	// available without reverse DNS lookup; otherwise, IP address or Unix
 | |
| 	// domain socket name.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'client.example.com', '10.1.2.80', '/tmp/my.sock'
 | |
| 	// 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.
 | |
| 	ClientAddressKey = attribute.Key("client.address")
 | |
| 
 | |
| 	// ClientPortKey is the attribute Key conforming to the "client.port"
 | |
| 	// semantic conventions. It represents the client port number.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 65123
 | |
| 	// 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.
 | |
| 	ClientPortKey = attribute.Key("client.port")
 | |
| )
 | |
| 
 | |
| // ClientAddress returns an attribute KeyValue conforming to the
 | |
| // "client.address" semantic conventions. It represents the client address -
 | |
| // domain name if available without reverse DNS lookup; otherwise, IP address
 | |
| // or Unix domain socket name.
 | |
| func ClientAddress(val string) attribute.KeyValue {
 | |
| 	return ClientAddressKey.String(val)
 | |
| }
 | |
| 
 | |
| // ClientPort returns an attribute KeyValue conforming to the "client.port"
 | |
| // semantic conventions. It represents the client port number.
 | |
| func ClientPort(val int) attribute.KeyValue {
 | |
| 	return ClientPortKey.Int(val)
 | |
| }
 | |
| 
 | |
| // A cloud environment (e.g. GCP, Azure, AWS).
 | |
| const (
 | |
| 	// CloudAccountIDKey is the attribute Key conforming to the
 | |
| 	// "cloud.account.id" semantic conventions. It represents the cloud account
 | |
| 	// ID the resource is assigned to.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '111111111111', 'opentelemetry'
 | |
| 	CloudAccountIDKey = attribute.Key("cloud.account.id")
 | |
| 
 | |
| 	// CloudAvailabilityZoneKey is the attribute Key conforming to the
 | |
| 	// "cloud.availability_zone" semantic conventions. It represents the cloud
 | |
| 	// regions often have multiple, isolated locations known as zones to
 | |
| 	// increase availability. Availability zone represents the zone where the
 | |
| 	// resource is running.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'us-east-1c'
 | |
| 	// Note: Availability zones are called "zones" on Alibaba Cloud and Google
 | |
| 	// Cloud.
 | |
| 	CloudAvailabilityZoneKey = attribute.Key("cloud.availability_zone")
 | |
| 
 | |
| 	// CloudPlatformKey is the attribute Key conforming to the "cloud.platform"
 | |
| 	// semantic conventions. It represents the cloud platform in use.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Note: The prefix of the service SHOULD match the one specified in
 | |
| 	// `cloud.provider`.
 | |
| 	CloudPlatformKey = attribute.Key("cloud.platform")
 | |
| 
 | |
| 	// CloudProviderKey is the attribute Key conforming to the "cloud.provider"
 | |
| 	// semantic conventions. It represents the name of the cloud provider.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	CloudProviderKey = attribute.Key("cloud.provider")
 | |
| 
 | |
| 	// CloudRegionKey is the attribute Key conforming to the "cloud.region"
 | |
| 	// semantic conventions. It represents the geographical region the resource
 | |
| 	// is running.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'us-central1', 'us-east-1'
 | |
| 	// Note: Refer to your provider's docs to see the available regions, for
 | |
| 	// example [Alibaba Cloud
 | |
| 	// regions](https://www.alibabacloud.com/help/doc-detail/40654.htm), [AWS
 | |
| 	// regions](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/),
 | |
| 	// [Azure
 | |
| 	// regions](https://azure.microsoft.com/global-infrastructure/geographies/),
 | |
| 	// [Google Cloud regions](https://cloud.google.com/about/locations), or
 | |
| 	// [Tencent Cloud
 | |
| 	// regions](https://www.tencentcloud.com/document/product/213/6091).
 | |
| 	CloudRegionKey = attribute.Key("cloud.region")
 | |
| 
 | |
| 	// CloudResourceIDKey is the attribute Key conforming to the
 | |
| 	// "cloud.resource_id" semantic conventions. It represents the cloud
 | |
| 	// provider-specific native identifier of the monitored cloud resource
 | |
| 	// (e.g. an
 | |
| 	// [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 | |
| 	// on AWS, a [fully qualified resource
 | |
| 	// ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id)
 | |
| 	// on Azure, a [full resource
 | |
| 	// name](https://cloud.google.com/apis/design/resource_names#full_resource_name)
 | |
| 	// on GCP)
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function',
 | |
| 	// '//run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID',
 | |
| 	// '/subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>'
 | |
| 	// 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](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).
 | |
| 	//   Take care not to use the "invoked ARN" directly but replace any
 | |
| 	//   [alias
 | |
| 	// suffix](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html)
 | |
| 	//   with the resolved function version, as the same runtime instance may
 | |
| 	// be invokable with
 | |
| 	//   multiple different aliases.
 | |
| 	// * **GCP:** The [URI of the
 | |
| 	// resource](https://cloud.google.com/iam/docs/full-resource-names)
 | |
| 	// * **Azure:** The [Fully Qualified Resource
 | |
| 	// ID](https://docs.microsoft.com/rest/api/resources/resources/get-by-id)
 | |
| 	// of the invoked function,
 | |
| 	//   *not* the function app, having the form
 | |
| 	// `/subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>`.
 | |
| 	//   This means that a span attribute MUST be used, as an Azure function
 | |
| 	// app can host multiple functions that would usually share
 | |
| 	//   a TracerProvider.
 | |
| 	CloudResourceIDKey = attribute.Key("cloud.resource_id")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// Alibaba Cloud Elastic Compute Service
 | |
| 	CloudPlatformAlibabaCloudECS = CloudPlatformKey.String("alibaba_cloud_ecs")
 | |
| 	// Alibaba Cloud Function Compute
 | |
| 	CloudPlatformAlibabaCloudFc = CloudPlatformKey.String("alibaba_cloud_fc")
 | |
| 	// Red Hat OpenShift on Alibaba Cloud
 | |
| 	CloudPlatformAlibabaCloudOpenshift = CloudPlatformKey.String("alibaba_cloud_openshift")
 | |
| 	// AWS Elastic Compute Cloud
 | |
| 	CloudPlatformAWSEC2 = CloudPlatformKey.String("aws_ec2")
 | |
| 	// AWS Elastic Container Service
 | |
| 	CloudPlatformAWSECS = CloudPlatformKey.String("aws_ecs")
 | |
| 	// AWS Elastic Kubernetes Service
 | |
| 	CloudPlatformAWSEKS = CloudPlatformKey.String("aws_eks")
 | |
| 	// AWS Lambda
 | |
| 	CloudPlatformAWSLambda = CloudPlatformKey.String("aws_lambda")
 | |
| 	// AWS Elastic Beanstalk
 | |
| 	CloudPlatformAWSElasticBeanstalk = CloudPlatformKey.String("aws_elastic_beanstalk")
 | |
| 	// AWS App Runner
 | |
| 	CloudPlatformAWSAppRunner = CloudPlatformKey.String("aws_app_runner")
 | |
| 	// Red Hat OpenShift on AWS (ROSA)
 | |
| 	CloudPlatformAWSOpenshift = CloudPlatformKey.String("aws_openshift")
 | |
| 	// Azure Virtual Machines
 | |
| 	CloudPlatformAzureVM = CloudPlatformKey.String("azure_vm")
 | |
| 	// Azure Container Apps
 | |
| 	CloudPlatformAzureContainerApps = CloudPlatformKey.String("azure_container_apps")
 | |
| 	// Azure Container Instances
 | |
| 	CloudPlatformAzureContainerInstances = CloudPlatformKey.String("azure_container_instances")
 | |
| 	// Azure Kubernetes Service
 | |
| 	CloudPlatformAzureAKS = CloudPlatformKey.String("azure_aks")
 | |
| 	// Azure Functions
 | |
| 	CloudPlatformAzureFunctions = CloudPlatformKey.String("azure_functions")
 | |
| 	// Azure App Service
 | |
| 	CloudPlatformAzureAppService = CloudPlatformKey.String("azure_app_service")
 | |
| 	// Azure Red Hat OpenShift
 | |
| 	CloudPlatformAzureOpenshift = CloudPlatformKey.String("azure_openshift")
 | |
| 	// Google Bare Metal Solution (BMS)
 | |
| 	CloudPlatformGCPBareMetalSolution = CloudPlatformKey.String("gcp_bare_metal_solution")
 | |
| 	// Google Cloud Compute Engine (GCE)
 | |
| 	CloudPlatformGCPComputeEngine = CloudPlatformKey.String("gcp_compute_engine")
 | |
| 	// Google Cloud Run
 | |
| 	CloudPlatformGCPCloudRun = CloudPlatformKey.String("gcp_cloud_run")
 | |
| 	// Google Cloud Kubernetes Engine (GKE)
 | |
| 	CloudPlatformGCPKubernetesEngine = CloudPlatformKey.String("gcp_kubernetes_engine")
 | |
| 	// Google Cloud Functions (GCF)
 | |
| 	CloudPlatformGCPCloudFunctions = CloudPlatformKey.String("gcp_cloud_functions")
 | |
| 	// Google Cloud App Engine (GAE)
 | |
| 	CloudPlatformGCPAppEngine = CloudPlatformKey.String("gcp_app_engine")
 | |
| 	// Red Hat OpenShift on Google Cloud
 | |
| 	CloudPlatformGCPOpenshift = CloudPlatformKey.String("gcp_openshift")
 | |
| 	// Red Hat OpenShift on IBM Cloud
 | |
| 	CloudPlatformIbmCloudOpenshift = CloudPlatformKey.String("ibm_cloud_openshift")
 | |
| 	// Tencent Cloud Cloud Virtual Machine (CVM)
 | |
| 	CloudPlatformTencentCloudCvm = CloudPlatformKey.String("tencent_cloud_cvm")
 | |
| 	// Tencent Cloud Elastic Kubernetes Service (EKS)
 | |
| 	CloudPlatformTencentCloudEKS = CloudPlatformKey.String("tencent_cloud_eks")
 | |
| 	// Tencent Cloud Serverless Cloud Function (SCF)
 | |
| 	CloudPlatformTencentCloudScf = CloudPlatformKey.String("tencent_cloud_scf")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// Alibaba Cloud
 | |
| 	CloudProviderAlibabaCloud = CloudProviderKey.String("alibaba_cloud")
 | |
| 	// Amazon Web Services
 | |
| 	CloudProviderAWS = CloudProviderKey.String("aws")
 | |
| 	// Microsoft Azure
 | |
| 	CloudProviderAzure = CloudProviderKey.String("azure")
 | |
| 	// Google Cloud Platform
 | |
| 	CloudProviderGCP = CloudProviderKey.String("gcp")
 | |
| 	// Heroku Platform as a Service
 | |
| 	CloudProviderHeroku = CloudProviderKey.String("heroku")
 | |
| 	// IBM Cloud
 | |
| 	CloudProviderIbmCloud = CloudProviderKey.String("ibm_cloud")
 | |
| 	// Tencent Cloud
 | |
| 	CloudProviderTencentCloud = CloudProviderKey.String("tencent_cloud")
 | |
| )
 | |
| 
 | |
| // CloudAccountID returns an attribute KeyValue conforming to the
 | |
| // "cloud.account.id" semantic conventions. It represents the cloud account ID
 | |
| // the resource is assigned to.
 | |
| func CloudAccountID(val string) attribute.KeyValue {
 | |
| 	return CloudAccountIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // CloudAvailabilityZone returns an attribute KeyValue conforming to the
 | |
| // "cloud.availability_zone" semantic conventions. It represents the cloud
 | |
| // regions often have multiple, isolated locations known as zones to increase
 | |
| // availability. Availability zone represents the zone where the resource is
 | |
| // running.
 | |
| func CloudAvailabilityZone(val string) attribute.KeyValue {
 | |
| 	return CloudAvailabilityZoneKey.String(val)
 | |
| }
 | |
| 
 | |
| // CloudRegion returns an attribute KeyValue conforming to the
 | |
| // "cloud.region" semantic conventions. It represents the geographical region
 | |
| // the resource is running.
 | |
| func CloudRegion(val string) attribute.KeyValue {
 | |
| 	return CloudRegionKey.String(val)
 | |
| }
 | |
| 
 | |
| // CloudResourceID returns an attribute KeyValue conforming to the
 | |
| // "cloud.resource_id" semantic conventions. It represents the cloud
 | |
| // provider-specific native identifier of the monitored cloud resource (e.g. an
 | |
| // [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 | |
| // on AWS, a [fully qualified resource
 | |
| // ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) on
 | |
| // Azure, a [full resource
 | |
| // name](https://cloud.google.com/apis/design/resource_names#full_resource_name)
 | |
| // on GCP)
 | |
| func CloudResourceID(val string) attribute.KeyValue {
 | |
| 	return CloudResourceIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // Attributes for CloudEvents.
 | |
| const (
 | |
| 	// CloudeventsEventIDKey is the attribute Key conforming to the
 | |
| 	// "cloudevents.event_id" semantic conventions. It represents the
 | |
| 	// [event_id](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#id)
 | |
| 	// uniquely identifies the event.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '123e4567-e89b-12d3-a456-426614174000', '0001'
 | |
| 	CloudeventsEventIDKey = attribute.Key("cloudevents.event_id")
 | |
| 
 | |
| 	// CloudeventsEventSourceKey is the attribute Key conforming to the
 | |
| 	// "cloudevents.event_source" semantic conventions. It represents the
 | |
| 	// [source](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#source-1)
 | |
| 	// identifies the context in which an event happened.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'https://github.com/cloudevents',
 | |
| 	// '/cloudevents/spec/pull/123', 'my-service'
 | |
| 	CloudeventsEventSourceKey = attribute.Key("cloudevents.event_source")
 | |
| 
 | |
| 	// CloudeventsEventSpecVersionKey is the attribute Key conforming to the
 | |
| 	// "cloudevents.event_spec_version" semantic conventions. It represents the
 | |
| 	// [version of the CloudEvents
 | |
| 	// specification](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#specversion)
 | |
| 	// which the event uses.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '1.0'
 | |
| 	CloudeventsEventSpecVersionKey = attribute.Key("cloudevents.event_spec_version")
 | |
| 
 | |
| 	// CloudeventsEventSubjectKey is the attribute Key conforming to the
 | |
| 	// "cloudevents.event_subject" semantic conventions. It represents the
 | |
| 	// [subject](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#subject)
 | |
| 	// of the event in the context of the event producer (identified by
 | |
| 	// source).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'mynewfile.jpg'
 | |
| 	CloudeventsEventSubjectKey = attribute.Key("cloudevents.event_subject")
 | |
| 
 | |
| 	// CloudeventsEventTypeKey is the attribute Key conforming to the
 | |
| 	// "cloudevents.event_type" semantic conventions. It represents the
 | |
| 	// [event_type](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#type)
 | |
| 	// contains a value describing the type of event related to the originating
 | |
| 	// occurrence.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'com.github.pull_request.opened',
 | |
| 	// 'com.example.object.deleted.v2'
 | |
| 	CloudeventsEventTypeKey = attribute.Key("cloudevents.event_type")
 | |
| )
 | |
| 
 | |
| // CloudeventsEventID returns an attribute KeyValue conforming to the
 | |
| // "cloudevents.event_id" semantic conventions. It represents the
 | |
| // [event_id](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#id)
 | |
| // uniquely identifies the event.
 | |
| func CloudeventsEventID(val string) attribute.KeyValue {
 | |
| 	return CloudeventsEventIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // CloudeventsEventSource returns an attribute KeyValue conforming to the
 | |
| // "cloudevents.event_source" semantic conventions. It represents the
 | |
| // [source](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#source-1)
 | |
| // identifies the context in which an event happened.
 | |
| func CloudeventsEventSource(val string) attribute.KeyValue {
 | |
| 	return CloudeventsEventSourceKey.String(val)
 | |
| }
 | |
| 
 | |
| // CloudeventsEventSpecVersion returns an attribute KeyValue conforming to
 | |
| // the "cloudevents.event_spec_version" semantic conventions. It represents the
 | |
| // [version of the CloudEvents
 | |
| // specification](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#specversion)
 | |
| // which the event uses.
 | |
| func CloudeventsEventSpecVersion(val string) attribute.KeyValue {
 | |
| 	return CloudeventsEventSpecVersionKey.String(val)
 | |
| }
 | |
| 
 | |
| // CloudeventsEventSubject returns an attribute KeyValue conforming to the
 | |
| // "cloudevents.event_subject" semantic conventions. It represents the
 | |
| // [subject](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#subject)
 | |
| // of the event in the context of the event producer (identified by source).
 | |
| func CloudeventsEventSubject(val string) attribute.KeyValue {
 | |
| 	return CloudeventsEventSubjectKey.String(val)
 | |
| }
 | |
| 
 | |
| // CloudeventsEventType returns an attribute KeyValue conforming to the
 | |
| // "cloudevents.event_type" semantic conventions. It represents the
 | |
| // [event_type](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#type)
 | |
| // contains a value describing the type of event related to the originating
 | |
| // occurrence.
 | |
| func CloudeventsEventType(val string) attribute.KeyValue {
 | |
| 	return CloudeventsEventTypeKey.String(val)
 | |
| }
 | |
| 
 | |
| // These attributes allow to report this unit of code and therefore to provide
 | |
| // more context about the span.
 | |
| const (
 | |
| 	// CodeColumnKey is the attribute Key conforming to the "code.column"
 | |
| 	// semantic conventions. It represents the column number in `code.filepath`
 | |
| 	// best representing the operation. It SHOULD point within the code unit
 | |
| 	// named in `code.function`.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 16
 | |
| 	CodeColumnKey = attribute.Key("code.column")
 | |
| 
 | |
| 	// CodeFilepathKey is the attribute Key conforming to the "code.filepath"
 | |
| 	// semantic conventions. It represents the source code file name that
 | |
| 	// identifies the code unit as uniquely as possible (preferably an absolute
 | |
| 	// file path).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '/usr/local/MyApplication/content_root/app/index.php'
 | |
| 	CodeFilepathKey = attribute.Key("code.filepath")
 | |
| 
 | |
| 	// CodeFunctionKey is the attribute Key conforming to the "code.function"
 | |
| 	// semantic conventions. It represents the method or function name, or
 | |
| 	// equivalent (usually rightmost part of the code unit's name).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'serveRequest'
 | |
| 	CodeFunctionKey = attribute.Key("code.function")
 | |
| 
 | |
| 	// CodeLineNumberKey is the attribute Key conforming to the "code.lineno"
 | |
| 	// semantic conventions. It represents the line number in `code.filepath`
 | |
| 	// best representing the operation. It SHOULD point within the code unit
 | |
| 	// named in `code.function`.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 42
 | |
| 	CodeLineNumberKey = attribute.Key("code.lineno")
 | |
| 
 | |
| 	// CodeNamespaceKey is the attribute Key conforming to the "code.namespace"
 | |
| 	// semantic conventions. It represents 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'com.example.MyHTTPService'
 | |
| 	CodeNamespaceKey = attribute.Key("code.namespace")
 | |
| 
 | |
| 	// CodeStacktraceKey is the attribute Key conforming to the
 | |
| 	// "code.stacktrace" semantic conventions. It represents 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'at
 | |
| 	// com.example.GenerateTrace.methodB(GenerateTrace.java:13)\\n at '
 | |
| 	//  'com.example.GenerateTrace.methodA(GenerateTrace.java:9)\\n at '
 | |
| 	//  'com.example.GenerateTrace.main(GenerateTrace.java:5)'
 | |
| 	CodeStacktraceKey = attribute.Key("code.stacktrace")
 | |
| )
 | |
| 
 | |
| // CodeColumn returns an attribute KeyValue conforming to the "code.column"
 | |
| // semantic conventions. It represents the column number in `code.filepath`
 | |
| // best representing the operation. It SHOULD point within the code unit named
 | |
| // in `code.function`.
 | |
| func CodeColumn(val int) attribute.KeyValue {
 | |
| 	return CodeColumnKey.Int(val)
 | |
| }
 | |
| 
 | |
| // CodeFilepath returns an attribute KeyValue conforming to the
 | |
| // "code.filepath" semantic conventions. It represents the source code file
 | |
| // name that identifies the code unit as uniquely as possible (preferably an
 | |
| // absolute file path).
 | |
| func CodeFilepath(val string) attribute.KeyValue {
 | |
| 	return CodeFilepathKey.String(val)
 | |
| }
 | |
| 
 | |
| // CodeFunction returns an attribute KeyValue conforming to the
 | |
| // "code.function" semantic conventions. It represents the method or function
 | |
| // name, or equivalent (usually rightmost part of the code unit's name).
 | |
| func CodeFunction(val string) attribute.KeyValue {
 | |
| 	return CodeFunctionKey.String(val)
 | |
| }
 | |
| 
 | |
| // CodeLineNumber returns an attribute KeyValue conforming to the "code.lineno"
 | |
| // semantic conventions. It represents the line number in `code.filepath` best
 | |
| // representing the operation. It SHOULD point within the code unit named in
 | |
| // `code.function`.
 | |
| func CodeLineNumber(val int) attribute.KeyValue {
 | |
| 	return CodeLineNumberKey.Int(val)
 | |
| }
 | |
| 
 | |
| // CodeNamespace returns an attribute KeyValue conforming to the
 | |
| // "code.namespace" semantic conventions. It represents 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.
 | |
| func CodeNamespace(val string) attribute.KeyValue {
 | |
| 	return CodeNamespaceKey.String(val)
 | |
| }
 | |
| 
 | |
| // CodeStacktrace returns an attribute KeyValue conforming to the
 | |
| // "code.stacktrace" semantic conventions. It represents 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.
 | |
| func CodeStacktrace(val string) attribute.KeyValue {
 | |
| 	return CodeStacktraceKey.String(val)
 | |
| }
 | |
| 
 | |
| // A container instance.
 | |
| const (
 | |
| 	// ContainerCommandKey is the attribute Key conforming to the
 | |
| 	// "container.command" semantic conventions. It represents the command used
 | |
| 	// to run the container (i.e. the command name).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'otelcontribcol'
 | |
| 	// Note: If using embedded credentials or sensitive data, it is recommended
 | |
| 	// to remove them to prevent potential leakage.
 | |
| 	ContainerCommandKey = attribute.Key("container.command")
 | |
| 
 | |
| 	// ContainerCommandArgsKey is the attribute Key conforming to the
 | |
| 	// "container.command_args" semantic conventions. It represents the all the
 | |
| 	// command arguments (including the command/executable itself) run by the
 | |
| 	// container. [2]
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'otelcontribcol, --config, config.yaml'
 | |
| 	ContainerCommandArgsKey = attribute.Key("container.command_args")
 | |
| 
 | |
| 	// ContainerCommandLineKey is the attribute Key conforming to the
 | |
| 	// "container.command_line" semantic conventions. It represents the full
 | |
| 	// command run by the container as a single string representing the full
 | |
| 	// command. [2]
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'otelcontribcol --config config.yaml'
 | |
| 	ContainerCommandLineKey = attribute.Key("container.command_line")
 | |
| 
 | |
| 	// ContainerCPUStateKey is the attribute Key conforming to the
 | |
| 	// "container.cpu.state" semantic conventions. It represents the CPU state
 | |
| 	// for this data point.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'user', 'kernel'
 | |
| 	ContainerCPUStateKey = attribute.Key("container.cpu.state")
 | |
| 
 | |
| 	// ContainerIDKey is the attribute Key conforming to the "container.id"
 | |
| 	// semantic conventions. It represents the container ID. Usually a UUID, as
 | |
| 	// for example used to [identify Docker
 | |
| 	// containers](https://docs.docker.com/engine/reference/run/#container-identification).
 | |
| 	// The UUID might be abbreviated.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'a3bf90e006b2'
 | |
| 	ContainerIDKey = attribute.Key("container.id")
 | |
| 
 | |
| 	// ContainerImageIDKey is the attribute Key conforming to the
 | |
| 	// "container.image.id" semantic conventions. It represents the runtime
 | |
| 	// specific image identifier. Usually a hash algorithm followed by a UUID.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples:
 | |
| 	// 'sha256:19c92d0a00d1b66d897bceaa7319bee0dd38a10a851c60bcec9474aa3f01e50f'
 | |
| 	// Note: Docker defines a sha256 of the image id; `container.image.id`
 | |
| 	// corresponds to the `Image` field from the Docker container inspect
 | |
| 	// [API](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerInspect)
 | |
| 	// 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.
 | |
| 	ContainerImageIDKey = attribute.Key("container.image.id")
 | |
| 
 | |
| 	// ContainerImageNameKey is the attribute Key conforming to the
 | |
| 	// "container.image.name" semantic conventions. It represents the name of
 | |
| 	// the image the container was built on.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'gcr.io/opentelemetry/operator'
 | |
| 	ContainerImageNameKey = attribute.Key("container.image.name")
 | |
| 
 | |
| 	// ContainerImageRepoDigestsKey is the attribute Key conforming to the
 | |
| 	// "container.image.repo_digests" semantic conventions. It represents the
 | |
| 	// repo digests of the container image as provided by the container
 | |
| 	// runtime.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples:
 | |
| 	// 'example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb',
 | |
| 	// 'internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578'
 | |
| 	// Note:
 | |
| 	// [Docker](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect)
 | |
| 	// and
 | |
| 	// [CRI](https://github.com/kubernetes/cri-api/blob/c75ef5b473bbe2d0a4fc92f82235efd665ea8e9f/pkg/apis/runtime/v1/api.proto#L1237-L1238)
 | |
| 	// report those under the `RepoDigests` field.
 | |
| 	ContainerImageRepoDigestsKey = attribute.Key("container.image.repo_digests")
 | |
| 
 | |
| 	// ContainerImageTagsKey is the attribute Key conforming to the
 | |
| 	// "container.image.tags" semantic conventions. It represents the container
 | |
| 	// image tags. An example can be found in [Docker Image
 | |
| 	// Inspect](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect).
 | |
| 	// Should be only the `<tag>` section of the full name for example from
 | |
| 	// `registry.example.com/my-org/my-image:<tag>`.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'v1.27.1', '3.5.7-0'
 | |
| 	ContainerImageTagsKey = attribute.Key("container.image.tags")
 | |
| 
 | |
| 	// ContainerNameKey is the attribute Key conforming to the "container.name"
 | |
| 	// semantic conventions. It represents the container name used by container
 | |
| 	// runtime.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'opentelemetry-autoconf'
 | |
| 	ContainerNameKey = attribute.Key("container.name")
 | |
| 
 | |
| 	// ContainerRuntimeKey is the attribute Key conforming to the
 | |
| 	// "container.runtime" semantic conventions. It represents the container
 | |
| 	// runtime managing this container.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'docker', 'containerd', 'rkt'
 | |
| 	ContainerRuntimeKey = attribute.Key("container.runtime")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode (Windows)
 | |
| 	ContainerCPUStateUser = ContainerCPUStateKey.String("user")
 | |
| 	// When CPU is used by the system (host OS)
 | |
| 	ContainerCPUStateSystem = ContainerCPUStateKey.String("system")
 | |
| 	// When tasks of the cgroup are in kernel mode (Linux). When all container processes are in kernel mode (Windows)
 | |
| 	ContainerCPUStateKernel = ContainerCPUStateKey.String("kernel")
 | |
| )
 | |
| 
 | |
| // ContainerCommand returns an attribute KeyValue conforming to the
 | |
| // "container.command" semantic conventions. It represents the command used to
 | |
| // run the container (i.e. the command name).
 | |
| func ContainerCommand(val string) attribute.KeyValue {
 | |
| 	return ContainerCommandKey.String(val)
 | |
| }
 | |
| 
 | |
| // ContainerCommandArgs returns an attribute KeyValue conforming to the
 | |
| // "container.command_args" semantic conventions. It represents the all the
 | |
| // command arguments (including the command/executable itself) run by the
 | |
| // container. [2]
 | |
| func ContainerCommandArgs(val ...string) attribute.KeyValue {
 | |
| 	return ContainerCommandArgsKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // ContainerCommandLine returns an attribute KeyValue conforming to the
 | |
| // "container.command_line" semantic conventions. It represents the full
 | |
| // command run by the container as a single string representing the full
 | |
| // command. [2]
 | |
| func ContainerCommandLine(val string) attribute.KeyValue {
 | |
| 	return ContainerCommandLineKey.String(val)
 | |
| }
 | |
| 
 | |
| // ContainerID returns an attribute KeyValue conforming to the
 | |
| // "container.id" semantic conventions. It represents the container ID. Usually
 | |
| // a UUID, as for example used to [identify Docker
 | |
| // containers](https://docs.docker.com/engine/reference/run/#container-identification).
 | |
| // The UUID might be abbreviated.
 | |
| func ContainerID(val string) attribute.KeyValue {
 | |
| 	return ContainerIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // ContainerImageID returns an attribute KeyValue conforming to the
 | |
| // "container.image.id" semantic conventions. It represents the runtime
 | |
| // specific image identifier. Usually a hash algorithm followed by a UUID.
 | |
| func ContainerImageID(val string) attribute.KeyValue {
 | |
| 	return ContainerImageIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // ContainerImageName returns an attribute KeyValue conforming to the
 | |
| // "container.image.name" semantic conventions. It represents the name of the
 | |
| // image the container was built on.
 | |
| func ContainerImageName(val string) attribute.KeyValue {
 | |
| 	return ContainerImageNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // ContainerImageRepoDigests returns an attribute KeyValue conforming to the
 | |
| // "container.image.repo_digests" semantic conventions. It represents the repo
 | |
| // digests of the container image as provided by the container runtime.
 | |
| func ContainerImageRepoDigests(val ...string) attribute.KeyValue {
 | |
| 	return ContainerImageRepoDigestsKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // ContainerImageTags returns an attribute KeyValue conforming to the
 | |
| // "container.image.tags" semantic conventions. It represents the container
 | |
| // image tags. An example can be found in [Docker Image
 | |
| // Inspect](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect).
 | |
| // Should be only the `<tag>` section of the full name for example from
 | |
| // `registry.example.com/my-org/my-image:<tag>`.
 | |
| func ContainerImageTags(val ...string) attribute.KeyValue {
 | |
| 	return ContainerImageTagsKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // ContainerName returns an attribute KeyValue conforming to the
 | |
| // "container.name" semantic conventions. It represents the container name used
 | |
| // by container runtime.
 | |
| func ContainerName(val string) attribute.KeyValue {
 | |
| 	return ContainerNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // ContainerRuntime returns an attribute KeyValue conforming to the
 | |
| // "container.runtime" semantic conventions. It represents the container
 | |
| // runtime managing this container.
 | |
| func ContainerRuntime(val string) attribute.KeyValue {
 | |
| 	return ContainerRuntimeKey.String(val)
 | |
| }
 | |
| 
 | |
| // This group defines the attributes used to describe telemetry in the context
 | |
| // of databases.
 | |
| const (
 | |
| 	// DBClientConnectionsPoolNameKey is the attribute Key conforming to the
 | |
| 	// "db.client.connections.pool.name" semantic conventions. It represents
 | |
| 	// 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`.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'myDataSource'
 | |
| 	DBClientConnectionsPoolNameKey = attribute.Key("db.client.connections.pool.name")
 | |
| 
 | |
| 	// DBClientConnectionsStateKey is the attribute Key conforming to the
 | |
| 	// "db.client.connections.state" semantic conventions. It represents the
 | |
| 	// state of a connection in the pool
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'idle'
 | |
| 	DBClientConnectionsStateKey = attribute.Key("db.client.connections.state")
 | |
| 
 | |
| 	// DBCollectionNameKey is the attribute Key conforming to the
 | |
| 	// "db.collection.name" semantic conventions. It represents the name of a
 | |
| 	// collection (table, container) within the database.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'public.users', 'customers'
 | |
| 	// 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.
 | |
| 	DBCollectionNameKey = attribute.Key("db.collection.name")
 | |
| 
 | |
| 	// DBNamespaceKey is the attribute Key conforming to the "db.namespace"
 | |
| 	// semantic conventions. It represents the name of the database, fully
 | |
| 	// qualified within the server address and port.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'customers', 'test.users'
 | |
| 	// 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.
 | |
| 	DBNamespaceKey = attribute.Key("db.namespace")
 | |
| 
 | |
| 	// DBOperationNameKey is the attribute Key conforming to the
 | |
| 	// "db.operation.name" semantic conventions. It represents the name of the
 | |
| 	// operation or command being executed.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'findAndModify', 'HMSET', 'SELECT'
 | |
| 	// Note: It is RECOMMENDED to capture the value as provided by the
 | |
| 	// application without attempting to do any case normalization.
 | |
| 	DBOperationNameKey = attribute.Key("db.operation.name")
 | |
| 
 | |
| 	// DBQueryTextKey is the attribute Key conforming to the "db.query.text"
 | |
| 	// semantic conventions. It represents the database query being executed.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'SELECT * FROM wuser_table where username = ?', 'SET mykey
 | |
| 	// "WuValue"'
 | |
| 	DBQueryTextKey = attribute.Key("db.query.text")
 | |
| 
 | |
| 	// DBSystemKey is the attribute Key conforming to the "db.system" semantic
 | |
| 	// conventions. It represents the database management system (DBMS) product
 | |
| 	// as identified by the client instrumentation.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// 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.
 | |
| 	DBSystemKey = attribute.Key("db.system")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// idle
 | |
| 	DBClientConnectionsStateIdle = DBClientConnectionsStateKey.String("idle")
 | |
| 	// used
 | |
| 	DBClientConnectionsStateUsed = DBClientConnectionsStateKey.String("used")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// Some other SQL database. Fallback only. See notes
 | |
| 	DBSystemOtherSQL = DBSystemKey.String("other_sql")
 | |
| 	// Microsoft SQL Server
 | |
| 	DBSystemMSSQL = DBSystemKey.String("mssql")
 | |
| 	// Microsoft SQL Server Compact
 | |
| 	DBSystemMssqlcompact = DBSystemKey.String("mssqlcompact")
 | |
| 	// MySQL
 | |
| 	DBSystemMySQL = DBSystemKey.String("mysql")
 | |
| 	// Oracle Database
 | |
| 	DBSystemOracle = DBSystemKey.String("oracle")
 | |
| 	// IBM DB2
 | |
| 	DBSystemDB2 = DBSystemKey.String("db2")
 | |
| 	// PostgreSQL
 | |
| 	DBSystemPostgreSQL = DBSystemKey.String("postgresql")
 | |
| 	// Amazon Redshift
 | |
| 	DBSystemRedshift = DBSystemKey.String("redshift")
 | |
| 	// Apache Hive
 | |
| 	DBSystemHive = DBSystemKey.String("hive")
 | |
| 	// Cloudscape
 | |
| 	DBSystemCloudscape = DBSystemKey.String("cloudscape")
 | |
| 	// HyperSQL DataBase
 | |
| 	DBSystemHSQLDB = DBSystemKey.String("hsqldb")
 | |
| 	// Progress Database
 | |
| 	DBSystemProgress = DBSystemKey.String("progress")
 | |
| 	// SAP MaxDB
 | |
| 	DBSystemMaxDB = DBSystemKey.String("maxdb")
 | |
| 	// SAP HANA
 | |
| 	DBSystemHanaDB = DBSystemKey.String("hanadb")
 | |
| 	// Ingres
 | |
| 	DBSystemIngres = DBSystemKey.String("ingres")
 | |
| 	// FirstSQL
 | |
| 	DBSystemFirstSQL = DBSystemKey.String("firstsql")
 | |
| 	// EnterpriseDB
 | |
| 	DBSystemEDB = DBSystemKey.String("edb")
 | |
| 	// InterSystems Caché
 | |
| 	DBSystemCache = DBSystemKey.String("cache")
 | |
| 	// Adabas (Adaptable Database System)
 | |
| 	DBSystemAdabas = DBSystemKey.String("adabas")
 | |
| 	// Firebird
 | |
| 	DBSystemFirebird = DBSystemKey.String("firebird")
 | |
| 	// Apache Derby
 | |
| 	DBSystemDerby = DBSystemKey.String("derby")
 | |
| 	// FileMaker
 | |
| 	DBSystemFilemaker = DBSystemKey.String("filemaker")
 | |
| 	// Informix
 | |
| 	DBSystemInformix = DBSystemKey.String("informix")
 | |
| 	// InstantDB
 | |
| 	DBSystemInstantDB = DBSystemKey.String("instantdb")
 | |
| 	// InterBase
 | |
| 	DBSystemInterbase = DBSystemKey.String("interbase")
 | |
| 	// MariaDB
 | |
| 	DBSystemMariaDB = DBSystemKey.String("mariadb")
 | |
| 	// Netezza
 | |
| 	DBSystemNetezza = DBSystemKey.String("netezza")
 | |
| 	// Pervasive PSQL
 | |
| 	DBSystemPervasive = DBSystemKey.String("pervasive")
 | |
| 	// PointBase
 | |
| 	DBSystemPointbase = DBSystemKey.String("pointbase")
 | |
| 	// SQLite
 | |
| 	DBSystemSqlite = DBSystemKey.String("sqlite")
 | |
| 	// Sybase
 | |
| 	DBSystemSybase = DBSystemKey.String("sybase")
 | |
| 	// Teradata
 | |
| 	DBSystemTeradata = DBSystemKey.String("teradata")
 | |
| 	// Vertica
 | |
| 	DBSystemVertica = DBSystemKey.String("vertica")
 | |
| 	// H2
 | |
| 	DBSystemH2 = DBSystemKey.String("h2")
 | |
| 	// ColdFusion IMQ
 | |
| 	DBSystemColdfusion = DBSystemKey.String("coldfusion")
 | |
| 	// Apache Cassandra
 | |
| 	DBSystemCassandra = DBSystemKey.String("cassandra")
 | |
| 	// Apache HBase
 | |
| 	DBSystemHBase = DBSystemKey.String("hbase")
 | |
| 	// MongoDB
 | |
| 	DBSystemMongoDB = DBSystemKey.String("mongodb")
 | |
| 	// Redis
 | |
| 	DBSystemRedis = DBSystemKey.String("redis")
 | |
| 	// Couchbase
 | |
| 	DBSystemCouchbase = DBSystemKey.String("couchbase")
 | |
| 	// CouchDB
 | |
| 	DBSystemCouchDB = DBSystemKey.String("couchdb")
 | |
| 	// Microsoft Azure Cosmos DB
 | |
| 	DBSystemCosmosDB = DBSystemKey.String("cosmosdb")
 | |
| 	// Amazon DynamoDB
 | |
| 	DBSystemDynamoDB = DBSystemKey.String("dynamodb")
 | |
| 	// Neo4j
 | |
| 	DBSystemNeo4j = DBSystemKey.String("neo4j")
 | |
| 	// Apache Geode
 | |
| 	DBSystemGeode = DBSystemKey.String("geode")
 | |
| 	// Elasticsearch
 | |
| 	DBSystemElasticsearch = DBSystemKey.String("elasticsearch")
 | |
| 	// Memcached
 | |
| 	DBSystemMemcached = DBSystemKey.String("memcached")
 | |
| 	// CockroachDB
 | |
| 	DBSystemCockroachdb = DBSystemKey.String("cockroachdb")
 | |
| 	// OpenSearch
 | |
| 	DBSystemOpensearch = DBSystemKey.String("opensearch")
 | |
| 	// ClickHouse
 | |
| 	DBSystemClickhouse = DBSystemKey.String("clickhouse")
 | |
| 	// Cloud Spanner
 | |
| 	DBSystemSpanner = DBSystemKey.String("spanner")
 | |
| 	// Trino
 | |
| 	DBSystemTrino = DBSystemKey.String("trino")
 | |
| )
 | |
| 
 | |
| // DBClientConnectionsPoolName returns an attribute KeyValue conforming to
 | |
| // the "db.client.connections.pool.name" semantic conventions. It represents
 | |
| // 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`.
 | |
| func DBClientConnectionsPoolName(val string) attribute.KeyValue {
 | |
| 	return DBClientConnectionsPoolNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // DBCollectionName returns an attribute KeyValue conforming to the
 | |
| // "db.collection.name" semantic conventions. It represents the name of a
 | |
| // collection (table, container) within the database.
 | |
| func DBCollectionName(val string) attribute.KeyValue {
 | |
| 	return DBCollectionNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // DBNamespace returns an attribute KeyValue conforming to the
 | |
| // "db.namespace" semantic conventions. It represents the name of the database,
 | |
| // fully qualified within the server address and port.
 | |
| func DBNamespace(val string) attribute.KeyValue {
 | |
| 	return DBNamespaceKey.String(val)
 | |
| }
 | |
| 
 | |
| // DBOperationName returns an attribute KeyValue conforming to the
 | |
| // "db.operation.name" semantic conventions. It represents the name of the
 | |
| // operation or command being executed.
 | |
| func DBOperationName(val string) attribute.KeyValue {
 | |
| 	return DBOperationNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // DBQueryText returns an attribute KeyValue conforming to the
 | |
| // "db.query.text" semantic conventions. It represents the database query being
 | |
| // executed.
 | |
| func DBQueryText(val string) attribute.KeyValue {
 | |
| 	return DBQueryTextKey.String(val)
 | |
| }
 | |
| 
 | |
| // This group defines attributes for Cassandra.
 | |
| const (
 | |
| 	// DBCassandraConsistencyLevelKey is the attribute Key conforming to the
 | |
| 	// "db.cassandra.consistency_level" semantic conventions. It represents the
 | |
| 	// consistency level of the query. Based on consistency values from
 | |
| 	// [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html).
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	DBCassandraConsistencyLevelKey = attribute.Key("db.cassandra.consistency_level")
 | |
| 
 | |
| 	// DBCassandraCoordinatorDCKey is the attribute Key conforming to the
 | |
| 	// "db.cassandra.coordinator.dc" semantic conventions. It represents the
 | |
| 	// data center of the coordinating node for a query.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'us-west-2'
 | |
| 	DBCassandraCoordinatorDCKey = attribute.Key("db.cassandra.coordinator.dc")
 | |
| 
 | |
| 	// DBCassandraCoordinatorIDKey is the attribute Key conforming to the
 | |
| 	// "db.cassandra.coordinator.id" semantic conventions. It represents the ID
 | |
| 	// of the coordinating node for a query.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'be13faa2-8574-4d71-926d-27f16cf8a7af'
 | |
| 	DBCassandraCoordinatorIDKey = attribute.Key("db.cassandra.coordinator.id")
 | |
| 
 | |
| 	// DBCassandraIdempotenceKey is the attribute Key conforming to the
 | |
| 	// "db.cassandra.idempotence" semantic conventions. It represents the
 | |
| 	// whether or not the query is idempotent.
 | |
| 	//
 | |
| 	// Type: boolean
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	DBCassandraIdempotenceKey = attribute.Key("db.cassandra.idempotence")
 | |
| 
 | |
| 	// DBCassandraPageSizeKey is the attribute Key conforming to the
 | |
| 	// "db.cassandra.page_size" semantic conventions. It represents the fetch
 | |
| 	// size used for paging, i.e. how many rows will be returned at once.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 5000
 | |
| 	DBCassandraPageSizeKey = attribute.Key("db.cassandra.page_size")
 | |
| 
 | |
| 	// DBCassandraSpeculativeExecutionCountKey is the attribute Key conforming
 | |
| 	// to the "db.cassandra.speculative_execution_count" semantic conventions.
 | |
| 	// It represents the number of times a query was speculatively executed.
 | |
| 	// Not set or `0` if the query was not executed speculatively.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 0, 2
 | |
| 	DBCassandraSpeculativeExecutionCountKey = attribute.Key("db.cassandra.speculative_execution_count")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// all
 | |
| 	DBCassandraConsistencyLevelAll = DBCassandraConsistencyLevelKey.String("all")
 | |
| 	// each_quorum
 | |
| 	DBCassandraConsistencyLevelEachQuorum = DBCassandraConsistencyLevelKey.String("each_quorum")
 | |
| 	// quorum
 | |
| 	DBCassandraConsistencyLevelQuorum = DBCassandraConsistencyLevelKey.String("quorum")
 | |
| 	// local_quorum
 | |
| 	DBCassandraConsistencyLevelLocalQuorum = DBCassandraConsistencyLevelKey.String("local_quorum")
 | |
| 	// one
 | |
| 	DBCassandraConsistencyLevelOne = DBCassandraConsistencyLevelKey.String("one")
 | |
| 	// two
 | |
| 	DBCassandraConsistencyLevelTwo = DBCassandraConsistencyLevelKey.String("two")
 | |
| 	// three
 | |
| 	DBCassandraConsistencyLevelThree = DBCassandraConsistencyLevelKey.String("three")
 | |
| 	// local_one
 | |
| 	DBCassandraConsistencyLevelLocalOne = DBCassandraConsistencyLevelKey.String("local_one")
 | |
| 	// any
 | |
| 	DBCassandraConsistencyLevelAny = DBCassandraConsistencyLevelKey.String("any")
 | |
| 	// serial
 | |
| 	DBCassandraConsistencyLevelSerial = DBCassandraConsistencyLevelKey.String("serial")
 | |
| 	// local_serial
 | |
| 	DBCassandraConsistencyLevelLocalSerial = DBCassandraConsistencyLevelKey.String("local_serial")
 | |
| )
 | |
| 
 | |
| // DBCassandraCoordinatorDC returns an attribute KeyValue conforming to the
 | |
| // "db.cassandra.coordinator.dc" semantic conventions. It represents the data
 | |
| // center of the coordinating node for a query.
 | |
| func DBCassandraCoordinatorDC(val string) attribute.KeyValue {
 | |
| 	return DBCassandraCoordinatorDCKey.String(val)
 | |
| }
 | |
| 
 | |
| // DBCassandraCoordinatorID returns an attribute KeyValue conforming to the
 | |
| // "db.cassandra.coordinator.id" semantic conventions. It represents the ID of
 | |
| // the coordinating node for a query.
 | |
| func DBCassandraCoordinatorID(val string) attribute.KeyValue {
 | |
| 	return DBCassandraCoordinatorIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // DBCassandraIdempotence returns an attribute KeyValue conforming to the
 | |
| // "db.cassandra.idempotence" semantic conventions. It represents the whether
 | |
| // or not the query is idempotent.
 | |
| func DBCassandraIdempotence(val bool) attribute.KeyValue {
 | |
| 	return DBCassandraIdempotenceKey.Bool(val)
 | |
| }
 | |
| 
 | |
| // DBCassandraPageSize returns an attribute KeyValue conforming to the
 | |
| // "db.cassandra.page_size" semantic conventions. It represents the fetch size
 | |
| // used for paging, i.e. how many rows will be returned at once.
 | |
| func DBCassandraPageSize(val int) attribute.KeyValue {
 | |
| 	return DBCassandraPageSizeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // DBCassandraSpeculativeExecutionCount returns an attribute KeyValue
 | |
| // conforming to the "db.cassandra.speculative_execution_count" semantic
 | |
| // conventions. It represents the number of times a query was speculatively
 | |
| // executed. Not set or `0` if the query was not executed speculatively.
 | |
| func DBCassandraSpeculativeExecutionCount(val int) attribute.KeyValue {
 | |
| 	return DBCassandraSpeculativeExecutionCountKey.Int(val)
 | |
| }
 | |
| 
 | |
| // This group defines attributes for Azure Cosmos DB.
 | |
| const (
 | |
| 	// DBCosmosDBClientIDKey is the attribute Key conforming to the
 | |
| 	// "db.cosmosdb.client_id" semantic conventions. It represents the unique
 | |
| 	// Cosmos client instance id.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '3ba4827d-4422-483f-b59f-85b74211c11d'
 | |
| 	DBCosmosDBClientIDKey = attribute.Key("db.cosmosdb.client_id")
 | |
| 
 | |
| 	// DBCosmosDBConnectionModeKey is the attribute Key conforming to the
 | |
| 	// "db.cosmosdb.connection_mode" semantic conventions. It represents the
 | |
| 	// cosmos client connection mode.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	DBCosmosDBConnectionModeKey = attribute.Key("db.cosmosdb.connection_mode")
 | |
| 
 | |
| 	// DBCosmosDBOperationTypeKey is the attribute Key conforming to the
 | |
| 	// "db.cosmosdb.operation_type" semantic conventions. It represents the
 | |
| 	// cosmosDB Operation Type.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	DBCosmosDBOperationTypeKey = attribute.Key("db.cosmosdb.operation_type")
 | |
| 
 | |
| 	// DBCosmosDBRequestChargeKey is the attribute Key conforming to the
 | |
| 	// "db.cosmosdb.request_charge" semantic conventions. It represents the rU
 | |
| 	// consumed for that operation
 | |
| 	//
 | |
| 	// Type: double
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 46.18, 1.0
 | |
| 	DBCosmosDBRequestChargeKey = attribute.Key("db.cosmosdb.request_charge")
 | |
| 
 | |
| 	// DBCosmosDBRequestContentLengthKey is the attribute Key conforming to the
 | |
| 	// "db.cosmosdb.request_content_length" semantic conventions. It represents
 | |
| 	// the request payload size in bytes
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	DBCosmosDBRequestContentLengthKey = attribute.Key("db.cosmosdb.request_content_length")
 | |
| 
 | |
| 	// DBCosmosDBStatusCodeKey is the attribute Key conforming to the
 | |
| 	// "db.cosmosdb.status_code" semantic conventions. It represents the cosmos
 | |
| 	// DB status code.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 200, 201
 | |
| 	DBCosmosDBStatusCodeKey = attribute.Key("db.cosmosdb.status_code")
 | |
| 
 | |
| 	// DBCosmosDBSubStatusCodeKey is the attribute Key conforming to the
 | |
| 	// "db.cosmosdb.sub_status_code" semantic conventions. It represents the
 | |
| 	// cosmos DB sub status code.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 1000, 1002
 | |
| 	DBCosmosDBSubStatusCodeKey = attribute.Key("db.cosmosdb.sub_status_code")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// Gateway (HTTP) connections mode
 | |
| 	DBCosmosDBConnectionModeGateway = DBCosmosDBConnectionModeKey.String("gateway")
 | |
| 	// Direct connection
 | |
| 	DBCosmosDBConnectionModeDirect = DBCosmosDBConnectionModeKey.String("direct")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// invalid
 | |
| 	DBCosmosDBOperationTypeInvalid = DBCosmosDBOperationTypeKey.String("Invalid")
 | |
| 	// create
 | |
| 	DBCosmosDBOperationTypeCreate = DBCosmosDBOperationTypeKey.String("Create")
 | |
| 	// patch
 | |
| 	DBCosmosDBOperationTypePatch = DBCosmosDBOperationTypeKey.String("Patch")
 | |
| 	// read
 | |
| 	DBCosmosDBOperationTypeRead = DBCosmosDBOperationTypeKey.String("Read")
 | |
| 	// read_feed
 | |
| 	DBCosmosDBOperationTypeReadFeed = DBCosmosDBOperationTypeKey.String("ReadFeed")
 | |
| 	// delete
 | |
| 	DBCosmosDBOperationTypeDelete = DBCosmosDBOperationTypeKey.String("Delete")
 | |
| 	// replace
 | |
| 	DBCosmosDBOperationTypeReplace = DBCosmosDBOperationTypeKey.String("Replace")
 | |
| 	// execute
 | |
| 	DBCosmosDBOperationTypeExecute = DBCosmosDBOperationTypeKey.String("Execute")
 | |
| 	// query
 | |
| 	DBCosmosDBOperationTypeQuery = DBCosmosDBOperationTypeKey.String("Query")
 | |
| 	// head
 | |
| 	DBCosmosDBOperationTypeHead = DBCosmosDBOperationTypeKey.String("Head")
 | |
| 	// head_feed
 | |
| 	DBCosmosDBOperationTypeHeadFeed = DBCosmosDBOperationTypeKey.String("HeadFeed")
 | |
| 	// upsert
 | |
| 	DBCosmosDBOperationTypeUpsert = DBCosmosDBOperationTypeKey.String("Upsert")
 | |
| 	// batch
 | |
| 	DBCosmosDBOperationTypeBatch = DBCosmosDBOperationTypeKey.String("Batch")
 | |
| 	// query_plan
 | |
| 	DBCosmosDBOperationTypeQueryPlan = DBCosmosDBOperationTypeKey.String("QueryPlan")
 | |
| 	// execute_javascript
 | |
| 	DBCosmosDBOperationTypeExecuteJavascript = DBCosmosDBOperationTypeKey.String("ExecuteJavaScript")
 | |
| )
 | |
| 
 | |
| // DBCosmosDBClientID returns an attribute KeyValue conforming to the
 | |
| // "db.cosmosdb.client_id" semantic conventions. It represents the unique
 | |
| // Cosmos client instance id.
 | |
| func DBCosmosDBClientID(val string) attribute.KeyValue {
 | |
| 	return DBCosmosDBClientIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // DBCosmosDBRequestCharge returns an attribute KeyValue conforming to the
 | |
| // "db.cosmosdb.request_charge" semantic conventions. It represents the rU
 | |
| // consumed for that operation
 | |
| func DBCosmosDBRequestCharge(val float64) attribute.KeyValue {
 | |
| 	return DBCosmosDBRequestChargeKey.Float64(val)
 | |
| }
 | |
| 
 | |
| // DBCosmosDBRequestContentLength returns an attribute KeyValue conforming
 | |
| // to the "db.cosmosdb.request_content_length" semantic conventions. It
 | |
| // represents the request payload size in bytes
 | |
| func DBCosmosDBRequestContentLength(val int) attribute.KeyValue {
 | |
| 	return DBCosmosDBRequestContentLengthKey.Int(val)
 | |
| }
 | |
| 
 | |
| // DBCosmosDBStatusCode returns an attribute KeyValue conforming to the
 | |
| // "db.cosmosdb.status_code" semantic conventions. It represents the cosmos DB
 | |
| // status code.
 | |
| func DBCosmosDBStatusCode(val int) attribute.KeyValue {
 | |
| 	return DBCosmosDBStatusCodeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // DBCosmosDBSubStatusCode returns an attribute KeyValue conforming to the
 | |
| // "db.cosmosdb.sub_status_code" semantic conventions. It represents the cosmos
 | |
| // DB sub status code.
 | |
| func DBCosmosDBSubStatusCode(val int) attribute.KeyValue {
 | |
| 	return DBCosmosDBSubStatusCodeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // This group defines attributes for Elasticsearch.
 | |
| const (
 | |
| 	// DBElasticsearchClusterNameKey is the attribute Key conforming to the
 | |
| 	// "db.elasticsearch.cluster.name" semantic conventions. It represents the
 | |
| 	// represents the identifier of an Elasticsearch cluster.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'e9106fc68e3044f0b1475b04bf4ffd5f'
 | |
| 	DBElasticsearchClusterNameKey = attribute.Key("db.elasticsearch.cluster.name")
 | |
| 
 | |
| 	// DBElasticsearchNodeNameKey is the attribute Key conforming to the
 | |
| 	// "db.elasticsearch.node.name" semantic conventions. It represents the
 | |
| 	// represents the human-readable identifier of the node/instance to which a
 | |
| 	// request was routed.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'instance-0000000001'
 | |
| 	DBElasticsearchNodeNameKey = attribute.Key("db.elasticsearch.node.name")
 | |
| )
 | |
| 
 | |
| // DBElasticsearchClusterName returns an attribute KeyValue conforming to
 | |
| // the "db.elasticsearch.cluster.name" semantic conventions. It represents the
 | |
| // represents the identifier of an Elasticsearch cluster.
 | |
| func DBElasticsearchClusterName(val string) attribute.KeyValue {
 | |
| 	return DBElasticsearchClusterNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // DBElasticsearchNodeName returns an attribute KeyValue conforming to the
 | |
| // "db.elasticsearch.node.name" semantic conventions. It represents the
 | |
| // represents the human-readable identifier of the node/instance to which a
 | |
| // request was routed.
 | |
| func DBElasticsearchNodeName(val string) attribute.KeyValue {
 | |
| 	return DBElasticsearchNodeNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // Attributes for software deployments.
 | |
| const (
 | |
| 	// DeploymentEnvironmentKey is the attribute Key conforming to the
 | |
| 	// "deployment.environment" semantic conventions. It represents the name of
 | |
| 	// the [deployment
 | |
| 	// environment](https://wikipedia.org/wiki/Deployment_environment) (aka
 | |
| 	// deployment tier).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'staging', 'production'
 | |
| 	// 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`.
 | |
| 	DeploymentEnvironmentKey = attribute.Key("deployment.environment")
 | |
| )
 | |
| 
 | |
| // DeploymentEnvironment returns an attribute KeyValue conforming to the
 | |
| // "deployment.environment" semantic conventions. It represents the name of the
 | |
| // [deployment environment](https://wikipedia.org/wiki/Deployment_environment)
 | |
| // (aka deployment tier).
 | |
| func DeploymentEnvironment(val string) attribute.KeyValue {
 | |
| 	return DeploymentEnvironmentKey.String(val)
 | |
| }
 | |
| 
 | |
| // Attributes that represents an occurrence of a lifecycle transition on the
 | |
| // Android platform.
 | |
| const (
 | |
| 	// AndroidStateKey is the attribute Key conforming to the "android.state"
 | |
| 	// semantic conventions. It represents the deprecated use the
 | |
| 	// `device.app.lifecycle` event definition including `android.state` as a
 | |
| 	// payload field instead.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Note: The Android lifecycle states are defined in [Activity lifecycle
 | |
| 	// callbacks](https://developer.android.com/guide/components/activities/activity-lifecycle#lc),
 | |
| 	// and from which the `OS identifiers` are derived.
 | |
| 	AndroidStateKey = attribute.Key("android.state")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// Any time before Activity.onResume() or, if the app has no Activity, Context.startService() has been called in the app for the first time
 | |
| 	AndroidStateCreated = AndroidStateKey.String("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
 | |
| 	AndroidStateBackground = AndroidStateKey.String("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
 | |
| 	AndroidStateForeground = AndroidStateKey.String("foreground")
 | |
| )
 | |
| 
 | |
| // These attributes may be used to describe the receiver of a network
 | |
| // exchange/packet. These should be used when there is no client/server
 | |
| // relationship between the two sides, or when that relationship is unknown.
 | |
| // This covers low-level network interactions (e.g. packet tracing) where you
 | |
| // don't know if there was a connection or which side initiated it. This also
 | |
| // covers unidirectional UDP flows and peer-to-peer communication where the
 | |
| // "user-facing" surface of the protocol / API doesn't expose a clear notion of
 | |
| // client and server.
 | |
| const (
 | |
| 	// DestinationAddressKey is the attribute Key conforming to the
 | |
| 	// "destination.address" semantic conventions. It represents the
 | |
| 	// destination address - domain name if available without reverse DNS
 | |
| 	// lookup; otherwise, IP address or Unix domain socket name.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'destination.example.com', '10.1.2.80', '/tmp/my.sock'
 | |
| 	// 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.
 | |
| 	DestinationAddressKey = attribute.Key("destination.address")
 | |
| 
 | |
| 	// DestinationPortKey is the attribute Key conforming to the
 | |
| 	// "destination.port" semantic conventions. It represents the destination
 | |
| 	// port number
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 3389, 2888
 | |
| 	DestinationPortKey = attribute.Key("destination.port")
 | |
| )
 | |
| 
 | |
| // DestinationAddress returns an attribute KeyValue conforming to the
 | |
| // "destination.address" semantic conventions. It represents the destination
 | |
| // address - domain name if available without reverse DNS lookup; otherwise, IP
 | |
| // address or Unix domain socket name.
 | |
| func DestinationAddress(val string) attribute.KeyValue {
 | |
| 	return DestinationAddressKey.String(val)
 | |
| }
 | |
| 
 | |
| // DestinationPort returns an attribute KeyValue conforming to the
 | |
| // "destination.port" semantic conventions. It represents the destination port
 | |
| // number
 | |
| func DestinationPort(val int) attribute.KeyValue {
 | |
| 	return DestinationPortKey.Int(val)
 | |
| }
 | |
| 
 | |
| // Describes device attributes.
 | |
| const (
 | |
| 	// DeviceIDKey is the attribute Key conforming to the "device.id" semantic
 | |
| 	// conventions. It represents a unique identifier representing the device
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '2ab2916d-a51f-4ac8-80ee-45ac31a28092'
 | |
| 	// 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](https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor).
 | |
| 	// 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](https://developer.android.com/training/articles/user-data-ids) 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.
 | |
| 	DeviceIDKey = attribute.Key("device.id")
 | |
| 
 | |
| 	// DeviceManufacturerKey is the attribute Key conforming to the
 | |
| 	// "device.manufacturer" semantic conventions. It represents the name of
 | |
| 	// the device manufacturer
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'Apple', 'Samsung'
 | |
| 	// Note: The Android OS provides this field via
 | |
| 	// [Build](https://developer.android.com/reference/android/os/Build#MANUFACTURER).
 | |
| 	// iOS apps SHOULD hardcode the value `Apple`.
 | |
| 	DeviceManufacturerKey = attribute.Key("device.manufacturer")
 | |
| 
 | |
| 	// DeviceModelIdentifierKey is the attribute Key conforming to the
 | |
| 	// "device.model.identifier" semantic conventions. It represents the model
 | |
| 	// identifier for the device
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'iPhone3,4', 'SM-G920F'
 | |
| 	// 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.
 | |
| 	DeviceModelIdentifierKey = attribute.Key("device.model.identifier")
 | |
| 
 | |
| 	// DeviceModelNameKey is the attribute Key conforming to the
 | |
| 	// "device.model.name" semantic conventions. It represents the marketing
 | |
| 	// name for the device model
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'iPhone 6s Plus', 'Samsung Galaxy S6'
 | |
| 	// Note: It's recommended this value represents a human-readable version of
 | |
| 	// the device model rather than a machine-readable alternative.
 | |
| 	DeviceModelNameKey = attribute.Key("device.model.name")
 | |
| )
 | |
| 
 | |
| // DeviceID returns an attribute KeyValue conforming to the "device.id"
 | |
| // semantic conventions. It represents a unique identifier representing the
 | |
| // device
 | |
| func DeviceID(val string) attribute.KeyValue {
 | |
| 	return DeviceIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // DeviceManufacturer returns an attribute KeyValue conforming to the
 | |
| // "device.manufacturer" semantic conventions. It represents the name of the
 | |
| // device manufacturer
 | |
| func DeviceManufacturer(val string) attribute.KeyValue {
 | |
| 	return DeviceManufacturerKey.String(val)
 | |
| }
 | |
| 
 | |
| // DeviceModelIdentifier returns an attribute KeyValue conforming to the
 | |
| // "device.model.identifier" semantic conventions. It represents the model
 | |
| // identifier for the device
 | |
| func DeviceModelIdentifier(val string) attribute.KeyValue {
 | |
| 	return DeviceModelIdentifierKey.String(val)
 | |
| }
 | |
| 
 | |
| // DeviceModelName returns an attribute KeyValue conforming to the
 | |
| // "device.model.name" semantic conventions. It represents the marketing name
 | |
| // for the device model
 | |
| func DeviceModelName(val string) attribute.KeyValue {
 | |
| 	return DeviceModelNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // These attributes may be used for any disk related operation.
 | |
| const (
 | |
| 	// DiskIoDirectionKey is the attribute Key conforming to the
 | |
| 	// "disk.io.direction" semantic conventions. It represents the disk IO
 | |
| 	// operation direction.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'read'
 | |
| 	DiskIoDirectionKey = attribute.Key("disk.io.direction")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// read
 | |
| 	DiskIoDirectionRead = DiskIoDirectionKey.String("read")
 | |
| 	// write
 | |
| 	DiskIoDirectionWrite = DiskIoDirectionKey.String("write")
 | |
| )
 | |
| 
 | |
| // The shared attributes used to report a DNS query.
 | |
| const (
 | |
| 	// DNSQuestionNameKey is the attribute Key conforming to the
 | |
| 	// "dns.question.name" semantic conventions. It represents the name being
 | |
| 	// queried.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'www.example.com', 'opentelemetry.io'
 | |
| 	// 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.
 | |
| 	DNSQuestionNameKey = attribute.Key("dns.question.name")
 | |
| )
 | |
| 
 | |
| // DNSQuestionName returns an attribute KeyValue conforming to the
 | |
| // "dns.question.name" semantic conventions. It represents the name being
 | |
| // queried.
 | |
| func DNSQuestionName(val string) attribute.KeyValue {
 | |
| 	return DNSQuestionNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // Attributes for operations with an authenticated and/or authorized enduser.
 | |
| const (
 | |
| 	// EnduserIDKey is the attribute Key conforming to the "enduser.id"
 | |
| 	// semantic conventions. It represents the username or client_id extracted
 | |
| 	// from the access token or
 | |
| 	// [Authorization](https://tools.ietf.org/html/rfc7235#section-4.2) header
 | |
| 	// in the inbound request from outside the system.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'username'
 | |
| 	EnduserIDKey = attribute.Key("enduser.id")
 | |
| 
 | |
| 	// EnduserRoleKey is the attribute Key conforming to the "enduser.role"
 | |
| 	// semantic conventions. It represents the actual/assumed role the client
 | |
| 	// is making the request under extracted from token or application security
 | |
| 	// context.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'admin'
 | |
| 	EnduserRoleKey = attribute.Key("enduser.role")
 | |
| 
 | |
| 	// EnduserScopeKey is the attribute Key conforming to the "enduser.scope"
 | |
| 	// semantic conventions. It represents the 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](https://tools.ietf.org/html/rfc6749#section-3.3) or an attribute
 | |
| 	// value in a [SAML 2.0
 | |
| 	// Assertion](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'read:message, write:files'
 | |
| 	EnduserScopeKey = attribute.Key("enduser.scope")
 | |
| )
 | |
| 
 | |
| // EnduserID returns an attribute KeyValue conforming to the "enduser.id"
 | |
| // semantic conventions. It represents the username or client_id extracted from
 | |
| // the access token or
 | |
| // [Authorization](https://tools.ietf.org/html/rfc7235#section-4.2) header in
 | |
| // the inbound request from outside the system.
 | |
| func EnduserID(val string) attribute.KeyValue {
 | |
| 	return EnduserIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // EnduserRole returns an attribute KeyValue conforming to the
 | |
| // "enduser.role" semantic conventions. It represents the actual/assumed role
 | |
| // the client is making the request under extracted from token or application
 | |
| // security context.
 | |
| func EnduserRole(val string) attribute.KeyValue {
 | |
| 	return EnduserRoleKey.String(val)
 | |
| }
 | |
| 
 | |
| // EnduserScope returns an attribute KeyValue conforming to the
 | |
| // "enduser.scope" semantic conventions. It represents the 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](https://tools.ietf.org/html/rfc6749#section-3.3) or an attribute
 | |
| // value in a [SAML 2.0
 | |
| // Assertion](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html).
 | |
| func EnduserScope(val string) attribute.KeyValue {
 | |
| 	return EnduserScopeKey.String(val)
 | |
| }
 | |
| 
 | |
| // The shared attributes used to report an error.
 | |
| const (
 | |
| 	// ErrorTypeKey is the attribute Key conforming to the "error.type"
 | |
| 	// semantic conventions. It represents the describes a class of error the
 | |
| 	// operation ended with.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'timeout', 'java.net.UnknownHostException',
 | |
| 	// 'server_certificate_invalid', '500'
 | |
| 	// 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.
 | |
| 	ErrorTypeKey = attribute.Key("error.type")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// A fallback error value to be used when the instrumentation doesn't define a custom value
 | |
| 	ErrorTypeOther = ErrorTypeKey.String("_OTHER")
 | |
| )
 | |
| 
 | |
| // Attributes for Events represented using Log Records.
 | |
| const (
 | |
| 	// EventNameKey is the attribute Key conforming to the "event.name"
 | |
| 	// semantic conventions. It represents the identifies the class / type of
 | |
| 	// event.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'browser.mouse.click', 'device.app.lifecycle'
 | |
| 	// Note: Event names are subject to the same rules as [attribute
 | |
| 	// names](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/common/attribute-naming.md).
 | |
| 	// 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.
 | |
| 	EventNameKey = attribute.Key("event.name")
 | |
| )
 | |
| 
 | |
| // EventName returns an attribute KeyValue conforming to the "event.name"
 | |
| // semantic conventions. It represents the identifies the class / type of
 | |
| // event.
 | |
| func EventName(val string) attribute.KeyValue {
 | |
| 	return EventNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // The shared attributes used to report a single exception associated with a
 | |
| // span or log.
 | |
| const (
 | |
| 	// ExceptionEscapedKey is the attribute Key conforming to the
 | |
| 	// "exception.escaped" semantic conventions. It represents the 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.
 | |
| 	//
 | |
| 	// Type: boolean
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// 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](https://opentelemetry.io/docs/specs/semconv/exceptions/exceptions-spans/#recording-an-exception).
 | |
| 	//
 | |
| 	// 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.
 | |
| 	ExceptionEscapedKey = attribute.Key("exception.escaped")
 | |
| 
 | |
| 	// ExceptionMessageKey is the attribute Key conforming to the
 | |
| 	// "exception.message" semantic conventions. It represents the exception
 | |
| 	// message.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'Division by zero', "Can't convert 'int' object to str
 | |
| 	// implicitly"
 | |
| 	ExceptionMessageKey = attribute.Key("exception.message")
 | |
| 
 | |
| 	// ExceptionStacktraceKey is the attribute Key conforming to the
 | |
| 	// "exception.stacktrace" semantic conventions. It represents 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'Exception in thread "main" java.lang.RuntimeException: Test
 | |
| 	// exception\\n at '
 | |
| 	//  'com.example.GenerateTrace.methodB(GenerateTrace.java:13)\\n at '
 | |
| 	//  'com.example.GenerateTrace.methodA(GenerateTrace.java:9)\\n at '
 | |
| 	//  'com.example.GenerateTrace.main(GenerateTrace.java:5)'
 | |
| 	ExceptionStacktraceKey = attribute.Key("exception.stacktrace")
 | |
| 
 | |
| 	// ExceptionTypeKey is the attribute Key conforming to the "exception.type"
 | |
| 	// semantic conventions. It represents 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'java.net.ConnectException', 'OSError'
 | |
| 	ExceptionTypeKey = attribute.Key("exception.type")
 | |
| )
 | |
| 
 | |
| // ExceptionEscaped returns an attribute KeyValue conforming to the
 | |
| // "exception.escaped" semantic conventions. It represents the 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.
 | |
| func ExceptionEscaped(val bool) attribute.KeyValue {
 | |
| 	return ExceptionEscapedKey.Bool(val)
 | |
| }
 | |
| 
 | |
| // ExceptionMessage returns an attribute KeyValue conforming to the
 | |
| // "exception.message" semantic conventions. It represents the exception
 | |
| // message.
 | |
| func ExceptionMessage(val string) attribute.KeyValue {
 | |
| 	return ExceptionMessageKey.String(val)
 | |
| }
 | |
| 
 | |
| // ExceptionStacktrace returns an attribute KeyValue conforming to the
 | |
| // "exception.stacktrace" semantic conventions. It represents 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.
 | |
| func ExceptionStacktrace(val string) attribute.KeyValue {
 | |
| 	return ExceptionStacktraceKey.String(val)
 | |
| }
 | |
| 
 | |
| // ExceptionType returns an attribute KeyValue conforming to the
 | |
| // "exception.type" semantic conventions. It represents 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.
 | |
| func ExceptionType(val string) attribute.KeyValue {
 | |
| 	return ExceptionTypeKey.String(val)
 | |
| }
 | |
| 
 | |
| // FaaS attributes
 | |
| const (
 | |
| 	// FaaSColdstartKey is the attribute Key conforming to the "faas.coldstart"
 | |
| 	// semantic conventions. It represents a boolean that is true if the
 | |
| 	// serverless function is executed for the first time (aka cold-start).
 | |
| 	//
 | |
| 	// Type: boolean
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	FaaSColdstartKey = attribute.Key("faas.coldstart")
 | |
| 
 | |
| 	// FaaSCronKey is the attribute Key conforming to the "faas.cron" semantic
 | |
| 	// conventions. It represents a string containing the schedule period as
 | |
| 	// [Cron
 | |
| 	// Expression](https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '0/5 * * * ? *'
 | |
| 	FaaSCronKey = attribute.Key("faas.cron")
 | |
| 
 | |
| 	// FaaSDocumentCollectionKey is the attribute Key conforming to the
 | |
| 	// "faas.document.collection" semantic conventions. It represents 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'myBucketName', 'myDBName'
 | |
| 	FaaSDocumentCollectionKey = attribute.Key("faas.document.collection")
 | |
| 
 | |
| 	// FaaSDocumentNameKey is the attribute Key conforming to the
 | |
| 	// "faas.document.name" semantic conventions. It represents 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'myFile.txt', 'myTableName'
 | |
| 	FaaSDocumentNameKey = attribute.Key("faas.document.name")
 | |
| 
 | |
| 	// FaaSDocumentOperationKey is the attribute Key conforming to the
 | |
| 	// "faas.document.operation" semantic conventions. It represents the
 | |
| 	// describes the type of the operation that was performed on the data.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	FaaSDocumentOperationKey = attribute.Key("faas.document.operation")
 | |
| 
 | |
| 	// FaaSDocumentTimeKey is the attribute Key conforming to the
 | |
| 	// "faas.document.time" semantic conventions. It represents a string
 | |
| 	// containing the time when the data was accessed in the [ISO
 | |
| 	// 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format
 | |
| 	// expressed in [UTC](https://www.w3.org/TR/NOTE-datetime).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '2020-01-23T13:47:06Z'
 | |
| 	FaaSDocumentTimeKey = attribute.Key("faas.document.time")
 | |
| 
 | |
| 	// FaaSInstanceKey is the attribute Key conforming to the "faas.instance"
 | |
| 	// semantic conventions. It represents the execution environment ID as a
 | |
| 	// string, that will be potentially reused for other invocations to the
 | |
| 	// same function/function version.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de'
 | |
| 	// Note: * **AWS Lambda:** Use the (full) log stream name.
 | |
| 	FaaSInstanceKey = attribute.Key("faas.instance")
 | |
| 
 | |
| 	// FaaSInvocationIDKey is the attribute Key conforming to the
 | |
| 	// "faas.invocation_id" semantic conventions. It represents the invocation
 | |
| 	// ID of the current function invocation.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'af9d5aa4-a685-4c5f-a22b-444f80b3cc28'
 | |
| 	FaaSInvocationIDKey = attribute.Key("faas.invocation_id")
 | |
| 
 | |
| 	// FaaSInvokedNameKey is the attribute Key conforming to the
 | |
| 	// "faas.invoked_name" semantic conventions. It represents the name of the
 | |
| 	// invoked function.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'my-function'
 | |
| 	// Note: SHOULD be equal to the `faas.name` resource attribute of the
 | |
| 	// invoked function.
 | |
| 	FaaSInvokedNameKey = attribute.Key("faas.invoked_name")
 | |
| 
 | |
| 	// FaaSInvokedProviderKey is the attribute Key conforming to the
 | |
| 	// "faas.invoked_provider" semantic conventions. It represents the cloud
 | |
| 	// provider of the invoked function.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Note: SHOULD be equal to the `cloud.provider` resource attribute of the
 | |
| 	// invoked function.
 | |
| 	FaaSInvokedProviderKey = attribute.Key("faas.invoked_provider")
 | |
| 
 | |
| 	// FaaSInvokedRegionKey is the attribute Key conforming to the
 | |
| 	// "faas.invoked_region" semantic conventions. It represents the cloud
 | |
| 	// region of the invoked function.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'eu-central-1'
 | |
| 	// Note: SHOULD be equal to the `cloud.region` resource attribute of the
 | |
| 	// invoked function.
 | |
| 	FaaSInvokedRegionKey = attribute.Key("faas.invoked_region")
 | |
| 
 | |
| 	// FaaSMaxMemoryKey is the attribute Key conforming to the
 | |
| 	// "faas.max_memory" semantic conventions. It represents the amount of
 | |
| 	// memory available to the serverless function converted to Bytes.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 134217728
 | |
| 	// 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).
 | |
| 	FaaSMaxMemoryKey = attribute.Key("faas.max_memory")
 | |
| 
 | |
| 	// FaaSNameKey is the attribute Key conforming to the "faas.name" semantic
 | |
| 	// conventions. It represents the name of the single function that this
 | |
| 	// runtime instance executes.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'my-function', 'myazurefunctionapp/some-function-name'
 | |
| 	// 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`](/docs/general/attributes.md#source-code-attributes)
 | |
| 	// 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 `<FUNCAPP>/<FUNC>`, 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).
 | |
| 	FaaSNameKey = attribute.Key("faas.name")
 | |
| 
 | |
| 	// FaaSTimeKey is the attribute Key conforming to the "faas.time" semantic
 | |
| 	// conventions. It represents a string containing the function invocation
 | |
| 	// time in the [ISO
 | |
| 	// 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format
 | |
| 	// expressed in [UTC](https://www.w3.org/TR/NOTE-datetime).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '2020-01-23T13:47:06Z'
 | |
| 	FaaSTimeKey = attribute.Key("faas.time")
 | |
| 
 | |
| 	// FaaSTriggerKey is the attribute Key conforming to the "faas.trigger"
 | |
| 	// semantic conventions. It represents the type of the trigger which caused
 | |
| 	// this function invocation.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	FaaSTriggerKey = attribute.Key("faas.trigger")
 | |
| 
 | |
| 	// FaaSVersionKey is the attribute Key conforming to the "faas.version"
 | |
| 	// semantic conventions. It represents the immutable version of the
 | |
| 	// function being executed.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '26', 'pinkfroid-00002'
 | |
| 	// Note: Depending on the cloud provider and platform, use:
 | |
| 	//
 | |
| 	// * **AWS Lambda:** The [function
 | |
| 	// version](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html)
 | |
| 	//   (an integer represented as a decimal string).
 | |
| 	// * **Google Cloud Run (Services):** The
 | |
| 	// [revision](https://cloud.google.com/run/docs/managing/revisions)
 | |
| 	//   (i.e., the function name plus the revision suffix).
 | |
| 	// * **Google Cloud Functions:** The value of the
 | |
| 	//   [`K_REVISION` environment
 | |
| 	// variable](https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically).
 | |
| 	// * **Azure Functions:** Not applicable. Do not set this attribute.
 | |
| 	FaaSVersionKey = attribute.Key("faas.version")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// When a new object is created
 | |
| 	FaaSDocumentOperationInsert = FaaSDocumentOperationKey.String("insert")
 | |
| 	// When an object is modified
 | |
| 	FaaSDocumentOperationEdit = FaaSDocumentOperationKey.String("edit")
 | |
| 	// When an object is deleted
 | |
| 	FaaSDocumentOperationDelete = FaaSDocumentOperationKey.String("delete")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// Alibaba Cloud
 | |
| 	FaaSInvokedProviderAlibabaCloud = FaaSInvokedProviderKey.String("alibaba_cloud")
 | |
| 	// Amazon Web Services
 | |
| 	FaaSInvokedProviderAWS = FaaSInvokedProviderKey.String("aws")
 | |
| 	// Microsoft Azure
 | |
| 	FaaSInvokedProviderAzure = FaaSInvokedProviderKey.String("azure")
 | |
| 	// Google Cloud Platform
 | |
| 	FaaSInvokedProviderGCP = FaaSInvokedProviderKey.String("gcp")
 | |
| 	// Tencent Cloud
 | |
| 	FaaSInvokedProviderTencentCloud = FaaSInvokedProviderKey.String("tencent_cloud")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// A response to some data source operation such as a database or filesystem read/write
 | |
| 	FaaSTriggerDatasource = FaaSTriggerKey.String("datasource")
 | |
| 	// To provide an answer to an inbound HTTP request
 | |
| 	FaaSTriggerHTTP = FaaSTriggerKey.String("http")
 | |
| 	// A function is set to be executed when messages are sent to a messaging system
 | |
| 	FaaSTriggerPubsub = FaaSTriggerKey.String("pubsub")
 | |
| 	// A function is scheduled to be executed regularly
 | |
| 	FaaSTriggerTimer = FaaSTriggerKey.String("timer")
 | |
| 	// If none of the others apply
 | |
| 	FaaSTriggerOther = FaaSTriggerKey.String("other")
 | |
| )
 | |
| 
 | |
| // FaaSColdstart returns an attribute KeyValue conforming to the
 | |
| // "faas.coldstart" semantic conventions. It represents a boolean that is true
 | |
| // if the serverless function is executed for the first time (aka cold-start).
 | |
| func FaaSColdstart(val bool) attribute.KeyValue {
 | |
| 	return FaaSColdstartKey.Bool(val)
 | |
| }
 | |
| 
 | |
| // FaaSCron returns an attribute KeyValue conforming to the "faas.cron"
 | |
| // semantic conventions. It represents a string containing the schedule period
 | |
| // as [Cron
 | |
| // Expression](https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm).
 | |
| func FaaSCron(val string) attribute.KeyValue {
 | |
| 	return FaaSCronKey.String(val)
 | |
| }
 | |
| 
 | |
| // FaaSDocumentCollection returns an attribute KeyValue conforming to the
 | |
| // "faas.document.collection" semantic conventions. It represents 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.
 | |
| func FaaSDocumentCollection(val string) attribute.KeyValue {
 | |
| 	return FaaSDocumentCollectionKey.String(val)
 | |
| }
 | |
| 
 | |
| // FaaSDocumentName returns an attribute KeyValue conforming to the
 | |
| // "faas.document.name" semantic conventions. It represents 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.
 | |
| func FaaSDocumentName(val string) attribute.KeyValue {
 | |
| 	return FaaSDocumentNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // FaaSDocumentTime returns an attribute KeyValue conforming to the
 | |
| // "faas.document.time" semantic conventions. It represents a string containing
 | |
| // the time when the data was accessed in the [ISO
 | |
| // 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format
 | |
| // expressed in [UTC](https://www.w3.org/TR/NOTE-datetime).
 | |
| func FaaSDocumentTime(val string) attribute.KeyValue {
 | |
| 	return FaaSDocumentTimeKey.String(val)
 | |
| }
 | |
| 
 | |
| // FaaSInstance returns an attribute KeyValue conforming to the
 | |
| // "faas.instance" semantic conventions. It represents the execution
 | |
| // environment ID as a string, that will be potentially reused for other
 | |
| // invocations to the same function/function version.
 | |
| func FaaSInstance(val string) attribute.KeyValue {
 | |
| 	return FaaSInstanceKey.String(val)
 | |
| }
 | |
| 
 | |
| // FaaSInvocationID returns an attribute KeyValue conforming to the
 | |
| // "faas.invocation_id" semantic conventions. It represents the invocation ID
 | |
| // of the current function invocation.
 | |
| func FaaSInvocationID(val string) attribute.KeyValue {
 | |
| 	return FaaSInvocationIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // FaaSInvokedName returns an attribute KeyValue conforming to the
 | |
| // "faas.invoked_name" semantic conventions. It represents the name of the
 | |
| // invoked function.
 | |
| func FaaSInvokedName(val string) attribute.KeyValue {
 | |
| 	return FaaSInvokedNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // FaaSInvokedRegion returns an attribute KeyValue conforming to the
 | |
| // "faas.invoked_region" semantic conventions. It represents the cloud region
 | |
| // of the invoked function.
 | |
| func FaaSInvokedRegion(val string) attribute.KeyValue {
 | |
| 	return FaaSInvokedRegionKey.String(val)
 | |
| }
 | |
| 
 | |
| // FaaSMaxMemory returns an attribute KeyValue conforming to the
 | |
| // "faas.max_memory" semantic conventions. It represents the amount of memory
 | |
| // available to the serverless function converted to Bytes.
 | |
| func FaaSMaxMemory(val int) attribute.KeyValue {
 | |
| 	return FaaSMaxMemoryKey.Int(val)
 | |
| }
 | |
| 
 | |
| // FaaSName returns an attribute KeyValue conforming to the "faas.name"
 | |
| // semantic conventions. It represents the name of the single function that
 | |
| // this runtime instance executes.
 | |
| func FaaSName(val string) attribute.KeyValue {
 | |
| 	return FaaSNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // FaaSTime returns an attribute KeyValue conforming to the "faas.time"
 | |
| // semantic conventions. It represents a string containing the function
 | |
| // invocation time in the [ISO
 | |
| // 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format
 | |
| // expressed in [UTC](https://www.w3.org/TR/NOTE-datetime).
 | |
| func FaaSTime(val string) attribute.KeyValue {
 | |
| 	return FaaSTimeKey.String(val)
 | |
| }
 | |
| 
 | |
| // FaaSVersion returns an attribute KeyValue conforming to the
 | |
| // "faas.version" semantic conventions. It represents the immutable version of
 | |
| // the function being executed.
 | |
| func FaaSVersion(val string) attribute.KeyValue {
 | |
| 	return FaaSVersionKey.String(val)
 | |
| }
 | |
| 
 | |
| // Attributes for Feature Flags.
 | |
| const (
 | |
| 	// FeatureFlagKeyKey is the attribute Key conforming to the
 | |
| 	// "feature_flag.key" semantic conventions. It represents the unique
 | |
| 	// identifier of the feature flag.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'logo-color'
 | |
| 	FeatureFlagKeyKey = attribute.Key("feature_flag.key")
 | |
| 
 | |
| 	// FeatureFlagProviderNameKey is the attribute Key conforming to the
 | |
| 	// "feature_flag.provider_name" semantic conventions. It represents the
 | |
| 	// name of the service provider that performs the flag evaluation.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'Flag Manager'
 | |
| 	FeatureFlagProviderNameKey = attribute.Key("feature_flag.provider_name")
 | |
| 
 | |
| 	// FeatureFlagVariantKey is the attribute Key conforming to the
 | |
| 	// "feature_flag.variant" semantic conventions. It represents the sHOULD be
 | |
| 	// a semantic identifier for a value. If one is unavailable, a stringified
 | |
| 	// version of the value can be used.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'red', 'true', 'on'
 | |
| 	// 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.
 | |
| 	FeatureFlagVariantKey = attribute.Key("feature_flag.variant")
 | |
| )
 | |
| 
 | |
| // FeatureFlagKey returns an attribute KeyValue conforming to the
 | |
| // "feature_flag.key" semantic conventions. It represents the unique identifier
 | |
| // of the feature flag.
 | |
| func FeatureFlagKey(val string) attribute.KeyValue {
 | |
| 	return FeatureFlagKeyKey.String(val)
 | |
| }
 | |
| 
 | |
| // FeatureFlagProviderName returns an attribute KeyValue conforming to the
 | |
| // "feature_flag.provider_name" semantic conventions. It represents the name of
 | |
| // the service provider that performs the flag evaluation.
 | |
| func FeatureFlagProviderName(val string) attribute.KeyValue {
 | |
| 	return FeatureFlagProviderNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // FeatureFlagVariant returns an attribute KeyValue conforming to the
 | |
| // "feature_flag.variant" semantic conventions. It represents the sHOULD be a
 | |
| // semantic identifier for a value. If one is unavailable, a stringified
 | |
| // version of the value can be used.
 | |
| func FeatureFlagVariant(val string) attribute.KeyValue {
 | |
| 	return FeatureFlagVariantKey.String(val)
 | |
| }
 | |
| 
 | |
| // Describes file attributes.
 | |
| const (
 | |
| 	// FileDirectoryKey is the attribute Key conforming to the "file.directory"
 | |
| 	// semantic conventions. It represents the directory where the file is
 | |
| 	// located. It should include the drive letter, when appropriate.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '/home/user', 'C:\\Program Files\\MyApp'
 | |
| 	FileDirectoryKey = attribute.Key("file.directory")
 | |
| 
 | |
| 	// FileExtensionKey is the attribute Key conforming to the "file.extension"
 | |
| 	// semantic conventions. It represents the file extension, excluding the
 | |
| 	// leading dot.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'png', 'gz'
 | |
| 	// Note: When the file name has multiple extensions (example.tar.gz), only
 | |
| 	// the last one should be captured ("gz", not "tar.gz").
 | |
| 	FileExtensionKey = attribute.Key("file.extension")
 | |
| 
 | |
| 	// FileNameKey is the attribute Key conforming to the "file.name" semantic
 | |
| 	// conventions. It represents the name of the file including the extension,
 | |
| 	// without the directory.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'example.png'
 | |
| 	FileNameKey = attribute.Key("file.name")
 | |
| 
 | |
| 	// FilePathKey is the attribute Key conforming to the "file.path" semantic
 | |
| 	// conventions. It represents the full path to the file, including the file
 | |
| 	// name. It should include the drive letter, when appropriate.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '/home/alice/example.png', 'C:\\Program
 | |
| 	// Files\\MyApp\\myapp.exe'
 | |
| 	FilePathKey = attribute.Key("file.path")
 | |
| 
 | |
| 	// FileSizeKey is the attribute Key conforming to the "file.size" semantic
 | |
| 	// conventions. It represents the file size in bytes.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	FileSizeKey = attribute.Key("file.size")
 | |
| )
 | |
| 
 | |
| // FileDirectory returns an attribute KeyValue conforming to the
 | |
| // "file.directory" semantic conventions. It represents the directory where the
 | |
| // file is located. It should include the drive letter, when appropriate.
 | |
| func FileDirectory(val string) attribute.KeyValue {
 | |
| 	return FileDirectoryKey.String(val)
 | |
| }
 | |
| 
 | |
| // FileExtension returns an attribute KeyValue conforming to the
 | |
| // "file.extension" semantic conventions. It represents the file extension,
 | |
| // excluding the leading dot.
 | |
| func FileExtension(val string) attribute.KeyValue {
 | |
| 	return FileExtensionKey.String(val)
 | |
| }
 | |
| 
 | |
| // FileName returns an attribute KeyValue conforming to the "file.name"
 | |
| // semantic conventions. It represents the name of the file including the
 | |
| // extension, without the directory.
 | |
| func FileName(val string) attribute.KeyValue {
 | |
| 	return FileNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // FilePath returns an attribute KeyValue conforming to the "file.path"
 | |
| // semantic conventions. It represents the full path to the file, including the
 | |
| // file name. It should include the drive letter, when appropriate.
 | |
| func FilePath(val string) attribute.KeyValue {
 | |
| 	return FilePathKey.String(val)
 | |
| }
 | |
| 
 | |
| // FileSize returns an attribute KeyValue conforming to the "file.size"
 | |
| // semantic conventions. It represents the file size in bytes.
 | |
| func FileSize(val int) attribute.KeyValue {
 | |
| 	return FileSizeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // Attributes for Google Cloud Run.
 | |
| const (
 | |
| 	// GCPCloudRunJobExecutionKey is the attribute Key conforming to the
 | |
| 	// "gcp.cloud_run.job.execution" semantic conventions. It represents the
 | |
| 	// name of the Cloud Run
 | |
| 	// [execution](https://cloud.google.com/run/docs/managing/job-executions)
 | |
| 	// being run for the Job, as set by the
 | |
| 	// [`CLOUD_RUN_EXECUTION`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars)
 | |
| 	// environment variable.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'job-name-xxxx', 'sample-job-mdw84'
 | |
| 	GCPCloudRunJobExecutionKey = attribute.Key("gcp.cloud_run.job.execution")
 | |
| 
 | |
| 	// GCPCloudRunJobTaskIndexKey is the attribute Key conforming to the
 | |
| 	// "gcp.cloud_run.job.task_index" semantic conventions. It represents the
 | |
| 	// index for a task within an execution as provided by the
 | |
| 	// [`CLOUD_RUN_TASK_INDEX`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars)
 | |
| 	// environment variable.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 0, 1
 | |
| 	GCPCloudRunJobTaskIndexKey = attribute.Key("gcp.cloud_run.job.task_index")
 | |
| )
 | |
| 
 | |
| // GCPCloudRunJobExecution returns an attribute KeyValue conforming to the
 | |
| // "gcp.cloud_run.job.execution" semantic conventions. It represents the name
 | |
| // of the Cloud Run
 | |
| // [execution](https://cloud.google.com/run/docs/managing/job-executions) being
 | |
| // run for the Job, as set by the
 | |
| // [`CLOUD_RUN_EXECUTION`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars)
 | |
| // environment variable.
 | |
| func GCPCloudRunJobExecution(val string) attribute.KeyValue {
 | |
| 	return GCPCloudRunJobExecutionKey.String(val)
 | |
| }
 | |
| 
 | |
| // GCPCloudRunJobTaskIndex returns an attribute KeyValue conforming to the
 | |
| // "gcp.cloud_run.job.task_index" semantic conventions. It represents the index
 | |
| // for a task within an execution as provided by the
 | |
| // [`CLOUD_RUN_TASK_INDEX`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars)
 | |
| // environment variable.
 | |
| func GCPCloudRunJobTaskIndex(val int) attribute.KeyValue {
 | |
| 	return GCPCloudRunJobTaskIndexKey.Int(val)
 | |
| }
 | |
| 
 | |
| // Attributes for Google Compute Engine (GCE).
 | |
| const (
 | |
| 	// GCPGceInstanceHostnameKey is the attribute Key conforming to the
 | |
| 	// "gcp.gce.instance.hostname" semantic conventions. It represents the
 | |
| 	// hostname of a GCE instance. This is the full value of the default or
 | |
| 	// [custom
 | |
| 	// hostname](https://cloud.google.com/compute/docs/instances/custom-hostname-vm).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'my-host1234.example.com',
 | |
| 	// 'sample-vm.us-west1-b.c.my-project.internal'
 | |
| 	GCPGceInstanceHostnameKey = attribute.Key("gcp.gce.instance.hostname")
 | |
| 
 | |
| 	// GCPGceInstanceNameKey is the attribute Key conforming to the
 | |
| 	// "gcp.gce.instance.name" semantic conventions. It represents 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](https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'instance-1', 'my-vm-name'
 | |
| 	GCPGceInstanceNameKey = attribute.Key("gcp.gce.instance.name")
 | |
| )
 | |
| 
 | |
| // GCPGceInstanceHostname returns an attribute KeyValue conforming to the
 | |
| // "gcp.gce.instance.hostname" semantic conventions. It represents the hostname
 | |
| // of a GCE instance. This is the full value of the default or [custom
 | |
| // hostname](https://cloud.google.com/compute/docs/instances/custom-hostname-vm).
 | |
| func GCPGceInstanceHostname(val string) attribute.KeyValue {
 | |
| 	return GCPGceInstanceHostnameKey.String(val)
 | |
| }
 | |
| 
 | |
| // GCPGceInstanceName returns an attribute KeyValue conforming to the
 | |
| // "gcp.gce.instance.name" semantic conventions. It represents 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](https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names).
 | |
| func GCPGceInstanceName(val string) attribute.KeyValue {
 | |
| 	return GCPGceInstanceNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // The attributes used to describe telemetry in the context of LLM (Large
 | |
| // Language Models) requests and responses.
 | |
| const (
 | |
| 	// GenAiCompletionKey is the attribute Key conforming to the
 | |
| 	// "gen_ai.completion" semantic conventions. It represents the full
 | |
| 	// response received from the LLM.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: "[{'role': 'assistant', 'content': 'The capital of France is
 | |
| 	// Paris.'}]"
 | |
| 	// Note: It's RECOMMENDED to format completions as JSON string matching
 | |
| 	// [OpenAI messages
 | |
| 	// format](https://platform.openai.com/docs/guides/text-generation)
 | |
| 	GenAiCompletionKey = attribute.Key("gen_ai.completion")
 | |
| 
 | |
| 	// GenAiPromptKey is the attribute Key conforming to the "gen_ai.prompt"
 | |
| 	// semantic conventions. It represents the full prompt sent to an LLM.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: "[{'role': 'user', 'content': 'What is the capital of
 | |
| 	// France?'}]"
 | |
| 	// Note: It's RECOMMENDED to format prompts as JSON string matching [OpenAI
 | |
| 	// messages
 | |
| 	// format](https://platform.openai.com/docs/guides/text-generation)
 | |
| 	GenAiPromptKey = attribute.Key("gen_ai.prompt")
 | |
| 
 | |
| 	// GenAiRequestMaxTokensKey is the attribute Key conforming to the
 | |
| 	// "gen_ai.request.max_tokens" semantic conventions. It represents the
 | |
| 	// maximum number of tokens the LLM generates for a request.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 100
 | |
| 	GenAiRequestMaxTokensKey = attribute.Key("gen_ai.request.max_tokens")
 | |
| 
 | |
| 	// GenAiRequestModelKey is the attribute Key conforming to the
 | |
| 	// "gen_ai.request.model" semantic conventions. It represents the name of
 | |
| 	// the LLM a request is being made to.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'gpt-4'
 | |
| 	GenAiRequestModelKey = attribute.Key("gen_ai.request.model")
 | |
| 
 | |
| 	// GenAiRequestTemperatureKey is the attribute Key conforming to the
 | |
| 	// "gen_ai.request.temperature" semantic conventions. It represents the
 | |
| 	// temperature setting for the LLM request.
 | |
| 	//
 | |
| 	// Type: double
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 0.0
 | |
| 	GenAiRequestTemperatureKey = attribute.Key("gen_ai.request.temperature")
 | |
| 
 | |
| 	// GenAiRequestTopPKey is the attribute Key conforming to the
 | |
| 	// "gen_ai.request.top_p" semantic conventions. It represents the top_p
 | |
| 	// sampling setting for the LLM request.
 | |
| 	//
 | |
| 	// Type: double
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 1.0
 | |
| 	GenAiRequestTopPKey = attribute.Key("gen_ai.request.top_p")
 | |
| 
 | |
| 	// GenAiResponseFinishReasonsKey is the attribute Key conforming to the
 | |
| 	// "gen_ai.response.finish_reasons" semantic conventions. It represents the
 | |
| 	// array of reasons the model stopped generating tokens, corresponding to
 | |
| 	// each generation received.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'stop'
 | |
| 	GenAiResponseFinishReasonsKey = attribute.Key("gen_ai.response.finish_reasons")
 | |
| 
 | |
| 	// GenAiResponseIDKey is the attribute Key conforming to the
 | |
| 	// "gen_ai.response.id" semantic conventions. It represents the unique
 | |
| 	// identifier for the completion.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'chatcmpl-123'
 | |
| 	GenAiResponseIDKey = attribute.Key("gen_ai.response.id")
 | |
| 
 | |
| 	// GenAiResponseModelKey is the attribute Key conforming to the
 | |
| 	// "gen_ai.response.model" semantic conventions. It represents the name of
 | |
| 	// the LLM a response was generated from.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'gpt-4-0613'
 | |
| 	GenAiResponseModelKey = attribute.Key("gen_ai.response.model")
 | |
| 
 | |
| 	// GenAiSystemKey is the attribute Key conforming to the "gen_ai.system"
 | |
| 	// semantic conventions. It represents the Generative AI product as
 | |
| 	// identified by the client instrumentation.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'openai'
 | |
| 	// 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.
 | |
| 	GenAiSystemKey = attribute.Key("gen_ai.system")
 | |
| 
 | |
| 	// GenAiUsageCompletionTokensKey is the attribute Key conforming to the
 | |
| 	// "gen_ai.usage.completion_tokens" semantic conventions. It represents the
 | |
| 	// number of tokens used in the LLM response (completion).
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 180
 | |
| 	GenAiUsageCompletionTokensKey = attribute.Key("gen_ai.usage.completion_tokens")
 | |
| 
 | |
| 	// GenAiUsagePromptTokensKey is the attribute Key conforming to the
 | |
| 	// "gen_ai.usage.prompt_tokens" semantic conventions. It represents the
 | |
| 	// number of tokens used in the LLM prompt.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 100
 | |
| 	GenAiUsagePromptTokensKey = attribute.Key("gen_ai.usage.prompt_tokens")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// OpenAI
 | |
| 	GenAiSystemOpenai = GenAiSystemKey.String("openai")
 | |
| )
 | |
| 
 | |
| // GenAiCompletion returns an attribute KeyValue conforming to the
 | |
| // "gen_ai.completion" semantic conventions. It represents the full response
 | |
| // received from the LLM.
 | |
| func GenAiCompletion(val string) attribute.KeyValue {
 | |
| 	return GenAiCompletionKey.String(val)
 | |
| }
 | |
| 
 | |
| // GenAiPrompt returns an attribute KeyValue conforming to the
 | |
| // "gen_ai.prompt" semantic conventions. It represents the full prompt sent to
 | |
| // an LLM.
 | |
| func GenAiPrompt(val string) attribute.KeyValue {
 | |
| 	return GenAiPromptKey.String(val)
 | |
| }
 | |
| 
 | |
| // GenAiRequestMaxTokens returns an attribute KeyValue conforming to the
 | |
| // "gen_ai.request.max_tokens" semantic conventions. It represents the maximum
 | |
| // number of tokens the LLM generates for a request.
 | |
| func GenAiRequestMaxTokens(val int) attribute.KeyValue {
 | |
| 	return GenAiRequestMaxTokensKey.Int(val)
 | |
| }
 | |
| 
 | |
| // GenAiRequestModel returns an attribute KeyValue conforming to the
 | |
| // "gen_ai.request.model" semantic conventions. It represents the name of the
 | |
| // LLM a request is being made to.
 | |
| func GenAiRequestModel(val string) attribute.KeyValue {
 | |
| 	return GenAiRequestModelKey.String(val)
 | |
| }
 | |
| 
 | |
| // GenAiRequestTemperature returns an attribute KeyValue conforming to the
 | |
| // "gen_ai.request.temperature" semantic conventions. It represents the
 | |
| // temperature setting for the LLM request.
 | |
| func GenAiRequestTemperature(val float64) attribute.KeyValue {
 | |
| 	return GenAiRequestTemperatureKey.Float64(val)
 | |
| }
 | |
| 
 | |
| // GenAiRequestTopP returns an attribute KeyValue conforming to the
 | |
| // "gen_ai.request.top_p" semantic conventions. It represents the top_p
 | |
| // sampling setting for the LLM request.
 | |
| func GenAiRequestTopP(val float64) attribute.KeyValue {
 | |
| 	return GenAiRequestTopPKey.Float64(val)
 | |
| }
 | |
| 
 | |
| // GenAiResponseFinishReasons returns an attribute KeyValue conforming to
 | |
| // the "gen_ai.response.finish_reasons" semantic conventions. It represents the
 | |
| // array of reasons the model stopped generating tokens, corresponding to each
 | |
| // generation received.
 | |
| func GenAiResponseFinishReasons(val ...string) attribute.KeyValue {
 | |
| 	return GenAiResponseFinishReasonsKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // GenAiResponseID returns an attribute KeyValue conforming to the
 | |
| // "gen_ai.response.id" semantic conventions. It represents the unique
 | |
| // identifier for the completion.
 | |
| func GenAiResponseID(val string) attribute.KeyValue {
 | |
| 	return GenAiResponseIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // GenAiResponseModel returns an attribute KeyValue conforming to the
 | |
| // "gen_ai.response.model" semantic conventions. It represents the name of the
 | |
| // LLM a response was generated from.
 | |
| func GenAiResponseModel(val string) attribute.KeyValue {
 | |
| 	return GenAiResponseModelKey.String(val)
 | |
| }
 | |
| 
 | |
| // GenAiUsageCompletionTokens returns an attribute KeyValue conforming to
 | |
| // the "gen_ai.usage.completion_tokens" semantic conventions. It represents the
 | |
| // number of tokens used in the LLM response (completion).
 | |
| func GenAiUsageCompletionTokens(val int) attribute.KeyValue {
 | |
| 	return GenAiUsageCompletionTokensKey.Int(val)
 | |
| }
 | |
| 
 | |
| // GenAiUsagePromptTokens returns an attribute KeyValue conforming to the
 | |
| // "gen_ai.usage.prompt_tokens" semantic conventions. It represents the number
 | |
| // of tokens used in the LLM prompt.
 | |
| func GenAiUsagePromptTokens(val int) attribute.KeyValue {
 | |
| 	return GenAiUsagePromptTokensKey.Int(val)
 | |
| }
 | |
| 
 | |
| // Attributes for GraphQL.
 | |
| const (
 | |
| 	// GraphqlDocumentKey is the attribute Key conforming to the
 | |
| 	// "graphql.document" semantic conventions. It represents the GraphQL
 | |
| 	// document being executed.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'query findBookByID { bookByID(id: ?) { name } }'
 | |
| 	// Note: The value may be sanitized to exclude sensitive information.
 | |
| 	GraphqlDocumentKey = attribute.Key("graphql.document")
 | |
| 
 | |
| 	// GraphqlOperationNameKey is the attribute Key conforming to the
 | |
| 	// "graphql.operation.name" semantic conventions. It represents the name of
 | |
| 	// the operation being executed.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'findBookByID'
 | |
| 	GraphqlOperationNameKey = attribute.Key("graphql.operation.name")
 | |
| 
 | |
| 	// GraphqlOperationTypeKey is the attribute Key conforming to the
 | |
| 	// "graphql.operation.type" semantic conventions. It represents the type of
 | |
| 	// the operation being executed.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'query', 'mutation', 'subscription'
 | |
| 	GraphqlOperationTypeKey = attribute.Key("graphql.operation.type")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// GraphQL query
 | |
| 	GraphqlOperationTypeQuery = GraphqlOperationTypeKey.String("query")
 | |
| 	// GraphQL mutation
 | |
| 	GraphqlOperationTypeMutation = GraphqlOperationTypeKey.String("mutation")
 | |
| 	// GraphQL subscription
 | |
| 	GraphqlOperationTypeSubscription = GraphqlOperationTypeKey.String("subscription")
 | |
| )
 | |
| 
 | |
| // GraphqlDocument returns an attribute KeyValue conforming to the
 | |
| // "graphql.document" semantic conventions. It represents the GraphQL document
 | |
| // being executed.
 | |
| func GraphqlDocument(val string) attribute.KeyValue {
 | |
| 	return GraphqlDocumentKey.String(val)
 | |
| }
 | |
| 
 | |
| // GraphqlOperationName returns an attribute KeyValue conforming to the
 | |
| // "graphql.operation.name" semantic conventions. It represents the name of the
 | |
| // operation being executed.
 | |
| func GraphqlOperationName(val string) attribute.KeyValue {
 | |
| 	return GraphqlOperationNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // Attributes for the Android platform on which the Android application is
 | |
| // running.
 | |
| const (
 | |
| 	// HerokuAppIDKey is the attribute Key conforming to the "heroku.app.id"
 | |
| 	// semantic conventions. It represents the unique identifier for the
 | |
| 	// application
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '2daa2797-e42b-4624-9322-ec3f968df4da'
 | |
| 	HerokuAppIDKey = attribute.Key("heroku.app.id")
 | |
| 
 | |
| 	// HerokuReleaseCommitKey is the attribute Key conforming to the
 | |
| 	// "heroku.release.commit" semantic conventions. It represents the commit
 | |
| 	// hash for the current release
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'e6134959463efd8966b20e75b913cafe3f5ec'
 | |
| 	HerokuReleaseCommitKey = attribute.Key("heroku.release.commit")
 | |
| 
 | |
| 	// HerokuReleaseCreationTimestampKey is the attribute Key conforming to the
 | |
| 	// "heroku.release.creation_timestamp" semantic conventions. It represents
 | |
| 	// the time and date the release was created
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '2022-10-23T18:00:42Z'
 | |
| 	HerokuReleaseCreationTimestampKey = attribute.Key("heroku.release.creation_timestamp")
 | |
| )
 | |
| 
 | |
| // HerokuAppID returns an attribute KeyValue conforming to the
 | |
| // "heroku.app.id" semantic conventions. It represents the unique identifier
 | |
| // for the application
 | |
| func HerokuAppID(val string) attribute.KeyValue {
 | |
| 	return HerokuAppIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // HerokuReleaseCommit returns an attribute KeyValue conforming to the
 | |
| // "heroku.release.commit" semantic conventions. It represents the commit hash
 | |
| // for the current release
 | |
| func HerokuReleaseCommit(val string) attribute.KeyValue {
 | |
| 	return HerokuReleaseCommitKey.String(val)
 | |
| }
 | |
| 
 | |
| // HerokuReleaseCreationTimestamp returns an attribute KeyValue conforming
 | |
| // to the "heroku.release.creation_timestamp" semantic conventions. It
 | |
| // represents the time and date the release was created
 | |
| func HerokuReleaseCreationTimestamp(val string) attribute.KeyValue {
 | |
| 	return HerokuReleaseCreationTimestampKey.String(val)
 | |
| }
 | |
| 
 | |
| // A host is defined as a computing instance. For example, physical servers,
 | |
| // virtual machines, switches or disk array.
 | |
| const (
 | |
| 	// HostArchKey is the attribute Key conforming to the "host.arch" semantic
 | |
| 	// conventions. It represents the CPU architecture the host system is
 | |
| 	// running on.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	HostArchKey = attribute.Key("host.arch")
 | |
| 
 | |
| 	// HostCPUCacheL2SizeKey is the attribute Key conforming to the
 | |
| 	// "host.cpu.cache.l2.size" semantic conventions. It represents the amount
 | |
| 	// of level 2 memory cache available to the processor (in Bytes).
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 12288000
 | |
| 	HostCPUCacheL2SizeKey = attribute.Key("host.cpu.cache.l2.size")
 | |
| 
 | |
| 	// HostCPUFamilyKey is the attribute Key conforming to the
 | |
| 	// "host.cpu.family" semantic conventions. It represents the family or
 | |
| 	// generation of the CPU.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '6', 'PA-RISC 1.1e'
 | |
| 	HostCPUFamilyKey = attribute.Key("host.cpu.family")
 | |
| 
 | |
| 	// HostCPUModelIDKey is the attribute Key conforming to the
 | |
| 	// "host.cpu.model.id" semantic conventions. It represents the model
 | |
| 	// identifier. It provides more granular information about the CPU,
 | |
| 	// distinguishing it from other CPUs within the same family.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '6', '9000/778/B180L'
 | |
| 	HostCPUModelIDKey = attribute.Key("host.cpu.model.id")
 | |
| 
 | |
| 	// HostCPUModelNameKey is the attribute Key conforming to the
 | |
| 	// "host.cpu.model.name" semantic conventions. It represents the model
 | |
| 	// designation of the processor.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz'
 | |
| 	HostCPUModelNameKey = attribute.Key("host.cpu.model.name")
 | |
| 
 | |
| 	// HostCPUSteppingKey is the attribute Key conforming to the
 | |
| 	// "host.cpu.stepping" semantic conventions. It represents the stepping or
 | |
| 	// core revisions.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '1', 'r1p1'
 | |
| 	HostCPUSteppingKey = attribute.Key("host.cpu.stepping")
 | |
| 
 | |
| 	// HostCPUVendorIDKey is the attribute Key conforming to the
 | |
| 	// "host.cpu.vendor.id" semantic conventions. It represents the processor
 | |
| 	// manufacturer identifier. A maximum 12-character string.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'GenuineIntel'
 | |
| 	// Note: [CPUID](https://wiki.osdev.org/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.
 | |
| 	HostCPUVendorIDKey = attribute.Key("host.cpu.vendor.id")
 | |
| 
 | |
| 	// HostIDKey is the attribute Key conforming to the "host.id" semantic
 | |
| 	// conventions. It represents the 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'fdbf79e8af94cb7f9e8df36789187052'
 | |
| 	HostIDKey = attribute.Key("host.id")
 | |
| 
 | |
| 	// HostImageIDKey is the attribute Key conforming to the "host.image.id"
 | |
| 	// semantic conventions. It represents the vM image ID or host OS image ID.
 | |
| 	// For Cloud, this value is from the provider.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'ami-07b06b442921831e5'
 | |
| 	HostImageIDKey = attribute.Key("host.image.id")
 | |
| 
 | |
| 	// HostImageNameKey is the attribute Key conforming to the
 | |
| 	// "host.image.name" semantic conventions. It represents the name of the VM
 | |
| 	// image or OS install the host was instantiated from.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'infra-ami-eks-worker-node-7d4ec78312', 'CentOS-8-x86_64-1905'
 | |
| 	HostImageNameKey = attribute.Key("host.image.name")
 | |
| 
 | |
| 	// HostImageVersionKey is the attribute Key conforming to the
 | |
| 	// "host.image.version" semantic conventions. It represents the version
 | |
| 	// string of the VM image or host OS as defined in [Version
 | |
| 	// Attributes](/docs/resource/README.md#version-attributes).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '0.1'
 | |
| 	HostImageVersionKey = attribute.Key("host.image.version")
 | |
| 
 | |
| 	// HostIPKey is the attribute Key conforming to the "host.ip" semantic
 | |
| 	// conventions. It represents the available IP addresses of the host,
 | |
| 	// excluding loopback interfaces.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '192.168.1.140', 'fe80::abc2:4a28:737a:609e'
 | |
| 	// Note: IPv4 Addresses MUST be specified in dotted-quad notation. IPv6
 | |
| 	// addresses MUST be specified in the [RFC
 | |
| 	// 5952](https://www.rfc-editor.org/rfc/rfc5952.html) format.
 | |
| 	HostIPKey = attribute.Key("host.ip")
 | |
| 
 | |
| 	// HostMacKey is the attribute Key conforming to the "host.mac" semantic
 | |
| 	// conventions. It represents the available MAC addresses of the host,
 | |
| 	// excluding loopback interfaces.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'AC-DE-48-23-45-67', 'AC-DE-48-23-45-67-01-9F'
 | |
| 	// Note: MAC Addresses MUST be represented in [IEEE RA hexadecimal
 | |
| 	// form](https://standards.ieee.org/wp-content/uploads/import/documents/tutorials/eui.pdf):
 | |
| 	// as hyphen-separated octets in uppercase hexadecimal form from most to
 | |
| 	// least significant.
 | |
| 	HostMacKey = attribute.Key("host.mac")
 | |
| 
 | |
| 	// HostNameKey is the attribute Key conforming to the "host.name" semantic
 | |
| 	// conventions. It represents the 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'opentelemetry-test'
 | |
| 	HostNameKey = attribute.Key("host.name")
 | |
| 
 | |
| 	// HostTypeKey is the attribute Key conforming to the "host.type" semantic
 | |
| 	// conventions. It represents the type of host. For Cloud, this must be the
 | |
| 	// machine type.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'n1-standard-1'
 | |
| 	HostTypeKey = attribute.Key("host.type")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// AMD64
 | |
| 	HostArchAMD64 = HostArchKey.String("amd64")
 | |
| 	// ARM32
 | |
| 	HostArchARM32 = HostArchKey.String("arm32")
 | |
| 	// ARM64
 | |
| 	HostArchARM64 = HostArchKey.String("arm64")
 | |
| 	// Itanium
 | |
| 	HostArchIA64 = HostArchKey.String("ia64")
 | |
| 	// 32-bit PowerPC
 | |
| 	HostArchPPC32 = HostArchKey.String("ppc32")
 | |
| 	// 64-bit PowerPC
 | |
| 	HostArchPPC64 = HostArchKey.String("ppc64")
 | |
| 	// IBM z/Architecture
 | |
| 	HostArchS390x = HostArchKey.String("s390x")
 | |
| 	// 32-bit x86
 | |
| 	HostArchX86 = HostArchKey.String("x86")
 | |
| )
 | |
| 
 | |
| // HostCPUCacheL2Size returns an attribute KeyValue conforming to the
 | |
| // "host.cpu.cache.l2.size" semantic conventions. It represents the amount of
 | |
| // level 2 memory cache available to the processor (in Bytes).
 | |
| func HostCPUCacheL2Size(val int) attribute.KeyValue {
 | |
| 	return HostCPUCacheL2SizeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // HostCPUFamily returns an attribute KeyValue conforming to the
 | |
| // "host.cpu.family" semantic conventions. It represents the family or
 | |
| // generation of the CPU.
 | |
| func HostCPUFamily(val string) attribute.KeyValue {
 | |
| 	return HostCPUFamilyKey.String(val)
 | |
| }
 | |
| 
 | |
| // HostCPUModelID returns an attribute KeyValue conforming to the
 | |
| // "host.cpu.model.id" semantic conventions. It represents the model
 | |
| // identifier. It provides more granular information about the CPU,
 | |
| // distinguishing it from other CPUs within the same family.
 | |
| func HostCPUModelID(val string) attribute.KeyValue {
 | |
| 	return HostCPUModelIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // HostCPUModelName returns an attribute KeyValue conforming to the
 | |
| // "host.cpu.model.name" semantic conventions. It represents the model
 | |
| // designation of the processor.
 | |
| func HostCPUModelName(val string) attribute.KeyValue {
 | |
| 	return HostCPUModelNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // HostCPUStepping returns an attribute KeyValue conforming to the
 | |
| // "host.cpu.stepping" semantic conventions. It represents the stepping or core
 | |
| // revisions.
 | |
| func HostCPUStepping(val string) attribute.KeyValue {
 | |
| 	return HostCPUSteppingKey.String(val)
 | |
| }
 | |
| 
 | |
| // HostCPUVendorID returns an attribute KeyValue conforming to the
 | |
| // "host.cpu.vendor.id" semantic conventions. It represents the processor
 | |
| // manufacturer identifier. A maximum 12-character string.
 | |
| func HostCPUVendorID(val string) attribute.KeyValue {
 | |
| 	return HostCPUVendorIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // HostID returns an attribute KeyValue conforming to the "host.id" semantic
 | |
| // conventions. It represents the 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.
 | |
| func HostID(val string) attribute.KeyValue {
 | |
| 	return HostIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // HostImageID returns an attribute KeyValue conforming to the
 | |
| // "host.image.id" semantic conventions. It represents the vM image ID or host
 | |
| // OS image ID. For Cloud, this value is from the provider.
 | |
| func HostImageID(val string) attribute.KeyValue {
 | |
| 	return HostImageIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // HostImageName returns an attribute KeyValue conforming to the
 | |
| // "host.image.name" semantic conventions. It represents the name of the VM
 | |
| // image or OS install the host was instantiated from.
 | |
| func HostImageName(val string) attribute.KeyValue {
 | |
| 	return HostImageNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // HostImageVersion returns an attribute KeyValue conforming to the
 | |
| // "host.image.version" semantic conventions. It represents the version string
 | |
| // of the VM image or host OS as defined in [Version
 | |
| // Attributes](/docs/resource/README.md#version-attributes).
 | |
| func HostImageVersion(val string) attribute.KeyValue {
 | |
| 	return HostImageVersionKey.String(val)
 | |
| }
 | |
| 
 | |
| // HostIP returns an attribute KeyValue conforming to the "host.ip" semantic
 | |
| // conventions. It represents the available IP addresses of the host, excluding
 | |
| // loopback interfaces.
 | |
| func HostIP(val ...string) attribute.KeyValue {
 | |
| 	return HostIPKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // HostMac returns an attribute KeyValue conforming to the "host.mac"
 | |
| // semantic conventions. It represents the available MAC addresses of the host,
 | |
| // excluding loopback interfaces.
 | |
| func HostMac(val ...string) attribute.KeyValue {
 | |
| 	return HostMacKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // HostName returns an attribute KeyValue conforming to the "host.name"
 | |
| // semantic conventions. It represents the 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.
 | |
| func HostName(val string) attribute.KeyValue {
 | |
| 	return HostNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // HostType returns an attribute KeyValue conforming to the "host.type"
 | |
| // semantic conventions. It represents the type of host. For Cloud, this must
 | |
| // be the machine type.
 | |
| func HostType(val string) attribute.KeyValue {
 | |
| 	return HostTypeKey.String(val)
 | |
| }
 | |
| 
 | |
| // Semantic convention attributes in the HTTP namespace.
 | |
| const (
 | |
| 	// HTTPConnectionStateKey is the attribute Key conforming to the
 | |
| 	// "http.connection.state" semantic conventions. It represents the state of
 | |
| 	// the HTTP connection in the HTTP connection pool.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'active', 'idle'
 | |
| 	HTTPConnectionStateKey = attribute.Key("http.connection.state")
 | |
| 
 | |
| 	// HTTPRequestBodySizeKey is the attribute Key conforming to the
 | |
| 	// "http.request.body.size" semantic conventions. It represents 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](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length)
 | |
| 	// header. For requests using transport encoding, this should be the
 | |
| 	// compressed size.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 3495
 | |
| 	HTTPRequestBodySizeKey = attribute.Key("http.request.body.size")
 | |
| 
 | |
| 	// HTTPRequestMethodKey is the attribute Key conforming to the
 | |
| 	// "http.request.method" semantic conventions. It represents the hTTP
 | |
| 	// request method.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'GET', 'POST', 'HEAD'
 | |
| 	// Note: HTTP request method value SHOULD be "known" to the
 | |
| 	// instrumentation.
 | |
| 	// By default, this convention defines "known" methods as the ones listed
 | |
| 	// in [RFC9110](https://www.rfc-editor.org/rfc/rfc9110.html#name-methods)
 | |
| 	// and the PATCH method defined in
 | |
| 	// [RFC5789](https://www.rfc-editor.org/rfc/rfc5789.html).
 | |
| 	//
 | |
| 	// 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.
 | |
| 	HTTPRequestMethodKey = attribute.Key("http.request.method")
 | |
| 
 | |
| 	// HTTPRequestMethodOriginalKey is the attribute Key conforming to the
 | |
| 	// "http.request.method_original" semantic conventions. It represents the
 | |
| 	// original HTTP method sent by the client in the request line.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'GeT', 'ACL', 'foo'
 | |
| 	HTTPRequestMethodOriginalKey = attribute.Key("http.request.method_original")
 | |
| 
 | |
| 	// HTTPRequestResendCountKey is the attribute Key conforming to the
 | |
| 	// "http.request.resend_count" semantic conventions. It represents the
 | |
| 	// ordinal number of request resending attempt (for any reason, including
 | |
| 	// redirects).
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 3
 | |
| 	// 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).
 | |
| 	HTTPRequestResendCountKey = attribute.Key("http.request.resend_count")
 | |
| 
 | |
| 	// HTTPRequestSizeKey is the attribute Key conforming to the
 | |
| 	// "http.request.size" semantic conventions. It represents 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.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 1437
 | |
| 	HTTPRequestSizeKey = attribute.Key("http.request.size")
 | |
| 
 | |
| 	// HTTPResponseBodySizeKey is the attribute Key conforming to the
 | |
| 	// "http.response.body.size" semantic conventions. It represents 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](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length)
 | |
| 	// header. For requests using transport encoding, this should be the
 | |
| 	// compressed size.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 3495
 | |
| 	HTTPResponseBodySizeKey = attribute.Key("http.response.body.size")
 | |
| 
 | |
| 	// HTTPResponseSizeKey is the attribute Key conforming to the
 | |
| 	// "http.response.size" semantic conventions. It represents 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.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 1437
 | |
| 	HTTPResponseSizeKey = attribute.Key("http.response.size")
 | |
| 
 | |
| 	// HTTPResponseStatusCodeKey is the attribute Key conforming to the
 | |
| 	// "http.response.status_code" semantic conventions. It represents the
 | |
| 	// [HTTP response status
 | |
| 	// code](https://tools.ietf.org/html/rfc7231#section-6).
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 200
 | |
| 	HTTPResponseStatusCodeKey = attribute.Key("http.response.status_code")
 | |
| 
 | |
| 	// HTTPRouteKey is the attribute Key conforming to the "http.route"
 | |
| 	// semantic conventions. It represents the matched route, that is, the path
 | |
| 	// template in the format used by the respective server framework.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: '/users/:userID?', '{controller}/{action}/{id?}'
 | |
| 	// 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](/docs/http/http-spans.md#http-server-definitions) if there is one.
 | |
| 	HTTPRouteKey = attribute.Key("http.route")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// active state
 | |
| 	HTTPConnectionStateActive = HTTPConnectionStateKey.String("active")
 | |
| 	// idle state
 | |
| 	HTTPConnectionStateIdle = HTTPConnectionStateKey.String("idle")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// CONNECT method
 | |
| 	HTTPRequestMethodConnect = HTTPRequestMethodKey.String("CONNECT")
 | |
| 	// DELETE method
 | |
| 	HTTPRequestMethodDelete = HTTPRequestMethodKey.String("DELETE")
 | |
| 	// GET method
 | |
| 	HTTPRequestMethodGet = HTTPRequestMethodKey.String("GET")
 | |
| 	// HEAD method
 | |
| 	HTTPRequestMethodHead = HTTPRequestMethodKey.String("HEAD")
 | |
| 	// OPTIONS method
 | |
| 	HTTPRequestMethodOptions = HTTPRequestMethodKey.String("OPTIONS")
 | |
| 	// PATCH method
 | |
| 	HTTPRequestMethodPatch = HTTPRequestMethodKey.String("PATCH")
 | |
| 	// POST method
 | |
| 	HTTPRequestMethodPost = HTTPRequestMethodKey.String("POST")
 | |
| 	// PUT method
 | |
| 	HTTPRequestMethodPut = HTTPRequestMethodKey.String("PUT")
 | |
| 	// TRACE method
 | |
| 	HTTPRequestMethodTrace = HTTPRequestMethodKey.String("TRACE")
 | |
| 	// Any HTTP method that the instrumentation has no prior knowledge of
 | |
| 	HTTPRequestMethodOther = HTTPRequestMethodKey.String("_OTHER")
 | |
| )
 | |
| 
 | |
| // HTTPRequestBodySize returns an attribute KeyValue conforming to the
 | |
| // "http.request.body.size" semantic conventions. It represents 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](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length)
 | |
| // header. For requests using transport encoding, this should be the compressed
 | |
| // size.
 | |
| func HTTPRequestBodySize(val int) attribute.KeyValue {
 | |
| 	return HTTPRequestBodySizeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // HTTPRequestMethodOriginal returns an attribute KeyValue conforming to the
 | |
| // "http.request.method_original" semantic conventions. It represents the
 | |
| // original HTTP method sent by the client in the request line.
 | |
| func HTTPRequestMethodOriginal(val string) attribute.KeyValue {
 | |
| 	return HTTPRequestMethodOriginalKey.String(val)
 | |
| }
 | |
| 
 | |
| // HTTPRequestResendCount returns an attribute KeyValue conforming to the
 | |
| // "http.request.resend_count" semantic conventions. It represents the ordinal
 | |
| // number of request resending attempt (for any reason, including redirects).
 | |
| func HTTPRequestResendCount(val int) attribute.KeyValue {
 | |
| 	return HTTPRequestResendCountKey.Int(val)
 | |
| }
 | |
| 
 | |
| // HTTPRequestSize returns an attribute KeyValue conforming to the
 | |
| // "http.request.size" semantic conventions. It represents 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.
 | |
| func HTTPRequestSize(val int) attribute.KeyValue {
 | |
| 	return HTTPRequestSizeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // HTTPResponseBodySize returns an attribute KeyValue conforming to the
 | |
| // "http.response.body.size" semantic conventions. It represents 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](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length)
 | |
| // header. For requests using transport encoding, this should be the compressed
 | |
| // size.
 | |
| func HTTPResponseBodySize(val int) attribute.KeyValue {
 | |
| 	return HTTPResponseBodySizeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // HTTPResponseSize returns an attribute KeyValue conforming to the
 | |
| // "http.response.size" semantic conventions. It represents 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.
 | |
| func HTTPResponseSize(val int) attribute.KeyValue {
 | |
| 	return HTTPResponseSizeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // HTTPResponseStatusCode returns an attribute KeyValue conforming to the
 | |
| // "http.response.status_code" semantic conventions. It represents the [HTTP
 | |
| // response status code](https://tools.ietf.org/html/rfc7231#section-6).
 | |
| func HTTPResponseStatusCode(val int) attribute.KeyValue {
 | |
| 	return HTTPResponseStatusCodeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // HTTPRoute returns an attribute KeyValue conforming to the "http.route"
 | |
| // semantic conventions. It represents the matched route, that is, the path
 | |
| // template in the format used by the respective server framework.
 | |
| func HTTPRoute(val string) attribute.KeyValue {
 | |
| 	return HTTPRouteKey.String(val)
 | |
| }
 | |
| 
 | |
| // Java Virtual machine related attributes.
 | |
| const (
 | |
| 	// JvmBufferPoolNameKey is the attribute Key conforming to the
 | |
| 	// "jvm.buffer.pool.name" semantic conventions. It represents the name of
 | |
| 	// the buffer pool.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'mapped', 'direct'
 | |
| 	// Note: Pool names are generally obtained via
 | |
| 	// [BufferPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/BufferPoolMXBean.html#getName()).
 | |
| 	JvmBufferPoolNameKey = attribute.Key("jvm.buffer.pool.name")
 | |
| 
 | |
| 	// JvmGcActionKey is the attribute Key conforming to the "jvm.gc.action"
 | |
| 	// semantic conventions. It represents the name of the garbage collector
 | |
| 	// action.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'end of minor GC', 'end of major GC'
 | |
| 	// Note: Garbage collector action is generally obtained via
 | |
| 	// [GarbageCollectionNotificationInfo#getGcAction()](https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGcAction()).
 | |
| 	JvmGcActionKey = attribute.Key("jvm.gc.action")
 | |
| 
 | |
| 	// JvmGcNameKey is the attribute Key conforming to the "jvm.gc.name"
 | |
| 	// semantic conventions. It represents the name of the garbage collector.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'G1 Young Generation', 'G1 Old Generation'
 | |
| 	// Note: Garbage collector name is generally obtained via
 | |
| 	// [GarbageCollectionNotificationInfo#getGcName()](https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGcName()).
 | |
| 	JvmGcNameKey = attribute.Key("jvm.gc.name")
 | |
| 
 | |
| 	// JvmMemoryPoolNameKey is the attribute Key conforming to the
 | |
| 	// "jvm.memory.pool.name" semantic conventions. It represents the name of
 | |
| 	// the memory pool.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'G1 Old Gen', 'G1 Eden space', 'G1 Survivor Space'
 | |
| 	// Note: Pool names are generally obtained via
 | |
| 	// [MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName()).
 | |
| 	JvmMemoryPoolNameKey = attribute.Key("jvm.memory.pool.name")
 | |
| 
 | |
| 	// JvmMemoryTypeKey is the attribute Key conforming to the
 | |
| 	// "jvm.memory.type" semantic conventions. It represents the type of
 | |
| 	// memory.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'heap', 'non_heap'
 | |
| 	JvmMemoryTypeKey = attribute.Key("jvm.memory.type")
 | |
| 
 | |
| 	// JvmThreadDaemonKey is the attribute Key conforming to the
 | |
| 	// "jvm.thread.daemon" semantic conventions. It represents the whether the
 | |
| 	// thread is daemon or not.
 | |
| 	//
 | |
| 	// Type: boolean
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	JvmThreadDaemonKey = attribute.Key("jvm.thread.daemon")
 | |
| 
 | |
| 	// JvmThreadStateKey is the attribute Key conforming to the
 | |
| 	// "jvm.thread.state" semantic conventions. It represents the state of the
 | |
| 	// thread.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'runnable', 'blocked'
 | |
| 	JvmThreadStateKey = attribute.Key("jvm.thread.state")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// Heap memory
 | |
| 	JvmMemoryTypeHeap = JvmMemoryTypeKey.String("heap")
 | |
| 	// Non-heap memory
 | |
| 	JvmMemoryTypeNonHeap = JvmMemoryTypeKey.String("non_heap")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// A thread that has not yet started is in this state
 | |
| 	JvmThreadStateNew = JvmThreadStateKey.String("new")
 | |
| 	// A thread executing in the Java virtual machine is in this state
 | |
| 	JvmThreadStateRunnable = JvmThreadStateKey.String("runnable")
 | |
| 	// A thread that is blocked waiting for a monitor lock is in this state
 | |
| 	JvmThreadStateBlocked = JvmThreadStateKey.String("blocked")
 | |
| 	// A thread that is waiting indefinitely for another thread to perform a particular action is in this state
 | |
| 	JvmThreadStateWaiting = JvmThreadStateKey.String("waiting")
 | |
| 	// A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state
 | |
| 	JvmThreadStateTimedWaiting = JvmThreadStateKey.String("timed_waiting")
 | |
| 	// A thread that has exited is in this state
 | |
| 	JvmThreadStateTerminated = JvmThreadStateKey.String("terminated")
 | |
| )
 | |
| 
 | |
| // JvmBufferPoolName returns an attribute KeyValue conforming to the
 | |
| // "jvm.buffer.pool.name" semantic conventions. It represents the name of the
 | |
| // buffer pool.
 | |
| func JvmBufferPoolName(val string) attribute.KeyValue {
 | |
| 	return JvmBufferPoolNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // JvmGcAction returns an attribute KeyValue conforming to the
 | |
| // "jvm.gc.action" semantic conventions. It represents the name of the garbage
 | |
| // collector action.
 | |
| func JvmGcAction(val string) attribute.KeyValue {
 | |
| 	return JvmGcActionKey.String(val)
 | |
| }
 | |
| 
 | |
| // JvmGcName returns an attribute KeyValue conforming to the "jvm.gc.name"
 | |
| // semantic conventions. It represents the name of the garbage collector.
 | |
| func JvmGcName(val string) attribute.KeyValue {
 | |
| 	return JvmGcNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // JvmMemoryPoolName returns an attribute KeyValue conforming to the
 | |
| // "jvm.memory.pool.name" semantic conventions. It represents the name of the
 | |
| // memory pool.
 | |
| func JvmMemoryPoolName(val string) attribute.KeyValue {
 | |
| 	return JvmMemoryPoolNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // JvmThreadDaemon returns an attribute KeyValue conforming to the
 | |
| // "jvm.thread.daemon" semantic conventions. It represents the whether the
 | |
| // thread is daemon or not.
 | |
| func JvmThreadDaemon(val bool) attribute.KeyValue {
 | |
| 	return JvmThreadDaemonKey.Bool(val)
 | |
| }
 | |
| 
 | |
| // Kubernetes resource attributes.
 | |
| const (
 | |
| 	// K8SClusterNameKey is the attribute Key conforming to the
 | |
| 	// "k8s.cluster.name" semantic conventions. It represents the name of the
 | |
| 	// cluster.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'opentelemetry-cluster'
 | |
| 	K8SClusterNameKey = attribute.Key("k8s.cluster.name")
 | |
| 
 | |
| 	// K8SClusterUIDKey is the attribute Key conforming to the
 | |
| 	// "k8s.cluster.uid" semantic conventions. It represents a pseudo-ID for
 | |
| 	// the cluster, set to the UID of the `kube-system` namespace.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '218fc5a9-a5f1-4b54-aa05-46717d0ab26d'
 | |
| 	// 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](https://www.itu.int/ITU-T/studygroups/com17/oid.html).
 | |
| 	// 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.
 | |
| 	K8SClusterUIDKey = attribute.Key("k8s.cluster.uid")
 | |
| 
 | |
| 	// K8SContainerNameKey is the attribute Key conforming to the
 | |
| 	// "k8s.container.name" semantic conventions. It represents the name of the
 | |
| 	// Container from Pod specification, must be unique within a Pod. Container
 | |
| 	// runtime usually uses different globally unique name (`container.name`).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'redis'
 | |
| 	K8SContainerNameKey = attribute.Key("k8s.container.name")
 | |
| 
 | |
| 	// K8SContainerRestartCountKey is the attribute Key conforming to the
 | |
| 	// "k8s.container.restart_count" semantic conventions. It represents the
 | |
| 	// number of times the container was restarted. This attribute can be used
 | |
| 	// to identify a particular container (running or stopped) within a
 | |
| 	// container spec.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	K8SContainerRestartCountKey = attribute.Key("k8s.container.restart_count")
 | |
| 
 | |
| 	// K8SContainerStatusLastTerminatedReasonKey is the attribute Key
 | |
| 	// conforming to the "k8s.container.status.last_terminated_reason" semantic
 | |
| 	// conventions. It represents the last terminated reason of the Container.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'Evicted', 'Error'
 | |
| 	K8SContainerStatusLastTerminatedReasonKey = attribute.Key("k8s.container.status.last_terminated_reason")
 | |
| 
 | |
| 	// K8SCronJobNameKey is the attribute Key conforming to the
 | |
| 	// "k8s.cronjob.name" semantic conventions. It represents the name of the
 | |
| 	// CronJob.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'opentelemetry'
 | |
| 	K8SCronJobNameKey = attribute.Key("k8s.cronjob.name")
 | |
| 
 | |
| 	// K8SCronJobUIDKey is the attribute Key conforming to the
 | |
| 	// "k8s.cronjob.uid" semantic conventions. It represents the UID of the
 | |
| 	// CronJob.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'
 | |
| 	K8SCronJobUIDKey = attribute.Key("k8s.cronjob.uid")
 | |
| 
 | |
| 	// K8SDaemonSetNameKey is the attribute Key conforming to the
 | |
| 	// "k8s.daemonset.name" semantic conventions. It represents the name of the
 | |
| 	// DaemonSet.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'opentelemetry'
 | |
| 	K8SDaemonSetNameKey = attribute.Key("k8s.daemonset.name")
 | |
| 
 | |
| 	// K8SDaemonSetUIDKey is the attribute Key conforming to the
 | |
| 	// "k8s.daemonset.uid" semantic conventions. It represents the UID of the
 | |
| 	// DaemonSet.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'
 | |
| 	K8SDaemonSetUIDKey = attribute.Key("k8s.daemonset.uid")
 | |
| 
 | |
| 	// K8SDeploymentNameKey is the attribute Key conforming to the
 | |
| 	// "k8s.deployment.name" semantic conventions. It represents the name of
 | |
| 	// the Deployment.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'opentelemetry'
 | |
| 	K8SDeploymentNameKey = attribute.Key("k8s.deployment.name")
 | |
| 
 | |
| 	// K8SDeploymentUIDKey is the attribute Key conforming to the
 | |
| 	// "k8s.deployment.uid" semantic conventions. It represents the UID of the
 | |
| 	// Deployment.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'
 | |
| 	K8SDeploymentUIDKey = attribute.Key("k8s.deployment.uid")
 | |
| 
 | |
| 	// K8SJobNameKey is the attribute Key conforming to the "k8s.job.name"
 | |
| 	// semantic conventions. It represents the name of the Job.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'opentelemetry'
 | |
| 	K8SJobNameKey = attribute.Key("k8s.job.name")
 | |
| 
 | |
| 	// K8SJobUIDKey is the attribute Key conforming to the "k8s.job.uid"
 | |
| 	// semantic conventions. It represents the UID of the Job.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'
 | |
| 	K8SJobUIDKey = attribute.Key("k8s.job.uid")
 | |
| 
 | |
| 	// K8SNamespaceNameKey is the attribute Key conforming to the
 | |
| 	// "k8s.namespace.name" semantic conventions. It represents the name of the
 | |
| 	// namespace that the pod is running in.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'default'
 | |
| 	K8SNamespaceNameKey = attribute.Key("k8s.namespace.name")
 | |
| 
 | |
| 	// K8SNodeNameKey is the attribute Key conforming to the "k8s.node.name"
 | |
| 	// semantic conventions. It represents the name of the Node.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'node-1'
 | |
| 	K8SNodeNameKey = attribute.Key("k8s.node.name")
 | |
| 
 | |
| 	// K8SNodeUIDKey is the attribute Key conforming to the "k8s.node.uid"
 | |
| 	// semantic conventions. It represents the UID of the Node.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2'
 | |
| 	K8SNodeUIDKey = attribute.Key("k8s.node.uid")
 | |
| 
 | |
| 	// K8SPodNameKey is the attribute Key conforming to the "k8s.pod.name"
 | |
| 	// semantic conventions. It represents the name of the Pod.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'opentelemetry-pod-autoconf'
 | |
| 	K8SPodNameKey = attribute.Key("k8s.pod.name")
 | |
| 
 | |
| 	// K8SPodUIDKey is the attribute Key conforming to the "k8s.pod.uid"
 | |
| 	// semantic conventions. It represents the UID of the Pod.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'
 | |
| 	K8SPodUIDKey = attribute.Key("k8s.pod.uid")
 | |
| 
 | |
| 	// K8SReplicaSetNameKey is the attribute Key conforming to the
 | |
| 	// "k8s.replicaset.name" semantic conventions. It represents the name of
 | |
| 	// the ReplicaSet.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'opentelemetry'
 | |
| 	K8SReplicaSetNameKey = attribute.Key("k8s.replicaset.name")
 | |
| 
 | |
| 	// K8SReplicaSetUIDKey is the attribute Key conforming to the
 | |
| 	// "k8s.replicaset.uid" semantic conventions. It represents the UID of the
 | |
| 	// ReplicaSet.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'
 | |
| 	K8SReplicaSetUIDKey = attribute.Key("k8s.replicaset.uid")
 | |
| 
 | |
| 	// K8SStatefulSetNameKey is the attribute Key conforming to the
 | |
| 	// "k8s.statefulset.name" semantic conventions. It represents the name of
 | |
| 	// the StatefulSet.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'opentelemetry'
 | |
| 	K8SStatefulSetNameKey = attribute.Key("k8s.statefulset.name")
 | |
| 
 | |
| 	// K8SStatefulSetUIDKey is the attribute Key conforming to the
 | |
| 	// "k8s.statefulset.uid" semantic conventions. It represents the UID of the
 | |
| 	// StatefulSet.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'
 | |
| 	K8SStatefulSetUIDKey = attribute.Key("k8s.statefulset.uid")
 | |
| )
 | |
| 
 | |
| // K8SClusterName returns an attribute KeyValue conforming to the
 | |
| // "k8s.cluster.name" semantic conventions. It represents the name of the
 | |
| // cluster.
 | |
| func K8SClusterName(val string) attribute.KeyValue {
 | |
| 	return K8SClusterNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SClusterUID returns an attribute KeyValue conforming to the
 | |
| // "k8s.cluster.uid" semantic conventions. It represents a pseudo-ID for the
 | |
| // cluster, set to the UID of the `kube-system` namespace.
 | |
| func K8SClusterUID(val string) attribute.KeyValue {
 | |
| 	return K8SClusterUIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SContainerName returns an attribute KeyValue conforming to the
 | |
| // "k8s.container.name" semantic conventions. It represents the name of the
 | |
| // Container from Pod specification, must be unique within a Pod. Container
 | |
| // runtime usually uses different globally unique name (`container.name`).
 | |
| func K8SContainerName(val string) attribute.KeyValue {
 | |
| 	return K8SContainerNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SContainerRestartCount returns an attribute KeyValue conforming to the
 | |
| // "k8s.container.restart_count" semantic conventions. It represents the number
 | |
| // of times the container was restarted. This attribute can be used to identify
 | |
| // a particular container (running or stopped) within a container spec.
 | |
| func K8SContainerRestartCount(val int) attribute.KeyValue {
 | |
| 	return K8SContainerRestartCountKey.Int(val)
 | |
| }
 | |
| 
 | |
| // K8SContainerStatusLastTerminatedReason returns an attribute KeyValue
 | |
| // conforming to the "k8s.container.status.last_terminated_reason" semantic
 | |
| // conventions. It represents the last terminated reason of the Container.
 | |
| func K8SContainerStatusLastTerminatedReason(val string) attribute.KeyValue {
 | |
| 	return K8SContainerStatusLastTerminatedReasonKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SCronJobName returns an attribute KeyValue conforming to the
 | |
| // "k8s.cronjob.name" semantic conventions. It represents the name of the
 | |
| // CronJob.
 | |
| func K8SCronJobName(val string) attribute.KeyValue {
 | |
| 	return K8SCronJobNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SCronJobUID returns an attribute KeyValue conforming to the
 | |
| // "k8s.cronjob.uid" semantic conventions. It represents the UID of the
 | |
| // CronJob.
 | |
| func K8SCronJobUID(val string) attribute.KeyValue {
 | |
| 	return K8SCronJobUIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SDaemonSetName returns an attribute KeyValue conforming to the
 | |
| // "k8s.daemonset.name" semantic conventions. It represents the name of the
 | |
| // DaemonSet.
 | |
| func K8SDaemonSetName(val string) attribute.KeyValue {
 | |
| 	return K8SDaemonSetNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SDaemonSetUID returns an attribute KeyValue conforming to the
 | |
| // "k8s.daemonset.uid" semantic conventions. It represents the UID of the
 | |
| // DaemonSet.
 | |
| func K8SDaemonSetUID(val string) attribute.KeyValue {
 | |
| 	return K8SDaemonSetUIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SDeploymentName returns an attribute KeyValue conforming to the
 | |
| // "k8s.deployment.name" semantic conventions. It represents the name of the
 | |
| // Deployment.
 | |
| func K8SDeploymentName(val string) attribute.KeyValue {
 | |
| 	return K8SDeploymentNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SDeploymentUID returns an attribute KeyValue conforming to the
 | |
| // "k8s.deployment.uid" semantic conventions. It represents the UID of the
 | |
| // Deployment.
 | |
| func K8SDeploymentUID(val string) attribute.KeyValue {
 | |
| 	return K8SDeploymentUIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SJobName returns an attribute KeyValue conforming to the "k8s.job.name"
 | |
| // semantic conventions. It represents the name of the Job.
 | |
| func K8SJobName(val string) attribute.KeyValue {
 | |
| 	return K8SJobNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SJobUID returns an attribute KeyValue conforming to the "k8s.job.uid"
 | |
| // semantic conventions. It represents the UID of the Job.
 | |
| func K8SJobUID(val string) attribute.KeyValue {
 | |
| 	return K8SJobUIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SNamespaceName returns an attribute KeyValue conforming to the
 | |
| // "k8s.namespace.name" semantic conventions. It represents the name of the
 | |
| // namespace that the pod is running in.
 | |
| func K8SNamespaceName(val string) attribute.KeyValue {
 | |
| 	return K8SNamespaceNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SNodeName returns an attribute KeyValue conforming to the
 | |
| // "k8s.node.name" semantic conventions. It represents the name of the Node.
 | |
| func K8SNodeName(val string) attribute.KeyValue {
 | |
| 	return K8SNodeNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SNodeUID returns an attribute KeyValue conforming to the "k8s.node.uid"
 | |
| // semantic conventions. It represents the UID of the Node.
 | |
| func K8SNodeUID(val string) attribute.KeyValue {
 | |
| 	return K8SNodeUIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SPodName returns an attribute KeyValue conforming to the "k8s.pod.name"
 | |
| // semantic conventions. It represents the name of the Pod.
 | |
| func K8SPodName(val string) attribute.KeyValue {
 | |
| 	return K8SPodNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SPodUID returns an attribute KeyValue conforming to the "k8s.pod.uid"
 | |
| // semantic conventions. It represents the UID of the Pod.
 | |
| func K8SPodUID(val string) attribute.KeyValue {
 | |
| 	return K8SPodUIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SReplicaSetName returns an attribute KeyValue conforming to the
 | |
| // "k8s.replicaset.name" semantic conventions. It represents the name of the
 | |
| // ReplicaSet.
 | |
| func K8SReplicaSetName(val string) attribute.KeyValue {
 | |
| 	return K8SReplicaSetNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SReplicaSetUID returns an attribute KeyValue conforming to the
 | |
| // "k8s.replicaset.uid" semantic conventions. It represents the UID of the
 | |
| // ReplicaSet.
 | |
| func K8SReplicaSetUID(val string) attribute.KeyValue {
 | |
| 	return K8SReplicaSetUIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SStatefulSetName returns an attribute KeyValue conforming to the
 | |
| // "k8s.statefulset.name" semantic conventions. It represents the name of the
 | |
| // StatefulSet.
 | |
| func K8SStatefulSetName(val string) attribute.KeyValue {
 | |
| 	return K8SStatefulSetNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // K8SStatefulSetUID returns an attribute KeyValue conforming to the
 | |
| // "k8s.statefulset.uid" semantic conventions. It represents the UID of the
 | |
| // StatefulSet.
 | |
| func K8SStatefulSetUID(val string) attribute.KeyValue {
 | |
| 	return K8SStatefulSetUIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // Log attributes
 | |
| const (
 | |
| 	// LogIostreamKey is the attribute Key conforming to the "log.iostream"
 | |
| 	// semantic conventions. It represents the stream associated with the log.
 | |
| 	// See below for a list of well-known values.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	LogIostreamKey = attribute.Key("log.iostream")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// Logs from stdout stream
 | |
| 	LogIostreamStdout = LogIostreamKey.String("stdout")
 | |
| 	// Events from stderr stream
 | |
| 	LogIostreamStderr = LogIostreamKey.String("stderr")
 | |
| )
 | |
| 
 | |
| // Attributes for a file to which log was emitted.
 | |
| const (
 | |
| 	// LogFileNameKey is the attribute Key conforming to the "log.file.name"
 | |
| 	// semantic conventions. It represents the basename of the file.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'audit.log'
 | |
| 	LogFileNameKey = attribute.Key("log.file.name")
 | |
| 
 | |
| 	// LogFileNameResolvedKey is the attribute Key conforming to the
 | |
| 	// "log.file.name_resolved" semantic conventions. It represents the
 | |
| 	// basename of the file, with symlinks resolved.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'uuid.log'
 | |
| 	LogFileNameResolvedKey = attribute.Key("log.file.name_resolved")
 | |
| 
 | |
| 	// LogFilePathKey is the attribute Key conforming to the "log.file.path"
 | |
| 	// semantic conventions. It represents the full path to the file.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '/var/log/mysql/audit.log'
 | |
| 	LogFilePathKey = attribute.Key("log.file.path")
 | |
| 
 | |
| 	// LogFilePathResolvedKey is the attribute Key conforming to the
 | |
| 	// "log.file.path_resolved" semantic conventions. It represents the full
 | |
| 	// path to the file, with symlinks resolved.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '/var/lib/docker/uuid.log'
 | |
| 	LogFilePathResolvedKey = attribute.Key("log.file.path_resolved")
 | |
| )
 | |
| 
 | |
| // LogFileName returns an attribute KeyValue conforming to the
 | |
| // "log.file.name" semantic conventions. It represents the basename of the
 | |
| // file.
 | |
| func LogFileName(val string) attribute.KeyValue {
 | |
| 	return LogFileNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // LogFileNameResolved returns an attribute KeyValue conforming to the
 | |
| // "log.file.name_resolved" semantic conventions. It represents the basename of
 | |
| // the file, with symlinks resolved.
 | |
| func LogFileNameResolved(val string) attribute.KeyValue {
 | |
| 	return LogFileNameResolvedKey.String(val)
 | |
| }
 | |
| 
 | |
| // LogFilePath returns an attribute KeyValue conforming to the
 | |
| // "log.file.path" semantic conventions. It represents the full path to the
 | |
| // file.
 | |
| func LogFilePath(val string) attribute.KeyValue {
 | |
| 	return LogFilePathKey.String(val)
 | |
| }
 | |
| 
 | |
| // LogFilePathResolved returns an attribute KeyValue conforming to the
 | |
| // "log.file.path_resolved" semantic conventions. It represents the full path
 | |
| // to the file, with symlinks resolved.
 | |
| func LogFilePathResolved(val string) attribute.KeyValue {
 | |
| 	return LogFilePathResolvedKey.String(val)
 | |
| }
 | |
| 
 | |
| // The generic attributes that may be used in any Log Record.
 | |
| const (
 | |
| 	// LogRecordUIDKey is the attribute Key conforming to the "log.record.uid"
 | |
| 	// semantic conventions. It represents a unique identifier for the Log
 | |
| 	// Record.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '01ARZ3NDEKTSV4RRFFQ69G5FAV'
 | |
| 	// 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)](https://github.com/ulid/spec), but other identifiers
 | |
| 	// (e.g. UUID) may be used as needed.
 | |
| 	LogRecordUIDKey = attribute.Key("log.record.uid")
 | |
| )
 | |
| 
 | |
| // LogRecordUID returns an attribute KeyValue conforming to the
 | |
| // "log.record.uid" semantic conventions. It represents a unique identifier for
 | |
| // the Log Record.
 | |
| func LogRecordUID(val string) attribute.KeyValue {
 | |
| 	return LogRecordUIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // Attributes describing telemetry around messaging systems and messaging
 | |
| // activities.
 | |
| const (
 | |
| 	// MessagingBatchMessageCountKey is the attribute Key conforming to the
 | |
| 	// "messaging.batch.message_count" semantic conventions. It represents the
 | |
| 	// number of messages sent, received, or processed in the scope of the
 | |
| 	// batching operation.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 0, 1, 2
 | |
| 	// 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.
 | |
| 	MessagingBatchMessageCountKey = attribute.Key("messaging.batch.message_count")
 | |
| 
 | |
| 	// MessagingClientIDKey is the attribute Key conforming to the
 | |
| 	// "messaging.client.id" semantic conventions. It represents a unique
 | |
| 	// identifier for the client that consumes or produces a message.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'client-5', 'myhost@8742@s8083jm'
 | |
| 	MessagingClientIDKey = attribute.Key("messaging.client.id")
 | |
| 
 | |
| 	// MessagingDestinationAnonymousKey is the attribute Key conforming to the
 | |
| 	// "messaging.destination.anonymous" semantic conventions. It represents a
 | |
| 	// boolean that is true if the message destination is anonymous (could be
 | |
| 	// unnamed or have auto-generated name).
 | |
| 	//
 | |
| 	// Type: boolean
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	MessagingDestinationAnonymousKey = attribute.Key("messaging.destination.anonymous")
 | |
| 
 | |
| 	// MessagingDestinationNameKey is the attribute Key conforming to the
 | |
| 	// "messaging.destination.name" semantic conventions. It represents the
 | |
| 	// message destination name
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'MyQueue', 'MyTopic'
 | |
| 	// 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.
 | |
| 	MessagingDestinationNameKey = attribute.Key("messaging.destination.name")
 | |
| 
 | |
| 	// MessagingDestinationPartitionIDKey is the attribute Key conforming to
 | |
| 	// the "messaging.destination.partition.id" semantic conventions. It
 | |
| 	// represents the identifier of the partition messages are sent to or
 | |
| 	// received from, unique within the `messaging.destination.name`.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '1'
 | |
| 	MessagingDestinationPartitionIDKey = attribute.Key("messaging.destination.partition.id")
 | |
| 
 | |
| 	// MessagingDestinationTemplateKey is the attribute Key conforming to the
 | |
| 	// "messaging.destination.template" semantic conventions. It represents the
 | |
| 	// low cardinality representation of the messaging destination name
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '/customers/{customerID}'
 | |
| 	// 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.
 | |
| 	MessagingDestinationTemplateKey = attribute.Key("messaging.destination.template")
 | |
| 
 | |
| 	// MessagingDestinationTemporaryKey is the attribute Key conforming to the
 | |
| 	// "messaging.destination.temporary" semantic conventions. It represents a
 | |
| 	// boolean that is true if the message destination is temporary and might
 | |
| 	// not exist anymore after messages are processed.
 | |
| 	//
 | |
| 	// Type: boolean
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	MessagingDestinationTemporaryKey = attribute.Key("messaging.destination.temporary")
 | |
| 
 | |
| 	// MessagingDestinationPublishAnonymousKey is the attribute Key conforming
 | |
| 	// to the "messaging.destination_publish.anonymous" semantic conventions.
 | |
| 	// It represents a boolean that is true if the publish message destination
 | |
| 	// is anonymous (could be unnamed or have auto-generated name).
 | |
| 	//
 | |
| 	// Type: boolean
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	MessagingDestinationPublishAnonymousKey = attribute.Key("messaging.destination_publish.anonymous")
 | |
| 
 | |
| 	// MessagingDestinationPublishNameKey is the attribute Key conforming to
 | |
| 	// the "messaging.destination_publish.name" semantic conventions. It
 | |
| 	// represents the name of the original destination the message was
 | |
| 	// published to
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'MyQueue', 'MyTopic'
 | |
| 	// 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.
 | |
| 	MessagingDestinationPublishNameKey = attribute.Key("messaging.destination_publish.name")
 | |
| 
 | |
| 	// MessagingMessageBodySizeKey is the attribute Key conforming to the
 | |
| 	// "messaging.message.body.size" semantic conventions. It represents the
 | |
| 	// size of the message body in bytes.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 1439
 | |
| 	// Note: This can refer to both the compressed or uncompressed body size.
 | |
| 	// If both sizes are known, the uncompressed
 | |
| 	// body size should be used.
 | |
| 	MessagingMessageBodySizeKey = attribute.Key("messaging.message.body.size")
 | |
| 
 | |
| 	// MessagingMessageConversationIDKey is the attribute Key conforming to the
 | |
| 	// "messaging.message.conversation_id" semantic conventions. It represents
 | |
| 	// the conversation ID identifying the conversation to which the message
 | |
| 	// belongs, represented as a string. Sometimes called "Correlation ID".
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'MyConversationID'
 | |
| 	MessagingMessageConversationIDKey = attribute.Key("messaging.message.conversation_id")
 | |
| 
 | |
| 	// MessagingMessageEnvelopeSizeKey is the attribute Key conforming to the
 | |
| 	// "messaging.message.envelope.size" semantic conventions. It represents
 | |
| 	// the size of the message body and metadata in bytes.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 2738
 | |
| 	// Note: This can refer to both the compressed or uncompressed size. If
 | |
| 	// both sizes are known, the uncompressed
 | |
| 	// size should be used.
 | |
| 	MessagingMessageEnvelopeSizeKey = attribute.Key("messaging.message.envelope.size")
 | |
| 
 | |
| 	// MessagingMessageIDKey is the attribute Key conforming to the
 | |
| 	// "messaging.message.id" semantic conventions. It represents a value used
 | |
| 	// by the messaging system as an identifier for the message, represented as
 | |
| 	// a string.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '452a7c7c7c7048c2f887f61572b18fc2'
 | |
| 	MessagingMessageIDKey = attribute.Key("messaging.message.id")
 | |
| 
 | |
| 	// MessagingOperationNameKey is the attribute Key conforming to the
 | |
| 	// "messaging.operation.name" semantic conventions. It represents the
 | |
| 	// system-specific name of the messaging operation.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'ack', 'nack', 'send'
 | |
| 	MessagingOperationNameKey = attribute.Key("messaging.operation.name")
 | |
| 
 | |
| 	// MessagingOperationTypeKey is the attribute Key conforming to the
 | |
| 	// "messaging.operation.type" semantic conventions. It represents a string
 | |
| 	// identifying the type of the messaging operation.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Note: If a custom value is used, it MUST be of low cardinality.
 | |
| 	MessagingOperationTypeKey = attribute.Key("messaging.operation.type")
 | |
| 
 | |
| 	// MessagingSystemKey is the attribute Key conforming to the
 | |
| 	// "messaging.system" semantic conventions. It represents the messaging
 | |
| 	// system as identified by the client instrumentation.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// 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.
 | |
| 	MessagingSystemKey = attribute.Key("messaging.system")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// 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
 | |
| 	MessagingOperationTypePublish = MessagingOperationTypeKey.String("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
 | |
| 	MessagingOperationTypeCreate = MessagingOperationTypeKey.String("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
 | |
| 	MessagingOperationTypeReceive = MessagingOperationTypeKey.String("receive")
 | |
| 	// One or more messages are delivered to or processed by a consumer
 | |
| 	MessagingOperationTypeDeliver = MessagingOperationTypeKey.String("process")
 | |
| 	// One or more messages are settled
 | |
| 	MessagingOperationTypeSettle = MessagingOperationTypeKey.String("settle")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// Apache ActiveMQ
 | |
| 	MessagingSystemActivemq = MessagingSystemKey.String("activemq")
 | |
| 	// Amazon Simple Queue Service (SQS)
 | |
| 	MessagingSystemAWSSqs = MessagingSystemKey.String("aws_sqs")
 | |
| 	// Azure Event Grid
 | |
| 	MessagingSystemEventgrid = MessagingSystemKey.String("eventgrid")
 | |
| 	// Azure Event Hubs
 | |
| 	MessagingSystemEventhubs = MessagingSystemKey.String("eventhubs")
 | |
| 	// Azure Service Bus
 | |
| 	MessagingSystemServicebus = MessagingSystemKey.String("servicebus")
 | |
| 	// Google Cloud Pub/Sub
 | |
| 	MessagingSystemGCPPubsub = MessagingSystemKey.String("gcp_pubsub")
 | |
| 	// Java Message Service
 | |
| 	MessagingSystemJms = MessagingSystemKey.String("jms")
 | |
| 	// Apache Kafka
 | |
| 	MessagingSystemKafka = MessagingSystemKey.String("kafka")
 | |
| 	// RabbitMQ
 | |
| 	MessagingSystemRabbitmq = MessagingSystemKey.String("rabbitmq")
 | |
| 	// Apache RocketMQ
 | |
| 	MessagingSystemRocketmq = MessagingSystemKey.String("rocketmq")
 | |
| )
 | |
| 
 | |
| // MessagingBatchMessageCount returns an attribute KeyValue conforming to
 | |
| // the "messaging.batch.message_count" semantic conventions. It represents the
 | |
| // number of messages sent, received, or processed in the scope of the batching
 | |
| // operation.
 | |
| func MessagingBatchMessageCount(val int) attribute.KeyValue {
 | |
| 	return MessagingBatchMessageCountKey.Int(val)
 | |
| }
 | |
| 
 | |
| // MessagingClientID returns an attribute KeyValue conforming to the
 | |
| // "messaging.client.id" semantic conventions. It represents a unique
 | |
| // identifier for the client that consumes or produces a message.
 | |
| func MessagingClientID(val string) attribute.KeyValue {
 | |
| 	return MessagingClientIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // MessagingDestinationAnonymous returns an attribute KeyValue conforming to
 | |
| // the "messaging.destination.anonymous" semantic conventions. It represents a
 | |
| // boolean that is true if the message destination is anonymous (could be
 | |
| // unnamed or have auto-generated name).
 | |
| func MessagingDestinationAnonymous(val bool) attribute.KeyValue {
 | |
| 	return MessagingDestinationAnonymousKey.Bool(val)
 | |
| }
 | |
| 
 | |
| // MessagingDestinationName returns an attribute KeyValue conforming to the
 | |
| // "messaging.destination.name" semantic conventions. It represents the message
 | |
| // destination name
 | |
| func MessagingDestinationName(val string) attribute.KeyValue {
 | |
| 	return MessagingDestinationNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // MessagingDestinationPartitionID returns an attribute KeyValue conforming
 | |
| // to the "messaging.destination.partition.id" semantic conventions. It
 | |
| // represents the identifier of the partition messages are sent to or received
 | |
| // from, unique within the `messaging.destination.name`.
 | |
| func MessagingDestinationPartitionID(val string) attribute.KeyValue {
 | |
| 	return MessagingDestinationPartitionIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // MessagingDestinationTemplate returns an attribute KeyValue conforming to
 | |
| // the "messaging.destination.template" semantic conventions. It represents the
 | |
| // low cardinality representation of the messaging destination name
 | |
| func MessagingDestinationTemplate(val string) attribute.KeyValue {
 | |
| 	return MessagingDestinationTemplateKey.String(val)
 | |
| }
 | |
| 
 | |
| // MessagingDestinationTemporary returns an attribute KeyValue conforming to
 | |
| // the "messaging.destination.temporary" semantic conventions. It represents a
 | |
| // boolean that is true if the message destination is temporary and might not
 | |
| // exist anymore after messages are processed.
 | |
| func MessagingDestinationTemporary(val bool) attribute.KeyValue {
 | |
| 	return MessagingDestinationTemporaryKey.Bool(val)
 | |
| }
 | |
| 
 | |
| // MessagingDestinationPublishAnonymous returns an attribute KeyValue
 | |
| // conforming to the "messaging.destination_publish.anonymous" semantic
 | |
| // conventions. It represents a boolean that is true if the publish message
 | |
| // destination is anonymous (could be unnamed or have auto-generated name).
 | |
| func MessagingDestinationPublishAnonymous(val bool) attribute.KeyValue {
 | |
| 	return MessagingDestinationPublishAnonymousKey.Bool(val)
 | |
| }
 | |
| 
 | |
| // MessagingDestinationPublishName returns an attribute KeyValue conforming
 | |
| // to the "messaging.destination_publish.name" semantic conventions. It
 | |
| // represents the name of the original destination the message was published to
 | |
| func MessagingDestinationPublishName(val string) attribute.KeyValue {
 | |
| 	return MessagingDestinationPublishNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // MessagingMessageBodySize returns an attribute KeyValue conforming to the
 | |
| // "messaging.message.body.size" semantic conventions. It represents the size
 | |
| // of the message body in bytes.
 | |
| func MessagingMessageBodySize(val int) attribute.KeyValue {
 | |
| 	return MessagingMessageBodySizeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // MessagingMessageConversationID returns an attribute KeyValue conforming
 | |
| // to the "messaging.message.conversation_id" semantic conventions. It
 | |
| // represents the conversation ID identifying the conversation to which the
 | |
| // message belongs, represented as a string. Sometimes called "Correlation ID".
 | |
| func MessagingMessageConversationID(val string) attribute.KeyValue {
 | |
| 	return MessagingMessageConversationIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // MessagingMessageEnvelopeSize returns an attribute KeyValue conforming to
 | |
| // the "messaging.message.envelope.size" semantic conventions. It represents
 | |
| // the size of the message body and metadata in bytes.
 | |
| func MessagingMessageEnvelopeSize(val int) attribute.KeyValue {
 | |
| 	return MessagingMessageEnvelopeSizeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // MessagingMessageID returns an attribute KeyValue conforming to the
 | |
| // "messaging.message.id" semantic conventions. It represents a value used by
 | |
| // the messaging system as an identifier for the message, represented as a
 | |
| // string.
 | |
| func MessagingMessageID(val string) attribute.KeyValue {
 | |
| 	return MessagingMessageIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // MessagingOperationName returns an attribute KeyValue conforming to the
 | |
| // "messaging.operation.name" semantic conventions. It represents the
 | |
| // system-specific name of the messaging operation.
 | |
| func MessagingOperationName(val string) attribute.KeyValue {
 | |
| 	return MessagingOperationNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // This group describes attributes specific to Apache Kafka.
 | |
| const (
 | |
| 	// MessagingKafkaConsumerGroupKey is the attribute Key conforming to the
 | |
| 	// "messaging.kafka.consumer.group" semantic conventions. It represents the
 | |
| 	// name of the Kafka Consumer Group that is handling the message. Only
 | |
| 	// applies to consumers, not producers.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'my-group'
 | |
| 	MessagingKafkaConsumerGroupKey = attribute.Key("messaging.kafka.consumer.group")
 | |
| 
 | |
| 	// MessagingKafkaMessageKeyKey is the attribute Key conforming to the
 | |
| 	// "messaging.kafka.message.key" semantic conventions. It represents the
 | |
| 	// 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'myKey'
 | |
| 	// 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.
 | |
| 	MessagingKafkaMessageKeyKey = attribute.Key("messaging.kafka.message.key")
 | |
| 
 | |
| 	// MessagingKafkaMessageOffsetKey is the attribute Key conforming to the
 | |
| 	// "messaging.kafka.message.offset" semantic conventions. It represents the
 | |
| 	// offset of a record in the corresponding Kafka partition.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 42
 | |
| 	MessagingKafkaMessageOffsetKey = attribute.Key("messaging.kafka.message.offset")
 | |
| 
 | |
| 	// MessagingKafkaMessageTombstoneKey is the attribute Key conforming to the
 | |
| 	// "messaging.kafka.message.tombstone" semantic conventions. It represents
 | |
| 	// a boolean that is true if the message is a tombstone.
 | |
| 	//
 | |
| 	// Type: boolean
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	MessagingKafkaMessageTombstoneKey = attribute.Key("messaging.kafka.message.tombstone")
 | |
| )
 | |
| 
 | |
| // MessagingKafkaConsumerGroup returns an attribute KeyValue conforming to
 | |
| // the "messaging.kafka.consumer.group" semantic conventions. It represents the
 | |
| // name of the Kafka Consumer Group that is handling the message. Only applies
 | |
| // to consumers, not producers.
 | |
| func MessagingKafkaConsumerGroup(val string) attribute.KeyValue {
 | |
| 	return MessagingKafkaConsumerGroupKey.String(val)
 | |
| }
 | |
| 
 | |
| // MessagingKafkaMessageKey returns an attribute KeyValue conforming to the
 | |
| // "messaging.kafka.message.key" semantic conventions. It represents the
 | |
| // 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.
 | |
| func MessagingKafkaMessageKey(val string) attribute.KeyValue {
 | |
| 	return MessagingKafkaMessageKeyKey.String(val)
 | |
| }
 | |
| 
 | |
| // MessagingKafkaMessageOffset returns an attribute KeyValue conforming to
 | |
| // the "messaging.kafka.message.offset" semantic conventions. It represents the
 | |
| // offset of a record in the corresponding Kafka partition.
 | |
| func MessagingKafkaMessageOffset(val int) attribute.KeyValue {
 | |
| 	return MessagingKafkaMessageOffsetKey.Int(val)
 | |
| }
 | |
| 
 | |
| // MessagingKafkaMessageTombstone returns an attribute KeyValue conforming
 | |
| // to the "messaging.kafka.message.tombstone" semantic conventions. It
 | |
| // represents a boolean that is true if the message is a tombstone.
 | |
| func MessagingKafkaMessageTombstone(val bool) attribute.KeyValue {
 | |
| 	return MessagingKafkaMessageTombstoneKey.Bool(val)
 | |
| }
 | |
| 
 | |
| // This group describes attributes specific to RabbitMQ.
 | |
| const (
 | |
| 	// MessagingRabbitmqDestinationRoutingKeyKey is the attribute Key
 | |
| 	// conforming to the "messaging.rabbitmq.destination.routing_key" semantic
 | |
| 	// conventions. It represents the rabbitMQ message routing key.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'myKey'
 | |
| 	MessagingRabbitmqDestinationRoutingKeyKey = attribute.Key("messaging.rabbitmq.destination.routing_key")
 | |
| 
 | |
| 	// MessagingRabbitmqMessageDeliveryTagKey is the attribute Key conforming
 | |
| 	// to the "messaging.rabbitmq.message.delivery_tag" semantic conventions.
 | |
| 	// It represents the rabbitMQ message delivery tag
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 123
 | |
| 	MessagingRabbitmqMessageDeliveryTagKey = attribute.Key("messaging.rabbitmq.message.delivery_tag")
 | |
| )
 | |
| 
 | |
| // MessagingRabbitmqDestinationRoutingKey returns an attribute KeyValue
 | |
| // conforming to the "messaging.rabbitmq.destination.routing_key" semantic
 | |
| // conventions. It represents the rabbitMQ message routing key.
 | |
| func MessagingRabbitmqDestinationRoutingKey(val string) attribute.KeyValue {
 | |
| 	return MessagingRabbitmqDestinationRoutingKeyKey.String(val)
 | |
| }
 | |
| 
 | |
| // MessagingRabbitmqMessageDeliveryTag returns an attribute KeyValue
 | |
| // conforming to the "messaging.rabbitmq.message.delivery_tag" semantic
 | |
| // conventions. It represents the rabbitMQ message delivery tag
 | |
| func MessagingRabbitmqMessageDeliveryTag(val int) attribute.KeyValue {
 | |
| 	return MessagingRabbitmqMessageDeliveryTagKey.Int(val)
 | |
| }
 | |
| 
 | |
| // This group describes attributes specific to RocketMQ.
 | |
| const (
 | |
| 	// MessagingRocketmqClientGroupKey is the attribute Key conforming to the
 | |
| 	// "messaging.rocketmq.client_group" semantic conventions. It represents
 | |
| 	// the name of the RocketMQ producer/consumer group that is handling the
 | |
| 	// message. The client type is identified by the SpanKind.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'myConsumerGroup'
 | |
| 	MessagingRocketmqClientGroupKey = attribute.Key("messaging.rocketmq.client_group")
 | |
| 
 | |
| 	// MessagingRocketmqConsumptionModelKey is the attribute Key conforming to
 | |
| 	// the "messaging.rocketmq.consumption_model" semantic conventions. It
 | |
| 	// represents the model of message consumption. This only applies to
 | |
| 	// consumer spans.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	MessagingRocketmqConsumptionModelKey = attribute.Key("messaging.rocketmq.consumption_model")
 | |
| 
 | |
| 	// MessagingRocketmqMessageDelayTimeLevelKey is the attribute Key
 | |
| 	// conforming to the "messaging.rocketmq.message.delay_time_level" semantic
 | |
| 	// conventions. It represents the delay time level for delay message, which
 | |
| 	// determines the message delay time.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 3
 | |
| 	MessagingRocketmqMessageDelayTimeLevelKey = attribute.Key("messaging.rocketmq.message.delay_time_level")
 | |
| 
 | |
| 	// MessagingRocketmqMessageDeliveryTimestampKey is the attribute Key
 | |
| 	// conforming to the "messaging.rocketmq.message.delivery_timestamp"
 | |
| 	// semantic conventions. It represents the timestamp in milliseconds that
 | |
| 	// the delay message is expected to be delivered to consumer.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 1665987217045
 | |
| 	MessagingRocketmqMessageDeliveryTimestampKey = attribute.Key("messaging.rocketmq.message.delivery_timestamp")
 | |
| 
 | |
| 	// MessagingRocketmqMessageGroupKey is the attribute Key conforming to the
 | |
| 	// "messaging.rocketmq.message.group" semantic conventions. It represents
 | |
| 	// the 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'myMessageGroup'
 | |
| 	MessagingRocketmqMessageGroupKey = attribute.Key("messaging.rocketmq.message.group")
 | |
| 
 | |
| 	// MessagingRocketmqMessageKeysKey is the attribute Key conforming to the
 | |
| 	// "messaging.rocketmq.message.keys" semantic conventions. It represents
 | |
| 	// the key(s) of message, another way to mark message besides message id.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'keyA', 'keyB'
 | |
| 	MessagingRocketmqMessageKeysKey = attribute.Key("messaging.rocketmq.message.keys")
 | |
| 
 | |
| 	// MessagingRocketmqMessageTagKey is the attribute Key conforming to the
 | |
| 	// "messaging.rocketmq.message.tag" semantic conventions. It represents the
 | |
| 	// secondary classifier of message besides topic.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'tagA'
 | |
| 	MessagingRocketmqMessageTagKey = attribute.Key("messaging.rocketmq.message.tag")
 | |
| 
 | |
| 	// MessagingRocketmqMessageTypeKey is the attribute Key conforming to the
 | |
| 	// "messaging.rocketmq.message.type" semantic conventions. It represents
 | |
| 	// the type of message.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	MessagingRocketmqMessageTypeKey = attribute.Key("messaging.rocketmq.message.type")
 | |
| 
 | |
| 	// MessagingRocketmqNamespaceKey is the attribute Key conforming to the
 | |
| 	// "messaging.rocketmq.namespace" semantic conventions. It represents the
 | |
| 	// namespace of RocketMQ resources, resources in different namespaces are
 | |
| 	// individual.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'myNamespace'
 | |
| 	MessagingRocketmqNamespaceKey = attribute.Key("messaging.rocketmq.namespace")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// Clustering consumption model
 | |
| 	MessagingRocketmqConsumptionModelClustering = MessagingRocketmqConsumptionModelKey.String("clustering")
 | |
| 	// Broadcasting consumption model
 | |
| 	MessagingRocketmqConsumptionModelBroadcasting = MessagingRocketmqConsumptionModelKey.String("broadcasting")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// Normal message
 | |
| 	MessagingRocketmqMessageTypeNormal = MessagingRocketmqMessageTypeKey.String("normal")
 | |
| 	// FIFO message
 | |
| 	MessagingRocketmqMessageTypeFifo = MessagingRocketmqMessageTypeKey.String("fifo")
 | |
| 	// Delay message
 | |
| 	MessagingRocketmqMessageTypeDelay = MessagingRocketmqMessageTypeKey.String("delay")
 | |
| 	// Transaction message
 | |
| 	MessagingRocketmqMessageTypeTransaction = MessagingRocketmqMessageTypeKey.String("transaction")
 | |
| )
 | |
| 
 | |
| // MessagingRocketmqClientGroup returns an attribute KeyValue conforming to
 | |
| // the "messaging.rocketmq.client_group" semantic conventions. It represents
 | |
| // the name of the RocketMQ producer/consumer group that is handling the
 | |
| // message. The client type is identified by the SpanKind.
 | |
| func MessagingRocketmqClientGroup(val string) attribute.KeyValue {
 | |
| 	return MessagingRocketmqClientGroupKey.String(val)
 | |
| }
 | |
| 
 | |
| // MessagingRocketmqMessageDelayTimeLevel returns an attribute KeyValue
 | |
| // conforming to the "messaging.rocketmq.message.delay_time_level" semantic
 | |
| // conventions. It represents the delay time level for delay message, which
 | |
| // determines the message delay time.
 | |
| func MessagingRocketmqMessageDelayTimeLevel(val int) attribute.KeyValue {
 | |
| 	return MessagingRocketmqMessageDelayTimeLevelKey.Int(val)
 | |
| }
 | |
| 
 | |
| // MessagingRocketmqMessageDeliveryTimestamp returns an attribute KeyValue
 | |
| // conforming to the "messaging.rocketmq.message.delivery_timestamp" semantic
 | |
| // conventions. It represents the timestamp in milliseconds that the delay
 | |
| // message is expected to be delivered to consumer.
 | |
| func MessagingRocketmqMessageDeliveryTimestamp(val int) attribute.KeyValue {
 | |
| 	return MessagingRocketmqMessageDeliveryTimestampKey.Int(val)
 | |
| }
 | |
| 
 | |
| // MessagingRocketmqMessageGroup returns an attribute KeyValue conforming to
 | |
| // the "messaging.rocketmq.message.group" semantic conventions. It represents
 | |
| // the 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.
 | |
| func MessagingRocketmqMessageGroup(val string) attribute.KeyValue {
 | |
| 	return MessagingRocketmqMessageGroupKey.String(val)
 | |
| }
 | |
| 
 | |
| // MessagingRocketmqMessageKeys returns an attribute KeyValue conforming to
 | |
| // the "messaging.rocketmq.message.keys" semantic conventions. It represents
 | |
| // the key(s) of message, another way to mark message besides message id.
 | |
| func MessagingRocketmqMessageKeys(val ...string) attribute.KeyValue {
 | |
| 	return MessagingRocketmqMessageKeysKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // MessagingRocketmqMessageTag returns an attribute KeyValue conforming to
 | |
| // the "messaging.rocketmq.message.tag" semantic conventions. It represents the
 | |
| // secondary classifier of message besides topic.
 | |
| func MessagingRocketmqMessageTag(val string) attribute.KeyValue {
 | |
| 	return MessagingRocketmqMessageTagKey.String(val)
 | |
| }
 | |
| 
 | |
| // MessagingRocketmqNamespace returns an attribute KeyValue conforming to
 | |
| // the "messaging.rocketmq.namespace" semantic conventions. It represents the
 | |
| // namespace of RocketMQ resources, resources in different namespaces are
 | |
| // individual.
 | |
| func MessagingRocketmqNamespace(val string) attribute.KeyValue {
 | |
| 	return MessagingRocketmqNamespaceKey.String(val)
 | |
| }
 | |
| 
 | |
| // This group describes attributes specific to GCP Pub/Sub.
 | |
| const (
 | |
| 	// MessagingGCPPubsubMessageAckDeadlineKey is the attribute Key conforming
 | |
| 	// to the "messaging.gcp_pubsub.message.ack_deadline" semantic conventions.
 | |
| 	// It represents the ack deadline in seconds set for the modify ack
 | |
| 	// deadline request.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 10
 | |
| 	MessagingGCPPubsubMessageAckDeadlineKey = attribute.Key("messaging.gcp_pubsub.message.ack_deadline")
 | |
| 
 | |
| 	// MessagingGCPPubsubMessageAckIDKey is the attribute Key conforming to the
 | |
| 	// "messaging.gcp_pubsub.message.ack_id" semantic conventions. It
 | |
| 	// represents the ack id for a given message.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'ack_id'
 | |
| 	MessagingGCPPubsubMessageAckIDKey = attribute.Key("messaging.gcp_pubsub.message.ack_id")
 | |
| 
 | |
| 	// MessagingGCPPubsubMessageDeliveryAttemptKey is the attribute Key
 | |
| 	// conforming to the "messaging.gcp_pubsub.message.delivery_attempt"
 | |
| 	// semantic conventions. It represents the delivery attempt for a given
 | |
| 	// message.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 2
 | |
| 	MessagingGCPPubsubMessageDeliveryAttemptKey = attribute.Key("messaging.gcp_pubsub.message.delivery_attempt")
 | |
| 
 | |
| 	// MessagingGCPPubsubMessageOrderingKeyKey is the attribute Key conforming
 | |
| 	// to the "messaging.gcp_pubsub.message.ordering_key" semantic conventions.
 | |
| 	// It represents the ordering key for a given message. If the attribute is
 | |
| 	// not present, the message does not have an ordering key.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'ordering_key'
 | |
| 	MessagingGCPPubsubMessageOrderingKeyKey = attribute.Key("messaging.gcp_pubsub.message.ordering_key")
 | |
| )
 | |
| 
 | |
| // MessagingGCPPubsubMessageAckDeadline returns an attribute KeyValue
 | |
| // conforming to the "messaging.gcp_pubsub.message.ack_deadline" semantic
 | |
| // conventions. It represents the ack deadline in seconds set for the modify
 | |
| // ack deadline request.
 | |
| func MessagingGCPPubsubMessageAckDeadline(val int) attribute.KeyValue {
 | |
| 	return MessagingGCPPubsubMessageAckDeadlineKey.Int(val)
 | |
| }
 | |
| 
 | |
| // MessagingGCPPubsubMessageAckID returns an attribute KeyValue conforming
 | |
| // to the "messaging.gcp_pubsub.message.ack_id" semantic conventions. It
 | |
| // represents the ack id for a given message.
 | |
| func MessagingGCPPubsubMessageAckID(val string) attribute.KeyValue {
 | |
| 	return MessagingGCPPubsubMessageAckIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // MessagingGCPPubsubMessageDeliveryAttempt returns an attribute KeyValue
 | |
| // conforming to the "messaging.gcp_pubsub.message.delivery_attempt" semantic
 | |
| // conventions. It represents the delivery attempt for a given message.
 | |
| func MessagingGCPPubsubMessageDeliveryAttempt(val int) attribute.KeyValue {
 | |
| 	return MessagingGCPPubsubMessageDeliveryAttemptKey.Int(val)
 | |
| }
 | |
| 
 | |
| // MessagingGCPPubsubMessageOrderingKey returns an attribute KeyValue
 | |
| // conforming to the "messaging.gcp_pubsub.message.ordering_key" semantic
 | |
| // conventions. It represents the ordering key for a given message. If the
 | |
| // attribute is not present, the message does not have an ordering key.
 | |
| func MessagingGCPPubsubMessageOrderingKey(val string) attribute.KeyValue {
 | |
| 	return MessagingGCPPubsubMessageOrderingKeyKey.String(val)
 | |
| }
 | |
| 
 | |
| // This group describes attributes specific to Azure Service Bus.
 | |
| const (
 | |
| 	// MessagingServicebusDestinationSubscriptionNameKey is the attribute Key
 | |
| 	// conforming to the "messaging.servicebus.destination.subscription_name"
 | |
| 	// semantic conventions. It represents the name of the subscription in the
 | |
| 	// topic messages are received from.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'mySubscription'
 | |
| 	MessagingServicebusDestinationSubscriptionNameKey = attribute.Key("messaging.servicebus.destination.subscription_name")
 | |
| 
 | |
| 	// MessagingServicebusDispositionStatusKey is the attribute Key conforming
 | |
| 	// to the "messaging.servicebus.disposition_status" semantic conventions.
 | |
| 	// It represents the describes the [settlement
 | |
| 	// type](https://learn.microsoft.com/azure/service-bus-messaging/message-transfers-locks-settlement#peeklock).
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	MessagingServicebusDispositionStatusKey = attribute.Key("messaging.servicebus.disposition_status")
 | |
| 
 | |
| 	// MessagingServicebusMessageDeliveryCountKey is the attribute Key
 | |
| 	// conforming to the "messaging.servicebus.message.delivery_count" semantic
 | |
| 	// conventions. It represents the number of deliveries that have been
 | |
| 	// attempted for this message.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 2
 | |
| 	MessagingServicebusMessageDeliveryCountKey = attribute.Key("messaging.servicebus.message.delivery_count")
 | |
| 
 | |
| 	// MessagingServicebusMessageEnqueuedTimeKey is the attribute Key
 | |
| 	// conforming to the "messaging.servicebus.message.enqueued_time" semantic
 | |
| 	// conventions. It represents the UTC epoch seconds at which the message
 | |
| 	// has been accepted and stored in the entity.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 1701393730
 | |
| 	MessagingServicebusMessageEnqueuedTimeKey = attribute.Key("messaging.servicebus.message.enqueued_time")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// Message is completed
 | |
| 	MessagingServicebusDispositionStatusComplete = MessagingServicebusDispositionStatusKey.String("complete")
 | |
| 	// Message is abandoned
 | |
| 	MessagingServicebusDispositionStatusAbandon = MessagingServicebusDispositionStatusKey.String("abandon")
 | |
| 	// Message is sent to dead letter queue
 | |
| 	MessagingServicebusDispositionStatusDeadLetter = MessagingServicebusDispositionStatusKey.String("dead_letter")
 | |
| 	// Message is deferred
 | |
| 	MessagingServicebusDispositionStatusDefer = MessagingServicebusDispositionStatusKey.String("defer")
 | |
| )
 | |
| 
 | |
| // MessagingServicebusDestinationSubscriptionName returns an attribute
 | |
| // KeyValue conforming to the
 | |
| // "messaging.servicebus.destination.subscription_name" semantic conventions.
 | |
| // It represents the name of the subscription in the topic messages are
 | |
| // received from.
 | |
| func MessagingServicebusDestinationSubscriptionName(val string) attribute.KeyValue {
 | |
| 	return MessagingServicebusDestinationSubscriptionNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // MessagingServicebusMessageDeliveryCount returns an attribute KeyValue
 | |
| // conforming to the "messaging.servicebus.message.delivery_count" semantic
 | |
| // conventions. It represents the number of deliveries that have been attempted
 | |
| // for this message.
 | |
| func MessagingServicebusMessageDeliveryCount(val int) attribute.KeyValue {
 | |
| 	return MessagingServicebusMessageDeliveryCountKey.Int(val)
 | |
| }
 | |
| 
 | |
| // MessagingServicebusMessageEnqueuedTime returns an attribute KeyValue
 | |
| // conforming to the "messaging.servicebus.message.enqueued_time" semantic
 | |
| // conventions. It represents the UTC epoch seconds at which the message has
 | |
| // been accepted and stored in the entity.
 | |
| func MessagingServicebusMessageEnqueuedTime(val int) attribute.KeyValue {
 | |
| 	return MessagingServicebusMessageEnqueuedTimeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // This group describes attributes specific to Azure Event Hubs.
 | |
| const (
 | |
| 	// MessagingEventhubsConsumerGroupKey is the attribute Key conforming to
 | |
| 	// the "messaging.eventhubs.consumer.group" semantic conventions. It
 | |
| 	// represents the name of the consumer group the event consumer is
 | |
| 	// associated with.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'indexer'
 | |
| 	MessagingEventhubsConsumerGroupKey = attribute.Key("messaging.eventhubs.consumer.group")
 | |
| 
 | |
| 	// MessagingEventhubsMessageEnqueuedTimeKey is the attribute Key conforming
 | |
| 	// to the "messaging.eventhubs.message.enqueued_time" semantic conventions.
 | |
| 	// It represents the UTC epoch seconds at which the message has been
 | |
| 	// accepted and stored in the entity.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 1701393730
 | |
| 	MessagingEventhubsMessageEnqueuedTimeKey = attribute.Key("messaging.eventhubs.message.enqueued_time")
 | |
| )
 | |
| 
 | |
| // MessagingEventhubsConsumerGroup returns an attribute KeyValue conforming
 | |
| // to the "messaging.eventhubs.consumer.group" semantic conventions. It
 | |
| // represents the name of the consumer group the event consumer is associated
 | |
| // with.
 | |
| func MessagingEventhubsConsumerGroup(val string) attribute.KeyValue {
 | |
| 	return MessagingEventhubsConsumerGroupKey.String(val)
 | |
| }
 | |
| 
 | |
| // MessagingEventhubsMessageEnqueuedTime returns an attribute KeyValue
 | |
| // conforming to the "messaging.eventhubs.message.enqueued_time" semantic
 | |
| // conventions. It represents the UTC epoch seconds at which the message has
 | |
| // been accepted and stored in the entity.
 | |
| func MessagingEventhubsMessageEnqueuedTime(val int) attribute.KeyValue {
 | |
| 	return MessagingEventhubsMessageEnqueuedTimeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // These attributes may be used for any network related operation.
 | |
| const (
 | |
| 	// NetworkCarrierIccKey is the attribute Key conforming to the
 | |
| 	// "network.carrier.icc" semantic conventions. It represents the ISO 3166-1
 | |
| 	// alpha-2 2-character country code associated with the mobile carrier
 | |
| 	// network.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'DE'
 | |
| 	NetworkCarrierIccKey = attribute.Key("network.carrier.icc")
 | |
| 
 | |
| 	// NetworkCarrierMccKey is the attribute Key conforming to the
 | |
| 	// "network.carrier.mcc" semantic conventions. It represents the mobile
 | |
| 	// carrier country code.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '310'
 | |
| 	NetworkCarrierMccKey = attribute.Key("network.carrier.mcc")
 | |
| 
 | |
| 	// NetworkCarrierMncKey is the attribute Key conforming to the
 | |
| 	// "network.carrier.mnc" semantic conventions. It represents the mobile
 | |
| 	// carrier network code.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '001'
 | |
| 	NetworkCarrierMncKey = attribute.Key("network.carrier.mnc")
 | |
| 
 | |
| 	// NetworkCarrierNameKey is the attribute Key conforming to the
 | |
| 	// "network.carrier.name" semantic conventions. It represents the name of
 | |
| 	// the mobile carrier.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'sprint'
 | |
| 	NetworkCarrierNameKey = attribute.Key("network.carrier.name")
 | |
| 
 | |
| 	// NetworkConnectionSubtypeKey is the attribute Key conforming to the
 | |
| 	// "network.connection.subtype" semantic conventions. It represents the
 | |
| 	// 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.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'LTE'
 | |
| 	NetworkConnectionSubtypeKey = attribute.Key("network.connection.subtype")
 | |
| 
 | |
| 	// NetworkConnectionTypeKey is the attribute Key conforming to the
 | |
| 	// "network.connection.type" semantic conventions. It represents the
 | |
| 	// internet connection type.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'wifi'
 | |
| 	NetworkConnectionTypeKey = attribute.Key("network.connection.type")
 | |
| 
 | |
| 	// NetworkIoDirectionKey is the attribute Key conforming to the
 | |
| 	// "network.io.direction" semantic conventions. It represents the network
 | |
| 	// IO operation direction.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'transmit'
 | |
| 	NetworkIoDirectionKey = attribute.Key("network.io.direction")
 | |
| 
 | |
| 	// NetworkLocalAddressKey is the attribute Key conforming to the
 | |
| 	// "network.local.address" semantic conventions. It represents the local
 | |
| 	// address of the network connection - IP address or Unix domain socket
 | |
| 	// name.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: '10.1.2.80', '/tmp/my.sock'
 | |
| 	NetworkLocalAddressKey = attribute.Key("network.local.address")
 | |
| 
 | |
| 	// NetworkLocalPortKey is the attribute Key conforming to the
 | |
| 	// "network.local.port" semantic conventions. It represents the local port
 | |
| 	// number of the network connection.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 65123
 | |
| 	NetworkLocalPortKey = attribute.Key("network.local.port")
 | |
| 
 | |
| 	// NetworkPeerAddressKey is the attribute Key conforming to the
 | |
| 	// "network.peer.address" semantic conventions. It represents the peer
 | |
| 	// address of the network connection - IP address or Unix domain socket
 | |
| 	// name.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: '10.1.2.80', '/tmp/my.sock'
 | |
| 	NetworkPeerAddressKey = attribute.Key("network.peer.address")
 | |
| 
 | |
| 	// NetworkPeerPortKey is the attribute Key conforming to the
 | |
| 	// "network.peer.port" semantic conventions. It represents the peer port
 | |
| 	// number of the network connection.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 65123
 | |
| 	NetworkPeerPortKey = attribute.Key("network.peer.port")
 | |
| 
 | |
| 	// NetworkProtocolNameKey is the attribute Key conforming to the
 | |
| 	// "network.protocol.name" semantic conventions. It represents the [OSI
 | |
| 	// application layer](https://osi-model.com/application-layer/) or non-OSI
 | |
| 	// equivalent.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'amqp', 'http', 'mqtt'
 | |
| 	// Note: The value SHOULD be normalized to lowercase.
 | |
| 	NetworkProtocolNameKey = attribute.Key("network.protocol.name")
 | |
| 
 | |
| 	// NetworkProtocolVersionKey is the attribute Key conforming to the
 | |
| 	// "network.protocol.version" semantic conventions. It represents the
 | |
| 	// actual version of the protocol used for network communication.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: '1.1', '2'
 | |
| 	// Note: If protocol version is subject to negotiation (for example using
 | |
| 	// [ALPN](https://www.rfc-editor.org/rfc/rfc7301.html)), this attribute
 | |
| 	// SHOULD be set to the negotiated version. If the actual protocol version
 | |
| 	// is not known, this attribute SHOULD NOT be set.
 | |
| 	NetworkProtocolVersionKey = attribute.Key("network.protocol.version")
 | |
| 
 | |
| 	// NetworkTransportKey is the attribute Key conforming to the
 | |
| 	// "network.transport" semantic conventions. It represents the [OSI
 | |
| 	// transport layer](https://osi-model.com/transport-layer/) or
 | |
| 	// [inter-process communication
 | |
| 	// method](https://wikipedia.org/wiki/Inter-process_communication).
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'tcp', 'udp'
 | |
| 	// 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.
 | |
| 	NetworkTransportKey = attribute.Key("network.transport")
 | |
| 
 | |
| 	// NetworkTypeKey is the attribute Key conforming to the "network.type"
 | |
| 	// semantic conventions. It represents the [OSI network
 | |
| 	// layer](https://osi-model.com/network-layer/) or non-OSI equivalent.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'ipv4', 'ipv6'
 | |
| 	// Note: The value SHOULD be normalized to lowercase.
 | |
| 	NetworkTypeKey = attribute.Key("network.type")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// GPRS
 | |
| 	NetworkConnectionSubtypeGprs = NetworkConnectionSubtypeKey.String("gprs")
 | |
| 	// EDGE
 | |
| 	NetworkConnectionSubtypeEdge = NetworkConnectionSubtypeKey.String("edge")
 | |
| 	// UMTS
 | |
| 	NetworkConnectionSubtypeUmts = NetworkConnectionSubtypeKey.String("umts")
 | |
| 	// CDMA
 | |
| 	NetworkConnectionSubtypeCdma = NetworkConnectionSubtypeKey.String("cdma")
 | |
| 	// EVDO Rel. 0
 | |
| 	NetworkConnectionSubtypeEvdo0 = NetworkConnectionSubtypeKey.String("evdo_0")
 | |
| 	// EVDO Rev. A
 | |
| 	NetworkConnectionSubtypeEvdoA = NetworkConnectionSubtypeKey.String("evdo_a")
 | |
| 	// CDMA2000 1XRTT
 | |
| 	NetworkConnectionSubtypeCdma20001xrtt = NetworkConnectionSubtypeKey.String("cdma2000_1xrtt")
 | |
| 	// HSDPA
 | |
| 	NetworkConnectionSubtypeHsdpa = NetworkConnectionSubtypeKey.String("hsdpa")
 | |
| 	// HSUPA
 | |
| 	NetworkConnectionSubtypeHsupa = NetworkConnectionSubtypeKey.String("hsupa")
 | |
| 	// HSPA
 | |
| 	NetworkConnectionSubtypeHspa = NetworkConnectionSubtypeKey.String("hspa")
 | |
| 	// IDEN
 | |
| 	NetworkConnectionSubtypeIden = NetworkConnectionSubtypeKey.String("iden")
 | |
| 	// EVDO Rev. B
 | |
| 	NetworkConnectionSubtypeEvdoB = NetworkConnectionSubtypeKey.String("evdo_b")
 | |
| 	// LTE
 | |
| 	NetworkConnectionSubtypeLte = NetworkConnectionSubtypeKey.String("lte")
 | |
| 	// EHRPD
 | |
| 	NetworkConnectionSubtypeEhrpd = NetworkConnectionSubtypeKey.String("ehrpd")
 | |
| 	// HSPAP
 | |
| 	NetworkConnectionSubtypeHspap = NetworkConnectionSubtypeKey.String("hspap")
 | |
| 	// GSM
 | |
| 	NetworkConnectionSubtypeGsm = NetworkConnectionSubtypeKey.String("gsm")
 | |
| 	// TD-SCDMA
 | |
| 	NetworkConnectionSubtypeTdScdma = NetworkConnectionSubtypeKey.String("td_scdma")
 | |
| 	// IWLAN
 | |
| 	NetworkConnectionSubtypeIwlan = NetworkConnectionSubtypeKey.String("iwlan")
 | |
| 	// 5G NR (New Radio)
 | |
| 	NetworkConnectionSubtypeNr = NetworkConnectionSubtypeKey.String("nr")
 | |
| 	// 5G NRNSA (New Radio Non-Standalone)
 | |
| 	NetworkConnectionSubtypeNrnsa = NetworkConnectionSubtypeKey.String("nrnsa")
 | |
| 	// LTE CA
 | |
| 	NetworkConnectionSubtypeLteCa = NetworkConnectionSubtypeKey.String("lte_ca")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// wifi
 | |
| 	NetworkConnectionTypeWifi = NetworkConnectionTypeKey.String("wifi")
 | |
| 	// wired
 | |
| 	NetworkConnectionTypeWired = NetworkConnectionTypeKey.String("wired")
 | |
| 	// cell
 | |
| 	NetworkConnectionTypeCell = NetworkConnectionTypeKey.String("cell")
 | |
| 	// unavailable
 | |
| 	NetworkConnectionTypeUnavailable = NetworkConnectionTypeKey.String("unavailable")
 | |
| 	// unknown
 | |
| 	NetworkConnectionTypeUnknown = NetworkConnectionTypeKey.String("unknown")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// transmit
 | |
| 	NetworkIoDirectionTransmit = NetworkIoDirectionKey.String("transmit")
 | |
| 	// receive
 | |
| 	NetworkIoDirectionReceive = NetworkIoDirectionKey.String("receive")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// TCP
 | |
| 	NetworkTransportTCP = NetworkTransportKey.String("tcp")
 | |
| 	// UDP
 | |
| 	NetworkTransportUDP = NetworkTransportKey.String("udp")
 | |
| 	// Named or anonymous pipe
 | |
| 	NetworkTransportPipe = NetworkTransportKey.String("pipe")
 | |
| 	// Unix domain socket
 | |
| 	NetworkTransportUnix = NetworkTransportKey.String("unix")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// IPv4
 | |
| 	NetworkTypeIpv4 = NetworkTypeKey.String("ipv4")
 | |
| 	// IPv6
 | |
| 	NetworkTypeIpv6 = NetworkTypeKey.String("ipv6")
 | |
| )
 | |
| 
 | |
| // NetworkCarrierIcc returns an attribute KeyValue conforming to the
 | |
| // "network.carrier.icc" semantic conventions. It represents the ISO 3166-1
 | |
| // alpha-2 2-character country code associated with the mobile carrier network.
 | |
| func NetworkCarrierIcc(val string) attribute.KeyValue {
 | |
| 	return NetworkCarrierIccKey.String(val)
 | |
| }
 | |
| 
 | |
| // NetworkCarrierMcc returns an attribute KeyValue conforming to the
 | |
| // "network.carrier.mcc" semantic conventions. It represents the mobile carrier
 | |
| // country code.
 | |
| func NetworkCarrierMcc(val string) attribute.KeyValue {
 | |
| 	return NetworkCarrierMccKey.String(val)
 | |
| }
 | |
| 
 | |
| // NetworkCarrierMnc returns an attribute KeyValue conforming to the
 | |
| // "network.carrier.mnc" semantic conventions. It represents the mobile carrier
 | |
| // network code.
 | |
| func NetworkCarrierMnc(val string) attribute.KeyValue {
 | |
| 	return NetworkCarrierMncKey.String(val)
 | |
| }
 | |
| 
 | |
| // NetworkCarrierName returns an attribute KeyValue conforming to the
 | |
| // "network.carrier.name" semantic conventions. It represents the name of the
 | |
| // mobile carrier.
 | |
| func NetworkCarrierName(val string) attribute.KeyValue {
 | |
| 	return NetworkCarrierNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // NetworkLocalAddress returns an attribute KeyValue conforming to the
 | |
| // "network.local.address" semantic conventions. It represents the local
 | |
| // address of the network connection - IP address or Unix domain socket name.
 | |
| func NetworkLocalAddress(val string) attribute.KeyValue {
 | |
| 	return NetworkLocalAddressKey.String(val)
 | |
| }
 | |
| 
 | |
| // NetworkLocalPort returns an attribute KeyValue conforming to the
 | |
| // "network.local.port" semantic conventions. It represents the local port
 | |
| // number of the network connection.
 | |
| func NetworkLocalPort(val int) attribute.KeyValue {
 | |
| 	return NetworkLocalPortKey.Int(val)
 | |
| }
 | |
| 
 | |
| // NetworkPeerAddress returns an attribute KeyValue conforming to the
 | |
| // "network.peer.address" semantic conventions. It represents the peer address
 | |
| // of the network connection - IP address or Unix domain socket name.
 | |
| func NetworkPeerAddress(val string) attribute.KeyValue {
 | |
| 	return NetworkPeerAddressKey.String(val)
 | |
| }
 | |
| 
 | |
| // NetworkPeerPort returns an attribute KeyValue conforming to the
 | |
| // "network.peer.port" semantic conventions. It represents the peer port number
 | |
| // of the network connection.
 | |
| func NetworkPeerPort(val int) attribute.KeyValue {
 | |
| 	return NetworkPeerPortKey.Int(val)
 | |
| }
 | |
| 
 | |
| // NetworkProtocolName returns an attribute KeyValue conforming to the
 | |
| // "network.protocol.name" semantic conventions. It represents the [OSI
 | |
| // application layer](https://osi-model.com/application-layer/) or non-OSI
 | |
| // equivalent.
 | |
| func NetworkProtocolName(val string) attribute.KeyValue {
 | |
| 	return NetworkProtocolNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // NetworkProtocolVersion returns an attribute KeyValue conforming to the
 | |
| // "network.protocol.version" semantic conventions. It represents the actual
 | |
| // version of the protocol used for network communication.
 | |
| func NetworkProtocolVersion(val string) attribute.KeyValue {
 | |
| 	return NetworkProtocolVersionKey.String(val)
 | |
| }
 | |
| 
 | |
| // An OCI image manifest.
 | |
| const (
 | |
| 	// OciManifestDigestKey is the attribute Key conforming to the
 | |
| 	// "oci.manifest.digest" semantic conventions. It represents the digest of
 | |
| 	// the OCI image manifest. For container images specifically is the digest
 | |
| 	// by which the container image is known.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples:
 | |
| 	// 'sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4'
 | |
| 	// Note: Follows [OCI Image Manifest
 | |
| 	// Specification](https://github.com/opencontainers/image-spec/blob/main/manifest.md),
 | |
| 	// and specifically the [Digest
 | |
| 	// property](https://github.com/opencontainers/image-spec/blob/main/descriptor.md#digests).
 | |
| 	// An example can be found in [Example Image
 | |
| 	// Manifest](https://docs.docker.com/registry/spec/manifest-v2-2/#example-image-manifest).
 | |
| 	OciManifestDigestKey = attribute.Key("oci.manifest.digest")
 | |
| )
 | |
| 
 | |
| // OciManifestDigest returns an attribute KeyValue conforming to the
 | |
| // "oci.manifest.digest" semantic conventions. It represents the digest of the
 | |
| // OCI image manifest. For container images specifically is the digest by which
 | |
| // the container image is known.
 | |
| func OciManifestDigest(val string) attribute.KeyValue {
 | |
| 	return OciManifestDigestKey.String(val)
 | |
| }
 | |
| 
 | |
| // Attributes used by the OpenTracing Shim layer.
 | |
| const (
 | |
| 	// OpentracingRefTypeKey is the attribute Key conforming to the
 | |
| 	// "opentracing.ref_type" semantic conventions. It represents the
 | |
| 	// parent-child Reference type
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Note: The causal relationship between a child Span and a parent Span.
 | |
| 	OpentracingRefTypeKey = attribute.Key("opentracing.ref_type")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// The parent Span depends on the child Span in some capacity
 | |
| 	OpentracingRefTypeChildOf = OpentracingRefTypeKey.String("child_of")
 | |
| 	// The parent Span doesn't depend in any way on the result of the child Span
 | |
| 	OpentracingRefTypeFollowsFrom = OpentracingRefTypeKey.String("follows_from")
 | |
| )
 | |
| 
 | |
| // The operating system (OS) on which the process represented by this resource
 | |
| // is running.
 | |
| const (
 | |
| 	// OSBuildIDKey is the attribute Key conforming to the "os.build_id"
 | |
| 	// semantic conventions. It represents the unique identifier for a
 | |
| 	// particular build or compilation of the operating system.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'TQ3C.230805.001.B2', '20E247', '22621'
 | |
| 	OSBuildIDKey = attribute.Key("os.build_id")
 | |
| 
 | |
| 	// OSDescriptionKey is the attribute Key conforming to the "os.description"
 | |
| 	// semantic conventions. It represents the human readable (not intended to
 | |
| 	// be parsed) OS version information, like e.g. reported by `ver` or
 | |
| 	// `lsb_release -a` commands.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'Microsoft Windows [Version 10.0.18363.778]', 'Ubuntu 18.04.1
 | |
| 	// LTS'
 | |
| 	OSDescriptionKey = attribute.Key("os.description")
 | |
| 
 | |
| 	// OSNameKey is the attribute Key conforming to the "os.name" semantic
 | |
| 	// conventions. It represents the human readable operating system name.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'iOS', 'Android', 'Ubuntu'
 | |
| 	OSNameKey = attribute.Key("os.name")
 | |
| 
 | |
| 	// OSTypeKey is the attribute Key conforming to the "os.type" semantic
 | |
| 	// conventions. It represents the operating system type.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	OSTypeKey = attribute.Key("os.type")
 | |
| 
 | |
| 	// OSVersionKey is the attribute Key conforming to the "os.version"
 | |
| 	// semantic conventions. It represents the version string of the operating
 | |
| 	// system as defined in [Version
 | |
| 	// Attributes](/docs/resource/README.md#version-attributes).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '14.2.1', '18.04.1'
 | |
| 	OSVersionKey = attribute.Key("os.version")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// Microsoft Windows
 | |
| 	OSTypeWindows = OSTypeKey.String("windows")
 | |
| 	// Linux
 | |
| 	OSTypeLinux = OSTypeKey.String("linux")
 | |
| 	// Apple Darwin
 | |
| 	OSTypeDarwin = OSTypeKey.String("darwin")
 | |
| 	// FreeBSD
 | |
| 	OSTypeFreeBSD = OSTypeKey.String("freebsd")
 | |
| 	// NetBSD
 | |
| 	OSTypeNetBSD = OSTypeKey.String("netbsd")
 | |
| 	// OpenBSD
 | |
| 	OSTypeOpenBSD = OSTypeKey.String("openbsd")
 | |
| 	// DragonFly BSD
 | |
| 	OSTypeDragonflyBSD = OSTypeKey.String("dragonflybsd")
 | |
| 	// HP-UX (Hewlett Packard Unix)
 | |
| 	OSTypeHPUX = OSTypeKey.String("hpux")
 | |
| 	// AIX (Advanced Interactive eXecutive)
 | |
| 	OSTypeAIX = OSTypeKey.String("aix")
 | |
| 	// SunOS, Oracle Solaris
 | |
| 	OSTypeSolaris = OSTypeKey.String("solaris")
 | |
| 	// IBM z/OS
 | |
| 	OSTypeZOS = OSTypeKey.String("z_os")
 | |
| )
 | |
| 
 | |
| // OSBuildID returns an attribute KeyValue conforming to the "os.build_id"
 | |
| // semantic conventions. It represents the unique identifier for a particular
 | |
| // build or compilation of the operating system.
 | |
| func OSBuildID(val string) attribute.KeyValue {
 | |
| 	return OSBuildIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // OSDescription returns an attribute KeyValue conforming to the
 | |
| // "os.description" semantic conventions. It represents the human readable (not
 | |
| // intended to be parsed) OS version information, like e.g. reported by `ver`
 | |
| // or `lsb_release -a` commands.
 | |
| func OSDescription(val string) attribute.KeyValue {
 | |
| 	return OSDescriptionKey.String(val)
 | |
| }
 | |
| 
 | |
| // OSName returns an attribute KeyValue conforming to the "os.name" semantic
 | |
| // conventions. It represents the human readable operating system name.
 | |
| func OSName(val string) attribute.KeyValue {
 | |
| 	return OSNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // OSVersion returns an attribute KeyValue conforming to the "os.version"
 | |
| // semantic conventions. It represents the version string of the operating
 | |
| // system as defined in [Version
 | |
| // Attributes](/docs/resource/README.md#version-attributes).
 | |
| func OSVersion(val string) attribute.KeyValue {
 | |
| 	return OSVersionKey.String(val)
 | |
| }
 | |
| 
 | |
| // Attributes reserved for OpenTelemetry
 | |
| const (
 | |
| 	// OTelStatusCodeKey is the attribute Key conforming to the
 | |
| 	// "otel.status_code" semantic conventions. It represents the name of the
 | |
| 	// code, either "OK" or "ERROR". MUST NOT be set if the status code is
 | |
| 	// UNSET.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	OTelStatusCodeKey = attribute.Key("otel.status_code")
 | |
| 
 | |
| 	// OTelStatusDescriptionKey is the attribute Key conforming to the
 | |
| 	// "otel.status_description" semantic conventions. It represents the
 | |
| 	// description of the Status if it has a value, otherwise not set.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'resource not found'
 | |
| 	OTelStatusDescriptionKey = attribute.Key("otel.status_description")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// The operation has been validated by an Application developer or Operator to have completed successfully
 | |
| 	OTelStatusCodeOk = OTelStatusCodeKey.String("OK")
 | |
| 	// The operation contains an error
 | |
| 	OTelStatusCodeError = OTelStatusCodeKey.String("ERROR")
 | |
| )
 | |
| 
 | |
| // OTelStatusDescription returns an attribute KeyValue conforming to the
 | |
| // "otel.status_description" semantic conventions. It represents the
 | |
| // description of the Status if it has a value, otherwise not set.
 | |
| func OTelStatusDescription(val string) attribute.KeyValue {
 | |
| 	return OTelStatusDescriptionKey.String(val)
 | |
| }
 | |
| 
 | |
| // Attributes used by non-OTLP exporters to represent OpenTelemetry Scope's
 | |
| // concepts.
 | |
| const (
 | |
| 	// OTelScopeNameKey is the attribute Key conforming to the
 | |
| 	// "otel.scope.name" semantic conventions. It represents the name of the
 | |
| 	// instrumentation scope - (`InstrumentationScope.Name` in OTLP).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'io.opentelemetry.contrib.mongodb'
 | |
| 	OTelScopeNameKey = attribute.Key("otel.scope.name")
 | |
| 
 | |
| 	// OTelScopeVersionKey is the attribute Key conforming to the
 | |
| 	// "otel.scope.version" semantic conventions. It represents the version of
 | |
| 	// the instrumentation scope - (`InstrumentationScope.Version` in OTLP).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: '1.0.0'
 | |
| 	OTelScopeVersionKey = attribute.Key("otel.scope.version")
 | |
| )
 | |
| 
 | |
| // OTelScopeName returns an attribute KeyValue conforming to the
 | |
| // "otel.scope.name" semantic conventions. It represents the name of the
 | |
| // instrumentation scope - (`InstrumentationScope.Name` in OTLP).
 | |
| func OTelScopeName(val string) attribute.KeyValue {
 | |
| 	return OTelScopeNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // OTelScopeVersion returns an attribute KeyValue conforming to the
 | |
| // "otel.scope.version" semantic conventions. It represents the version of the
 | |
| // instrumentation scope - (`InstrumentationScope.Version` in OTLP).
 | |
| func OTelScopeVersion(val string) attribute.KeyValue {
 | |
| 	return OTelScopeVersionKey.String(val)
 | |
| }
 | |
| 
 | |
| // Operations that access some remote service.
 | |
| const (
 | |
| 	// PeerServiceKey is the attribute Key conforming to the "peer.service"
 | |
| 	// semantic conventions. It represents the
 | |
| 	// [`service.name`](/docs/resource/README.md#service) of the remote
 | |
| 	// service. SHOULD be equal to the actual `service.name` resource attribute
 | |
| 	// of the remote service if any.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'AuthTokenCache'
 | |
| 	PeerServiceKey = attribute.Key("peer.service")
 | |
| )
 | |
| 
 | |
| // PeerService returns an attribute KeyValue conforming to the
 | |
| // "peer.service" semantic conventions. It represents the
 | |
| // [`service.name`](/docs/resource/README.md#service) of the remote service.
 | |
| // SHOULD be equal to the actual `service.name` resource attribute of the
 | |
| // remote service if any.
 | |
| func PeerService(val string) attribute.KeyValue {
 | |
| 	return PeerServiceKey.String(val)
 | |
| }
 | |
| 
 | |
| // An operating system process.
 | |
| const (
 | |
| 	// ProcessCommandKey is the attribute Key conforming to the
 | |
| 	// "process.command" semantic conventions. It represents 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`.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'cmd/otelcol'
 | |
| 	ProcessCommandKey = attribute.Key("process.command")
 | |
| 
 | |
| 	// ProcessCommandArgsKey is the attribute Key conforming to the
 | |
| 	// "process.command_args" semantic conventions. It represents the 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`.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'cmd/otecol', '--config=config.yaml'
 | |
| 	ProcessCommandArgsKey = attribute.Key("process.command_args")
 | |
| 
 | |
| 	// ProcessCommandLineKey is the attribute Key conforming to the
 | |
| 	// "process.command_line" semantic conventions. It represents 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'C:\\cmd\\otecol --config="my directory\\config.yaml"'
 | |
| 	ProcessCommandLineKey = attribute.Key("process.command_line")
 | |
| 
 | |
| 	// ProcessContextSwitchTypeKey is the attribute Key conforming to the
 | |
| 	// "process.context_switch_type" semantic conventions. It represents the
 | |
| 	// specifies whether the context switches for this data point were
 | |
| 	// voluntary or involuntary.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	ProcessContextSwitchTypeKey = attribute.Key("process.context_switch_type")
 | |
| 
 | |
| 	// ProcessCreationTimeKey is the attribute Key conforming to the
 | |
| 	// "process.creation.time" semantic conventions. It represents the date and
 | |
| 	// time the process was created, in ISO 8601 format.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '2023-11-21T09:25:34.853Z'
 | |
| 	ProcessCreationTimeKey = attribute.Key("process.creation.time")
 | |
| 
 | |
| 	// ProcessExecutableNameKey is the attribute Key conforming to the
 | |
| 	// "process.executable.name" semantic conventions. It represents 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`.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'otelcol'
 | |
| 	ProcessExecutableNameKey = attribute.Key("process.executable.name")
 | |
| 
 | |
| 	// ProcessExecutablePathKey is the attribute Key conforming to the
 | |
| 	// "process.executable.path" semantic conventions. It represents 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`.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '/usr/bin/cmd/otelcol'
 | |
| 	ProcessExecutablePathKey = attribute.Key("process.executable.path")
 | |
| 
 | |
| 	// ProcessExitCodeKey is the attribute Key conforming to the
 | |
| 	// "process.exit.code" semantic conventions. It represents the exit code of
 | |
| 	// the process.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 127
 | |
| 	ProcessExitCodeKey = attribute.Key("process.exit.code")
 | |
| 
 | |
| 	// ProcessExitTimeKey is the attribute Key conforming to the
 | |
| 	// "process.exit.time" semantic conventions. It represents the date and
 | |
| 	// time the process exited, in ISO 8601 format.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '2023-11-21T09:26:12.315Z'
 | |
| 	ProcessExitTimeKey = attribute.Key("process.exit.time")
 | |
| 
 | |
| 	// ProcessGroupLeaderPIDKey is the attribute Key conforming to the
 | |
| 	// "process.group_leader.pid" semantic conventions. It represents the PID
 | |
| 	// of the process's group leader. This is also the process group ID (PGID)
 | |
| 	// of the process.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 23
 | |
| 	ProcessGroupLeaderPIDKey = attribute.Key("process.group_leader.pid")
 | |
| 
 | |
| 	// ProcessInteractiveKey is the attribute Key conforming to the
 | |
| 	// "process.interactive" semantic conventions. It represents the whether
 | |
| 	// the process is connected to an interactive shell.
 | |
| 	//
 | |
| 	// Type: boolean
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	ProcessInteractiveKey = attribute.Key("process.interactive")
 | |
| 
 | |
| 	// ProcessOwnerKey is the attribute Key conforming to the "process.owner"
 | |
| 	// semantic conventions. It represents the username of the user that owns
 | |
| 	// the process.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'root'
 | |
| 	ProcessOwnerKey = attribute.Key("process.owner")
 | |
| 
 | |
| 	// ProcessPagingFaultTypeKey is the attribute Key conforming to the
 | |
| 	// "process.paging.fault_type" semantic conventions. It represents 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.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	ProcessPagingFaultTypeKey = attribute.Key("process.paging.fault_type")
 | |
| 
 | |
| 	// ProcessParentPIDKey is the attribute Key conforming to the
 | |
| 	// "process.parent_pid" semantic conventions. It represents the parent
 | |
| 	// Process identifier (PPID).
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 111
 | |
| 	ProcessParentPIDKey = attribute.Key("process.parent_pid")
 | |
| 
 | |
| 	// ProcessPIDKey is the attribute Key conforming to the "process.pid"
 | |
| 	// semantic conventions. It represents the process identifier (PID).
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 1234
 | |
| 	ProcessPIDKey = attribute.Key("process.pid")
 | |
| 
 | |
| 	// ProcessRealUserIDKey is the attribute Key conforming to the
 | |
| 	// "process.real_user.id" semantic conventions. It represents the real user
 | |
| 	// ID (RUID) of the process.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 1000
 | |
| 	ProcessRealUserIDKey = attribute.Key("process.real_user.id")
 | |
| 
 | |
| 	// ProcessRealUserNameKey is the attribute Key conforming to the
 | |
| 	// "process.real_user.name" semantic conventions. It represents the
 | |
| 	// username of the real user of the process.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'operator'
 | |
| 	ProcessRealUserNameKey = attribute.Key("process.real_user.name")
 | |
| 
 | |
| 	// ProcessRuntimeDescriptionKey is the attribute Key conforming to the
 | |
| 	// "process.runtime.description" semantic conventions. It represents an
 | |
| 	// additional description about the runtime of the process, for example a
 | |
| 	// specific vendor customization of the runtime environment.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0'
 | |
| 	ProcessRuntimeDescriptionKey = attribute.Key("process.runtime.description")
 | |
| 
 | |
| 	// ProcessRuntimeNameKey is the attribute Key conforming to the
 | |
| 	// "process.runtime.name" semantic conventions. It represents the name of
 | |
| 	// the runtime of this process. For compiled native binaries, this SHOULD
 | |
| 	// be the name of the compiler.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'OpenJDK Runtime Environment'
 | |
| 	ProcessRuntimeNameKey = attribute.Key("process.runtime.name")
 | |
| 
 | |
| 	// ProcessRuntimeVersionKey is the attribute Key conforming to the
 | |
| 	// "process.runtime.version" semantic conventions. It represents the
 | |
| 	// version of the runtime of this process, as returned by the runtime
 | |
| 	// without modification.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '14.0.2'
 | |
| 	ProcessRuntimeVersionKey = attribute.Key("process.runtime.version")
 | |
| 
 | |
| 	// ProcessSavedUserIDKey is the attribute Key conforming to the
 | |
| 	// "process.saved_user.id" semantic conventions. It represents the saved
 | |
| 	// user ID (SUID) of the process.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 1002
 | |
| 	ProcessSavedUserIDKey = attribute.Key("process.saved_user.id")
 | |
| 
 | |
| 	// ProcessSavedUserNameKey is the attribute Key conforming to the
 | |
| 	// "process.saved_user.name" semantic conventions. It represents the
 | |
| 	// username of the saved user.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'operator'
 | |
| 	ProcessSavedUserNameKey = attribute.Key("process.saved_user.name")
 | |
| 
 | |
| 	// ProcessSessionLeaderPIDKey is the attribute Key conforming to the
 | |
| 	// "process.session_leader.pid" semantic conventions. It represents the PID
 | |
| 	// of the process's session leader. This is also the session ID (SID) of
 | |
| 	// the process.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 14
 | |
| 	ProcessSessionLeaderPIDKey = attribute.Key("process.session_leader.pid")
 | |
| 
 | |
| 	// ProcessUserIDKey is the attribute Key conforming to the
 | |
| 	// "process.user.id" semantic conventions. It represents the effective user
 | |
| 	// ID (EUID) of the process.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 1001
 | |
| 	ProcessUserIDKey = attribute.Key("process.user.id")
 | |
| 
 | |
| 	// ProcessUserNameKey is the attribute Key conforming to the
 | |
| 	// "process.user.name" semantic conventions. It represents the username of
 | |
| 	// the effective user of the process.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'root'
 | |
| 	ProcessUserNameKey = attribute.Key("process.user.name")
 | |
| 
 | |
| 	// ProcessVpidKey is the attribute Key conforming to the "process.vpid"
 | |
| 	// semantic conventions. It represents the virtual process identifier.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 12
 | |
| 	// 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.
 | |
| 	ProcessVpidKey = attribute.Key("process.vpid")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// voluntary
 | |
| 	ProcessContextSwitchTypeVoluntary = ProcessContextSwitchTypeKey.String("voluntary")
 | |
| 	// involuntary
 | |
| 	ProcessContextSwitchTypeInvoluntary = ProcessContextSwitchTypeKey.String("involuntary")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// major
 | |
| 	ProcessPagingFaultTypeMajor = ProcessPagingFaultTypeKey.String("major")
 | |
| 	// minor
 | |
| 	ProcessPagingFaultTypeMinor = ProcessPagingFaultTypeKey.String("minor")
 | |
| )
 | |
| 
 | |
| // ProcessCommand returns an attribute KeyValue conforming to the
 | |
| // "process.command" semantic conventions. It represents 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`.
 | |
| func ProcessCommand(val string) attribute.KeyValue {
 | |
| 	return ProcessCommandKey.String(val)
 | |
| }
 | |
| 
 | |
| // ProcessCommandArgs returns an attribute KeyValue conforming to the
 | |
| // "process.command_args" semantic conventions. It represents the 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`.
 | |
| func ProcessCommandArgs(val ...string) attribute.KeyValue {
 | |
| 	return ProcessCommandArgsKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // ProcessCommandLine returns an attribute KeyValue conforming to the
 | |
| // "process.command_line" semantic conventions. It represents 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.
 | |
| func ProcessCommandLine(val string) attribute.KeyValue {
 | |
| 	return ProcessCommandLineKey.String(val)
 | |
| }
 | |
| 
 | |
| // ProcessCreationTime returns an attribute KeyValue conforming to the
 | |
| // "process.creation.time" semantic conventions. It represents the date and
 | |
| // time the process was created, in ISO 8601 format.
 | |
| func ProcessCreationTime(val string) attribute.KeyValue {
 | |
| 	return ProcessCreationTimeKey.String(val)
 | |
| }
 | |
| 
 | |
| // ProcessExecutableName returns an attribute KeyValue conforming to the
 | |
| // "process.executable.name" semantic conventions. It represents 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`.
 | |
| func ProcessExecutableName(val string) attribute.KeyValue {
 | |
| 	return ProcessExecutableNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // ProcessExecutablePath returns an attribute KeyValue conforming to the
 | |
| // "process.executable.path" semantic conventions. It represents 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`.
 | |
| func ProcessExecutablePath(val string) attribute.KeyValue {
 | |
| 	return ProcessExecutablePathKey.String(val)
 | |
| }
 | |
| 
 | |
| // ProcessExitCode returns an attribute KeyValue conforming to the
 | |
| // "process.exit.code" semantic conventions. It represents the exit code of the
 | |
| // process.
 | |
| func ProcessExitCode(val int) attribute.KeyValue {
 | |
| 	return ProcessExitCodeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // ProcessExitTime returns an attribute KeyValue conforming to the
 | |
| // "process.exit.time" semantic conventions. It represents the date and time
 | |
| // the process exited, in ISO 8601 format.
 | |
| func ProcessExitTime(val string) attribute.KeyValue {
 | |
| 	return ProcessExitTimeKey.String(val)
 | |
| }
 | |
| 
 | |
| // ProcessGroupLeaderPID returns an attribute KeyValue conforming to the
 | |
| // "process.group_leader.pid" semantic conventions. It represents the PID of
 | |
| // the process's group leader. This is also the process group ID (PGID) of the
 | |
| // process.
 | |
| func ProcessGroupLeaderPID(val int) attribute.KeyValue {
 | |
| 	return ProcessGroupLeaderPIDKey.Int(val)
 | |
| }
 | |
| 
 | |
| // ProcessInteractive returns an attribute KeyValue conforming to the
 | |
| // "process.interactive" semantic conventions. It represents the whether the
 | |
| // process is connected to an interactive shell.
 | |
| func ProcessInteractive(val bool) attribute.KeyValue {
 | |
| 	return ProcessInteractiveKey.Bool(val)
 | |
| }
 | |
| 
 | |
| // ProcessOwner returns an attribute KeyValue conforming to the
 | |
| // "process.owner" semantic conventions. It represents the username of the user
 | |
| // that owns the process.
 | |
| func ProcessOwner(val string) attribute.KeyValue {
 | |
| 	return ProcessOwnerKey.String(val)
 | |
| }
 | |
| 
 | |
| // ProcessParentPID returns an attribute KeyValue conforming to the
 | |
| // "process.parent_pid" semantic conventions. It represents the parent Process
 | |
| // identifier (PPID).
 | |
| func ProcessParentPID(val int) attribute.KeyValue {
 | |
| 	return ProcessParentPIDKey.Int(val)
 | |
| }
 | |
| 
 | |
| // ProcessPID returns an attribute KeyValue conforming to the "process.pid"
 | |
| // semantic conventions. It represents the process identifier (PID).
 | |
| func ProcessPID(val int) attribute.KeyValue {
 | |
| 	return ProcessPIDKey.Int(val)
 | |
| }
 | |
| 
 | |
| // ProcessRealUserID returns an attribute KeyValue conforming to the
 | |
| // "process.real_user.id" semantic conventions. It represents the real user ID
 | |
| // (RUID) of the process.
 | |
| func ProcessRealUserID(val int) attribute.KeyValue {
 | |
| 	return ProcessRealUserIDKey.Int(val)
 | |
| }
 | |
| 
 | |
| // ProcessRealUserName returns an attribute KeyValue conforming to the
 | |
| // "process.real_user.name" semantic conventions. It represents the username of
 | |
| // the real user of the process.
 | |
| func ProcessRealUserName(val string) attribute.KeyValue {
 | |
| 	return ProcessRealUserNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // ProcessRuntimeDescription returns an attribute KeyValue conforming to the
 | |
| // "process.runtime.description" semantic conventions. It represents an
 | |
| // additional description about the runtime of the process, for example a
 | |
| // specific vendor customization of the runtime environment.
 | |
| func ProcessRuntimeDescription(val string) attribute.KeyValue {
 | |
| 	return ProcessRuntimeDescriptionKey.String(val)
 | |
| }
 | |
| 
 | |
| // ProcessRuntimeName returns an attribute KeyValue conforming to the
 | |
| // "process.runtime.name" semantic conventions. It represents the name of the
 | |
| // runtime of this process. For compiled native binaries, this SHOULD be the
 | |
| // name of the compiler.
 | |
| func ProcessRuntimeName(val string) attribute.KeyValue {
 | |
| 	return ProcessRuntimeNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // ProcessRuntimeVersion returns an attribute KeyValue conforming to the
 | |
| // "process.runtime.version" semantic conventions. It represents the version of
 | |
| // the runtime of this process, as returned by the runtime without
 | |
| // modification.
 | |
| func ProcessRuntimeVersion(val string) attribute.KeyValue {
 | |
| 	return ProcessRuntimeVersionKey.String(val)
 | |
| }
 | |
| 
 | |
| // ProcessSavedUserID returns an attribute KeyValue conforming to the
 | |
| // "process.saved_user.id" semantic conventions. It represents the saved user
 | |
| // ID (SUID) of the process.
 | |
| func ProcessSavedUserID(val int) attribute.KeyValue {
 | |
| 	return ProcessSavedUserIDKey.Int(val)
 | |
| }
 | |
| 
 | |
| // ProcessSavedUserName returns an attribute KeyValue conforming to the
 | |
| // "process.saved_user.name" semantic conventions. It represents the username
 | |
| // of the saved user.
 | |
| func ProcessSavedUserName(val string) attribute.KeyValue {
 | |
| 	return ProcessSavedUserNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // ProcessSessionLeaderPID returns an attribute KeyValue conforming to the
 | |
| // "process.session_leader.pid" semantic conventions. It represents the PID of
 | |
| // the process's session leader. This is also the session ID (SID) of the
 | |
| // process.
 | |
| func ProcessSessionLeaderPID(val int) attribute.KeyValue {
 | |
| 	return ProcessSessionLeaderPIDKey.Int(val)
 | |
| }
 | |
| 
 | |
| // ProcessUserID returns an attribute KeyValue conforming to the
 | |
| // "process.user.id" semantic conventions. It represents the effective user ID
 | |
| // (EUID) of the process.
 | |
| func ProcessUserID(val int) attribute.KeyValue {
 | |
| 	return ProcessUserIDKey.Int(val)
 | |
| }
 | |
| 
 | |
| // ProcessUserName returns an attribute KeyValue conforming to the
 | |
| // "process.user.name" semantic conventions. It represents the username of the
 | |
| // effective user of the process.
 | |
| func ProcessUserName(val string) attribute.KeyValue {
 | |
| 	return ProcessUserNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // ProcessVpid returns an attribute KeyValue conforming to the
 | |
| // "process.vpid" semantic conventions. It represents the virtual process
 | |
| // identifier.
 | |
| func ProcessVpid(val int) attribute.KeyValue {
 | |
| 	return ProcessVpidKey.Int(val)
 | |
| }
 | |
| 
 | |
| // Attributes for process CPU
 | |
| const (
 | |
| 	// ProcessCPUStateKey is the attribute Key conforming to the
 | |
| 	// "process.cpu.state" semantic conventions. It represents the CPU state of
 | |
| 	// the process.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	ProcessCPUStateKey = attribute.Key("process.cpu.state")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// system
 | |
| 	ProcessCPUStateSystem = ProcessCPUStateKey.String("system")
 | |
| 	// user
 | |
| 	ProcessCPUStateUser = ProcessCPUStateKey.String("user")
 | |
| 	// wait
 | |
| 	ProcessCPUStateWait = ProcessCPUStateKey.String("wait")
 | |
| )
 | |
| 
 | |
| // Attributes for remote procedure calls.
 | |
| const (
 | |
| 	// RPCConnectRPCErrorCodeKey is the attribute Key conforming to the
 | |
| 	// "rpc.connect_rpc.error_code" semantic conventions. It represents the
 | |
| 	// [error codes](https://connect.build/docs/protocol/#error-codes) of the
 | |
| 	// Connect request. Error codes are always string values.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	RPCConnectRPCErrorCodeKey = attribute.Key("rpc.connect_rpc.error_code")
 | |
| 
 | |
| 	// RPCGRPCStatusCodeKey is the attribute Key conforming to the
 | |
| 	// "rpc.grpc.status_code" semantic conventions. It represents the [numeric
 | |
| 	// status
 | |
| 	// code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of
 | |
| 	// the gRPC request.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	RPCGRPCStatusCodeKey = attribute.Key("rpc.grpc.status_code")
 | |
| 
 | |
| 	// RPCJsonrpcErrorCodeKey is the attribute Key conforming to the
 | |
| 	// "rpc.jsonrpc.error_code" semantic conventions. It represents the
 | |
| 	// `error.code` property of response if it is an error response.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: -32700, 100
 | |
| 	RPCJsonrpcErrorCodeKey = attribute.Key("rpc.jsonrpc.error_code")
 | |
| 
 | |
| 	// RPCJsonrpcErrorMessageKey is the attribute Key conforming to the
 | |
| 	// "rpc.jsonrpc.error_message" semantic conventions. It represents the
 | |
| 	// `error.message` property of response if it is an error response.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'Parse error', 'User already exists'
 | |
| 	RPCJsonrpcErrorMessageKey = attribute.Key("rpc.jsonrpc.error_message")
 | |
| 
 | |
| 	// RPCJsonrpcRequestIDKey is the attribute Key conforming to the
 | |
| 	// "rpc.jsonrpc.request_id" semantic conventions. It represents the `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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '10', 'request-7', ''
 | |
| 	RPCJsonrpcRequestIDKey = attribute.Key("rpc.jsonrpc.request_id")
 | |
| 
 | |
| 	// RPCJsonrpcVersionKey is the attribute Key conforming to the
 | |
| 	// "rpc.jsonrpc.version" semantic conventions. It represents the protocol
 | |
| 	// version as in `jsonrpc` property of request/response. Since JSON-RPC 1.0
 | |
| 	// doesn't specify this, the value can be omitted.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '2.0', '1.0'
 | |
| 	RPCJsonrpcVersionKey = attribute.Key("rpc.jsonrpc.version")
 | |
| 
 | |
| 	// RPCMessageCompressedSizeKey is the attribute Key conforming to the
 | |
| 	// "rpc.message.compressed_size" semantic conventions. It represents the
 | |
| 	// compressed size of the message in bytes.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	RPCMessageCompressedSizeKey = attribute.Key("rpc.message.compressed_size")
 | |
| 
 | |
| 	// RPCMessageIDKey is the attribute Key conforming to the "rpc.message.id"
 | |
| 	// semantic conventions. It represents the mUST be calculated as two
 | |
| 	// different counters starting from `1` one for sent messages and one for
 | |
| 	// received message.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Note: This way we guarantee that the values will be consistent between
 | |
| 	// different implementations.
 | |
| 	RPCMessageIDKey = attribute.Key("rpc.message.id")
 | |
| 
 | |
| 	// RPCMessageTypeKey is the attribute Key conforming to the
 | |
| 	// "rpc.message.type" semantic conventions. It represents the whether this
 | |
| 	// is a received or sent message.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	RPCMessageTypeKey = attribute.Key("rpc.message.type")
 | |
| 
 | |
| 	// RPCMessageUncompressedSizeKey is the attribute Key conforming to the
 | |
| 	// "rpc.message.uncompressed_size" semantic conventions. It represents the
 | |
| 	// uncompressed size of the message in bytes.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	RPCMessageUncompressedSizeKey = attribute.Key("rpc.message.uncompressed_size")
 | |
| 
 | |
| 	// RPCMethodKey is the attribute Key conforming to the "rpc.method"
 | |
| 	// semantic conventions. It represents the name of the (logical) method
 | |
| 	// being called, must be equal to the $method part in the span name.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'exampleMethod'
 | |
| 	// 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).
 | |
| 	RPCMethodKey = attribute.Key("rpc.method")
 | |
| 
 | |
| 	// RPCServiceKey is the attribute Key conforming to the "rpc.service"
 | |
| 	// semantic conventions. It represents the full (logical) name of the
 | |
| 	// service being called, including its package name, if applicable.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'myservice.EchoService'
 | |
| 	// 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).
 | |
| 	RPCServiceKey = attribute.Key("rpc.service")
 | |
| 
 | |
| 	// RPCSystemKey is the attribute Key conforming to the "rpc.system"
 | |
| 	// semantic conventions. It represents a string identifying the remoting
 | |
| 	// system. See below for a list of well-known identifiers.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	RPCSystemKey = attribute.Key("rpc.system")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// cancelled
 | |
| 	RPCConnectRPCErrorCodeCancelled = RPCConnectRPCErrorCodeKey.String("cancelled")
 | |
| 	// unknown
 | |
| 	RPCConnectRPCErrorCodeUnknown = RPCConnectRPCErrorCodeKey.String("unknown")
 | |
| 	// invalid_argument
 | |
| 	RPCConnectRPCErrorCodeInvalidArgument = RPCConnectRPCErrorCodeKey.String("invalid_argument")
 | |
| 	// deadline_exceeded
 | |
| 	RPCConnectRPCErrorCodeDeadlineExceeded = RPCConnectRPCErrorCodeKey.String("deadline_exceeded")
 | |
| 	// not_found
 | |
| 	RPCConnectRPCErrorCodeNotFound = RPCConnectRPCErrorCodeKey.String("not_found")
 | |
| 	// already_exists
 | |
| 	RPCConnectRPCErrorCodeAlreadyExists = RPCConnectRPCErrorCodeKey.String("already_exists")
 | |
| 	// permission_denied
 | |
| 	RPCConnectRPCErrorCodePermissionDenied = RPCConnectRPCErrorCodeKey.String("permission_denied")
 | |
| 	// resource_exhausted
 | |
| 	RPCConnectRPCErrorCodeResourceExhausted = RPCConnectRPCErrorCodeKey.String("resource_exhausted")
 | |
| 	// failed_precondition
 | |
| 	RPCConnectRPCErrorCodeFailedPrecondition = RPCConnectRPCErrorCodeKey.String("failed_precondition")
 | |
| 	// aborted
 | |
| 	RPCConnectRPCErrorCodeAborted = RPCConnectRPCErrorCodeKey.String("aborted")
 | |
| 	// out_of_range
 | |
| 	RPCConnectRPCErrorCodeOutOfRange = RPCConnectRPCErrorCodeKey.String("out_of_range")
 | |
| 	// unimplemented
 | |
| 	RPCConnectRPCErrorCodeUnimplemented = RPCConnectRPCErrorCodeKey.String("unimplemented")
 | |
| 	// internal
 | |
| 	RPCConnectRPCErrorCodeInternal = RPCConnectRPCErrorCodeKey.String("internal")
 | |
| 	// unavailable
 | |
| 	RPCConnectRPCErrorCodeUnavailable = RPCConnectRPCErrorCodeKey.String("unavailable")
 | |
| 	// data_loss
 | |
| 	RPCConnectRPCErrorCodeDataLoss = RPCConnectRPCErrorCodeKey.String("data_loss")
 | |
| 	// unauthenticated
 | |
| 	RPCConnectRPCErrorCodeUnauthenticated = RPCConnectRPCErrorCodeKey.String("unauthenticated")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// OK
 | |
| 	RPCGRPCStatusCodeOk = RPCGRPCStatusCodeKey.Int(0)
 | |
| 	// CANCELLED
 | |
| 	RPCGRPCStatusCodeCancelled = RPCGRPCStatusCodeKey.Int(1)
 | |
| 	// UNKNOWN
 | |
| 	RPCGRPCStatusCodeUnknown = RPCGRPCStatusCodeKey.Int(2)
 | |
| 	// INVALID_ARGUMENT
 | |
| 	RPCGRPCStatusCodeInvalidArgument = RPCGRPCStatusCodeKey.Int(3)
 | |
| 	// DEADLINE_EXCEEDED
 | |
| 	RPCGRPCStatusCodeDeadlineExceeded = RPCGRPCStatusCodeKey.Int(4)
 | |
| 	// NOT_FOUND
 | |
| 	RPCGRPCStatusCodeNotFound = RPCGRPCStatusCodeKey.Int(5)
 | |
| 	// ALREADY_EXISTS
 | |
| 	RPCGRPCStatusCodeAlreadyExists = RPCGRPCStatusCodeKey.Int(6)
 | |
| 	// PERMISSION_DENIED
 | |
| 	RPCGRPCStatusCodePermissionDenied = RPCGRPCStatusCodeKey.Int(7)
 | |
| 	// RESOURCE_EXHAUSTED
 | |
| 	RPCGRPCStatusCodeResourceExhausted = RPCGRPCStatusCodeKey.Int(8)
 | |
| 	// FAILED_PRECONDITION
 | |
| 	RPCGRPCStatusCodeFailedPrecondition = RPCGRPCStatusCodeKey.Int(9)
 | |
| 	// ABORTED
 | |
| 	RPCGRPCStatusCodeAborted = RPCGRPCStatusCodeKey.Int(10)
 | |
| 	// OUT_OF_RANGE
 | |
| 	RPCGRPCStatusCodeOutOfRange = RPCGRPCStatusCodeKey.Int(11)
 | |
| 	// UNIMPLEMENTED
 | |
| 	RPCGRPCStatusCodeUnimplemented = RPCGRPCStatusCodeKey.Int(12)
 | |
| 	// INTERNAL
 | |
| 	RPCGRPCStatusCodeInternal = RPCGRPCStatusCodeKey.Int(13)
 | |
| 	// UNAVAILABLE
 | |
| 	RPCGRPCStatusCodeUnavailable = RPCGRPCStatusCodeKey.Int(14)
 | |
| 	// DATA_LOSS
 | |
| 	RPCGRPCStatusCodeDataLoss = RPCGRPCStatusCodeKey.Int(15)
 | |
| 	// UNAUTHENTICATED
 | |
| 	RPCGRPCStatusCodeUnauthenticated = RPCGRPCStatusCodeKey.Int(16)
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// sent
 | |
| 	RPCMessageTypeSent = RPCMessageTypeKey.String("SENT")
 | |
| 	// received
 | |
| 	RPCMessageTypeReceived = RPCMessageTypeKey.String("RECEIVED")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// gRPC
 | |
| 	RPCSystemGRPC = RPCSystemKey.String("grpc")
 | |
| 	// Java RMI
 | |
| 	RPCSystemJavaRmi = RPCSystemKey.String("java_rmi")
 | |
| 	// .NET WCF
 | |
| 	RPCSystemDotnetWcf = RPCSystemKey.String("dotnet_wcf")
 | |
| 	// Apache Dubbo
 | |
| 	RPCSystemApacheDubbo = RPCSystemKey.String("apache_dubbo")
 | |
| 	// Connect RPC
 | |
| 	RPCSystemConnectRPC = RPCSystemKey.String("connect_rpc")
 | |
| )
 | |
| 
 | |
| // RPCJsonrpcErrorCode returns an attribute KeyValue conforming to the
 | |
| // "rpc.jsonrpc.error_code" semantic conventions. It represents the
 | |
| // `error.code` property of response if it is an error response.
 | |
| func RPCJsonrpcErrorCode(val int) attribute.KeyValue {
 | |
| 	return RPCJsonrpcErrorCodeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // RPCJsonrpcErrorMessage returns an attribute KeyValue conforming to the
 | |
| // "rpc.jsonrpc.error_message" semantic conventions. It represents the
 | |
| // `error.message` property of response if it is an error response.
 | |
| func RPCJsonrpcErrorMessage(val string) attribute.KeyValue {
 | |
| 	return RPCJsonrpcErrorMessageKey.String(val)
 | |
| }
 | |
| 
 | |
| // RPCJsonrpcRequestID returns an attribute KeyValue conforming to the
 | |
| // "rpc.jsonrpc.request_id" semantic conventions. It represents the `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.
 | |
| func RPCJsonrpcRequestID(val string) attribute.KeyValue {
 | |
| 	return RPCJsonrpcRequestIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // RPCJsonrpcVersion returns an attribute KeyValue conforming to the
 | |
| // "rpc.jsonrpc.version" semantic conventions. It represents the protocol
 | |
| // version as in `jsonrpc` property of request/response. Since JSON-RPC 1.0
 | |
| // doesn't specify this, the value can be omitted.
 | |
| func RPCJsonrpcVersion(val string) attribute.KeyValue {
 | |
| 	return RPCJsonrpcVersionKey.String(val)
 | |
| }
 | |
| 
 | |
| // RPCMessageCompressedSize returns an attribute KeyValue conforming to the
 | |
| // "rpc.message.compressed_size" semantic conventions. It represents the
 | |
| // compressed size of the message in bytes.
 | |
| func RPCMessageCompressedSize(val int) attribute.KeyValue {
 | |
| 	return RPCMessageCompressedSizeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // RPCMessageID returns an attribute KeyValue conforming to the
 | |
| // "rpc.message.id" semantic conventions. It represents the mUST be calculated
 | |
| // as two different counters starting from `1` one for sent messages and one
 | |
| // for received message.
 | |
| func RPCMessageID(val int) attribute.KeyValue {
 | |
| 	return RPCMessageIDKey.Int(val)
 | |
| }
 | |
| 
 | |
| // RPCMessageUncompressedSize returns an attribute KeyValue conforming to
 | |
| // the "rpc.message.uncompressed_size" semantic conventions. It represents the
 | |
| // uncompressed size of the message in bytes.
 | |
| func RPCMessageUncompressedSize(val int) attribute.KeyValue {
 | |
| 	return RPCMessageUncompressedSizeKey.Int(val)
 | |
| }
 | |
| 
 | |
| // RPCMethod returns an attribute KeyValue conforming to the "rpc.method"
 | |
| // semantic conventions. It represents the name of the (logical) method being
 | |
| // called, must be equal to the $method part in the span name.
 | |
| func RPCMethod(val string) attribute.KeyValue {
 | |
| 	return RPCMethodKey.String(val)
 | |
| }
 | |
| 
 | |
| // RPCService returns an attribute KeyValue conforming to the "rpc.service"
 | |
| // semantic conventions. It represents the full (logical) name of the service
 | |
| // being called, including its package name, if applicable.
 | |
| func RPCService(val string) attribute.KeyValue {
 | |
| 	return RPCServiceKey.String(val)
 | |
| }
 | |
| 
 | |
| // These attributes may be used to describe the server in a connection-based
 | |
| // network interaction where there is one side that initiates the connection
 | |
| // (the client is the side that initiates the connection). This covers all TCP
 | |
| // network interactions since TCP is connection-based and one side initiates
 | |
| // the connection (an exception is made for peer-to-peer communication over TCP
 | |
| // where the "user-facing" surface of the protocol / API doesn't expose a clear
 | |
| // notion of client and server). This also covers UDP network interactions
 | |
| // where one side initiates the interaction, e.g. QUIC (HTTP/3) and DNS.
 | |
| const (
 | |
| 	// ServerAddressKey is the attribute Key conforming to the "server.address"
 | |
| 	// semantic conventions. It represents the server domain name if available
 | |
| 	// without reverse DNS lookup; otherwise, IP address or Unix domain socket
 | |
| 	// name.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'example.com', '10.1.2.80', '/tmp/my.sock'
 | |
| 	// 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.
 | |
| 	ServerAddressKey = attribute.Key("server.address")
 | |
| 
 | |
| 	// ServerPortKey is the attribute Key conforming to the "server.port"
 | |
| 	// semantic conventions. It represents the server port number.
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 80, 8080, 443
 | |
| 	// 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.
 | |
| 	ServerPortKey = attribute.Key("server.port")
 | |
| )
 | |
| 
 | |
| // ServerAddress returns an attribute KeyValue conforming to the
 | |
| // "server.address" semantic conventions. It represents the server domain name
 | |
| // if available without reverse DNS lookup; otherwise, IP address or Unix
 | |
| // domain socket name.
 | |
| func ServerAddress(val string) attribute.KeyValue {
 | |
| 	return ServerAddressKey.String(val)
 | |
| }
 | |
| 
 | |
| // ServerPort returns an attribute KeyValue conforming to the "server.port"
 | |
| // semantic conventions. It represents the server port number.
 | |
| func ServerPort(val int) attribute.KeyValue {
 | |
| 	return ServerPortKey.Int(val)
 | |
| }
 | |
| 
 | |
| // A service instance.
 | |
| const (
 | |
| 	// ServiceInstanceIDKey is the attribute Key conforming to the
 | |
| 	// "service.instance.id" semantic conventions. It represents the string ID
 | |
| 	// of the service instance.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '627cc493-f310-47de-96bd-71410b7dec09'
 | |
| 	// 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](https://www.ietf.org/rfc/rfc4122.txt) 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`](https://www.freedesktop.org/software/systemd/man/machine-id.html)
 | |
| 	// 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.
 | |
| 	ServiceInstanceIDKey = attribute.Key("service.instance.id")
 | |
| 
 | |
| 	// ServiceNameKey is the attribute Key conforming to the "service.name"
 | |
| 	// semantic conventions. It represents the logical name of the service.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'shoppingcart'
 | |
| 	// 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`](process.md), e.g. `unknown_service:bash`. If
 | |
| 	// `process.executable.name` is not available, the value MUST be set to
 | |
| 	// `unknown_service`.
 | |
| 	ServiceNameKey = attribute.Key("service.name")
 | |
| 
 | |
| 	// ServiceNamespaceKey is the attribute Key conforming to the
 | |
| 	// "service.namespace" semantic conventions. It represents a namespace for
 | |
| 	// `service.name`.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'Shop'
 | |
| 	// 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.
 | |
| 	ServiceNamespaceKey = attribute.Key("service.namespace")
 | |
| 
 | |
| 	// ServiceVersionKey is the attribute Key conforming to the
 | |
| 	// "service.version" semantic conventions. It represents the version string
 | |
| 	// of the service API or implementation. The format is not defined by these
 | |
| 	// conventions.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: '2.0.0', 'a01dbef8a'
 | |
| 	ServiceVersionKey = attribute.Key("service.version")
 | |
| )
 | |
| 
 | |
| // ServiceInstanceID returns an attribute KeyValue conforming to the
 | |
| // "service.instance.id" semantic conventions. It represents the string ID of
 | |
| // the service instance.
 | |
| func ServiceInstanceID(val string) attribute.KeyValue {
 | |
| 	return ServiceInstanceIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // ServiceName returns an attribute KeyValue conforming to the
 | |
| // "service.name" semantic conventions. It represents the logical name of the
 | |
| // service.
 | |
| func ServiceName(val string) attribute.KeyValue {
 | |
| 	return ServiceNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // ServiceNamespace returns an attribute KeyValue conforming to the
 | |
| // "service.namespace" semantic conventions. It represents a namespace for
 | |
| // `service.name`.
 | |
| func ServiceNamespace(val string) attribute.KeyValue {
 | |
| 	return ServiceNamespaceKey.String(val)
 | |
| }
 | |
| 
 | |
| // ServiceVersion returns an attribute KeyValue conforming to the
 | |
| // "service.version" semantic conventions. It represents the version string of
 | |
| // the service API or implementation. The format is not defined by these
 | |
| // conventions.
 | |
| func ServiceVersion(val string) attribute.KeyValue {
 | |
| 	return ServiceVersionKey.String(val)
 | |
| }
 | |
| 
 | |
| // Session is defined as the period of time encompassing all activities
 | |
| // performed by the application and the actions executed by the end user.
 | |
| // Consequently, a Session is represented as a collection of Logs, Events, and
 | |
| // Spans emitted by the Client Application throughout the Session's duration.
 | |
| // Each Session is assigned a unique identifier, which is included as an
 | |
| // attribute in the Logs, Events, and Spans generated during the Session's
 | |
| // lifecycle.
 | |
| // When a session reaches end of life, typically due to user inactivity or
 | |
| // session timeout, a new session identifier will be assigned. The previous
 | |
| // session identifier may be provided by the instrumentation so that telemetry
 | |
| // backends can link the two sessions.
 | |
| const (
 | |
| 	// SessionIDKey is the attribute Key conforming to the "session.id"
 | |
| 	// semantic conventions. It represents a unique id to identify a session.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '00112233-4455-6677-8899-aabbccddeeff'
 | |
| 	SessionIDKey = attribute.Key("session.id")
 | |
| 
 | |
| 	// SessionPreviousIDKey is the attribute Key conforming to the
 | |
| 	// "session.previous_id" semantic conventions. It represents the previous
 | |
| 	// `session.id` for this user, when known.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '00112233-4455-6677-8899-aabbccddeeff'
 | |
| 	SessionPreviousIDKey = attribute.Key("session.previous_id")
 | |
| )
 | |
| 
 | |
| // SessionID returns an attribute KeyValue conforming to the "session.id"
 | |
| // semantic conventions. It represents a unique id to identify a session.
 | |
| func SessionID(val string) attribute.KeyValue {
 | |
| 	return SessionIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // SessionPreviousID returns an attribute KeyValue conforming to the
 | |
| // "session.previous_id" semantic conventions. It represents the previous
 | |
| // `session.id` for this user, when known.
 | |
| func SessionPreviousID(val string) attribute.KeyValue {
 | |
| 	return SessionPreviousIDKey.String(val)
 | |
| }
 | |
| 
 | |
| // SignalR attributes
 | |
| const (
 | |
| 	// SignalrConnectionStatusKey is the attribute Key conforming to the
 | |
| 	// "signalr.connection.status" semantic conventions. It represents the
 | |
| 	// signalR HTTP connection closure status.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'app_shutdown', 'timeout'
 | |
| 	SignalrConnectionStatusKey = attribute.Key("signalr.connection.status")
 | |
| 
 | |
| 	// SignalrTransportKey is the attribute Key conforming to the
 | |
| 	// "signalr.transport" semantic conventions. It represents the [SignalR
 | |
| 	// transport
 | |
| 	// type](https://github.com/dotnet/aspnetcore/blob/main/src/SignalR/docs/specs/TransportProtocols.md)
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'web_sockets', 'long_polling'
 | |
| 	SignalrTransportKey = attribute.Key("signalr.transport")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// The connection was closed normally
 | |
| 	SignalrConnectionStatusNormalClosure = SignalrConnectionStatusKey.String("normal_closure")
 | |
| 	// The connection was closed due to a timeout
 | |
| 	SignalrConnectionStatusTimeout = SignalrConnectionStatusKey.String("timeout")
 | |
| 	// The connection was closed because the app is shutting down
 | |
| 	SignalrConnectionStatusAppShutdown = SignalrConnectionStatusKey.String("app_shutdown")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// ServerSentEvents protocol
 | |
| 	SignalrTransportServerSentEvents = SignalrTransportKey.String("server_sent_events")
 | |
| 	// LongPolling protocol
 | |
| 	SignalrTransportLongPolling = SignalrTransportKey.String("long_polling")
 | |
| 	// WebSockets protocol
 | |
| 	SignalrTransportWebSockets = SignalrTransportKey.String("web_sockets")
 | |
| )
 | |
| 
 | |
| // These attributes may be used to describe the sender of a network
 | |
| // exchange/packet. These should be used when there is no client/server
 | |
| // relationship between the two sides, or when that relationship is unknown.
 | |
| // This covers low-level network interactions (e.g. packet tracing) where you
 | |
| // don't know if there was a connection or which side initiated it. This also
 | |
| // covers unidirectional UDP flows and peer-to-peer communication where the
 | |
| // "user-facing" surface of the protocol / API doesn't expose a clear notion of
 | |
| // client and server.
 | |
| const (
 | |
| 	// SourceAddressKey is the attribute Key conforming to the "source.address"
 | |
| 	// semantic conventions. It represents the source address - domain name if
 | |
| 	// available without reverse DNS lookup; otherwise, IP address or Unix
 | |
| 	// domain socket name.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'source.example.com', '10.1.2.80', '/tmp/my.sock'
 | |
| 	// 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.
 | |
| 	SourceAddressKey = attribute.Key("source.address")
 | |
| 
 | |
| 	// SourcePortKey is the attribute Key conforming to the "source.port"
 | |
| 	// semantic conventions. It represents the source port number
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 3389, 2888
 | |
| 	SourcePortKey = attribute.Key("source.port")
 | |
| )
 | |
| 
 | |
| // SourceAddress returns an attribute KeyValue conforming to the
 | |
| // "source.address" semantic conventions. It represents the source address -
 | |
| // domain name if available without reverse DNS lookup; otherwise, IP address
 | |
| // or Unix domain socket name.
 | |
| func SourceAddress(val string) attribute.KeyValue {
 | |
| 	return SourceAddressKey.String(val)
 | |
| }
 | |
| 
 | |
| // SourcePort returns an attribute KeyValue conforming to the "source.port"
 | |
| // semantic conventions. It represents the source port number
 | |
| func SourcePort(val int) attribute.KeyValue {
 | |
| 	return SourcePortKey.Int(val)
 | |
| }
 | |
| 
 | |
| // Describes System attributes
 | |
| const (
 | |
| 	// SystemDeviceKey is the attribute Key conforming to the "system.device"
 | |
| 	// semantic conventions. It represents the device identifier
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '(identifier)'
 | |
| 	SystemDeviceKey = attribute.Key("system.device")
 | |
| )
 | |
| 
 | |
| // SystemDevice returns an attribute KeyValue conforming to the
 | |
| // "system.device" semantic conventions. It represents the device identifier
 | |
| func SystemDevice(val string) attribute.KeyValue {
 | |
| 	return SystemDeviceKey.String(val)
 | |
| }
 | |
| 
 | |
| // Describes System CPU attributes
 | |
| const (
 | |
| 	// SystemCPULogicalNumberKey is the attribute Key conforming to the
 | |
| 	// "system.cpu.logical_number" semantic conventions. It represents the
 | |
| 	// logical CPU number [0..n-1]
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 1
 | |
| 	SystemCPULogicalNumberKey = attribute.Key("system.cpu.logical_number")
 | |
| 
 | |
| 	// SystemCPUStateKey is the attribute Key conforming to the
 | |
| 	// "system.cpu.state" semantic conventions. It represents the state of the
 | |
| 	// CPU
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'idle', 'interrupt'
 | |
| 	SystemCPUStateKey = attribute.Key("system.cpu.state")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// user
 | |
| 	SystemCPUStateUser = SystemCPUStateKey.String("user")
 | |
| 	// system
 | |
| 	SystemCPUStateSystem = SystemCPUStateKey.String("system")
 | |
| 	// nice
 | |
| 	SystemCPUStateNice = SystemCPUStateKey.String("nice")
 | |
| 	// idle
 | |
| 	SystemCPUStateIdle = SystemCPUStateKey.String("idle")
 | |
| 	// iowait
 | |
| 	SystemCPUStateIowait = SystemCPUStateKey.String("iowait")
 | |
| 	// interrupt
 | |
| 	SystemCPUStateInterrupt = SystemCPUStateKey.String("interrupt")
 | |
| 	// steal
 | |
| 	SystemCPUStateSteal = SystemCPUStateKey.String("steal")
 | |
| )
 | |
| 
 | |
| // SystemCPULogicalNumber returns an attribute KeyValue conforming to the
 | |
| // "system.cpu.logical_number" semantic conventions. It represents the logical
 | |
| // CPU number [0..n-1]
 | |
| func SystemCPULogicalNumber(val int) attribute.KeyValue {
 | |
| 	return SystemCPULogicalNumberKey.Int(val)
 | |
| }
 | |
| 
 | |
| // Describes System Memory attributes
 | |
| const (
 | |
| 	// SystemMemoryStateKey is the attribute Key conforming to the
 | |
| 	// "system.memory.state" semantic conventions. It represents the memory
 | |
| 	// state
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'free', 'cached'
 | |
| 	SystemMemoryStateKey = attribute.Key("system.memory.state")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// used
 | |
| 	SystemMemoryStateUsed = SystemMemoryStateKey.String("used")
 | |
| 	// free
 | |
| 	SystemMemoryStateFree = SystemMemoryStateKey.String("free")
 | |
| 	// shared
 | |
| 	SystemMemoryStateShared = SystemMemoryStateKey.String("shared")
 | |
| 	// buffers
 | |
| 	SystemMemoryStateBuffers = SystemMemoryStateKey.String("buffers")
 | |
| 	// cached
 | |
| 	SystemMemoryStateCached = SystemMemoryStateKey.String("cached")
 | |
| )
 | |
| 
 | |
| // Describes System Memory Paging attributes
 | |
| const (
 | |
| 	// SystemPagingDirectionKey is the attribute Key conforming to the
 | |
| 	// "system.paging.direction" semantic conventions. It represents the paging
 | |
| 	// access direction
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'in'
 | |
| 	SystemPagingDirectionKey = attribute.Key("system.paging.direction")
 | |
| 
 | |
| 	// SystemPagingStateKey is the attribute Key conforming to the
 | |
| 	// "system.paging.state" semantic conventions. It represents the memory
 | |
| 	// paging state
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'free'
 | |
| 	SystemPagingStateKey = attribute.Key("system.paging.state")
 | |
| 
 | |
| 	// SystemPagingTypeKey is the attribute Key conforming to the
 | |
| 	// "system.paging.type" semantic conventions. It represents the memory
 | |
| 	// paging type
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'minor'
 | |
| 	SystemPagingTypeKey = attribute.Key("system.paging.type")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// in
 | |
| 	SystemPagingDirectionIn = SystemPagingDirectionKey.String("in")
 | |
| 	// out
 | |
| 	SystemPagingDirectionOut = SystemPagingDirectionKey.String("out")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// used
 | |
| 	SystemPagingStateUsed = SystemPagingStateKey.String("used")
 | |
| 	// free
 | |
| 	SystemPagingStateFree = SystemPagingStateKey.String("free")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// major
 | |
| 	SystemPagingTypeMajor = SystemPagingTypeKey.String("major")
 | |
| 	// minor
 | |
| 	SystemPagingTypeMinor = SystemPagingTypeKey.String("minor")
 | |
| )
 | |
| 
 | |
| // Describes Filesystem attributes
 | |
| const (
 | |
| 	// SystemFilesystemModeKey is the attribute Key conforming to the
 | |
| 	// "system.filesystem.mode" semantic conventions. It represents the
 | |
| 	// filesystem mode
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'rw, ro'
 | |
| 	SystemFilesystemModeKey = attribute.Key("system.filesystem.mode")
 | |
| 
 | |
| 	// SystemFilesystemMountpointKey is the attribute Key conforming to the
 | |
| 	// "system.filesystem.mountpoint" semantic conventions. It represents the
 | |
| 	// filesystem mount path
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '/mnt/data'
 | |
| 	SystemFilesystemMountpointKey = attribute.Key("system.filesystem.mountpoint")
 | |
| 
 | |
| 	// SystemFilesystemStateKey is the attribute Key conforming to the
 | |
| 	// "system.filesystem.state" semantic conventions. It represents the
 | |
| 	// filesystem state
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'used'
 | |
| 	SystemFilesystemStateKey = attribute.Key("system.filesystem.state")
 | |
| 
 | |
| 	// SystemFilesystemTypeKey is the attribute Key conforming to the
 | |
| 	// "system.filesystem.type" semantic conventions. It represents the
 | |
| 	// filesystem type
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'ext4'
 | |
| 	SystemFilesystemTypeKey = attribute.Key("system.filesystem.type")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// used
 | |
| 	SystemFilesystemStateUsed = SystemFilesystemStateKey.String("used")
 | |
| 	// free
 | |
| 	SystemFilesystemStateFree = SystemFilesystemStateKey.String("free")
 | |
| 	// reserved
 | |
| 	SystemFilesystemStateReserved = SystemFilesystemStateKey.String("reserved")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// fat32
 | |
| 	SystemFilesystemTypeFat32 = SystemFilesystemTypeKey.String("fat32")
 | |
| 	// exfat
 | |
| 	SystemFilesystemTypeExfat = SystemFilesystemTypeKey.String("exfat")
 | |
| 	// ntfs
 | |
| 	SystemFilesystemTypeNtfs = SystemFilesystemTypeKey.String("ntfs")
 | |
| 	// refs
 | |
| 	SystemFilesystemTypeRefs = SystemFilesystemTypeKey.String("refs")
 | |
| 	// hfsplus
 | |
| 	SystemFilesystemTypeHfsplus = SystemFilesystemTypeKey.String("hfsplus")
 | |
| 	// ext4
 | |
| 	SystemFilesystemTypeExt4 = SystemFilesystemTypeKey.String("ext4")
 | |
| )
 | |
| 
 | |
| // SystemFilesystemMode returns an attribute KeyValue conforming to the
 | |
| // "system.filesystem.mode" semantic conventions. It represents the filesystem
 | |
| // mode
 | |
| func SystemFilesystemMode(val string) attribute.KeyValue {
 | |
| 	return SystemFilesystemModeKey.String(val)
 | |
| }
 | |
| 
 | |
| // SystemFilesystemMountpoint returns an attribute KeyValue conforming to
 | |
| // the "system.filesystem.mountpoint" semantic conventions. It represents the
 | |
| // filesystem mount path
 | |
| func SystemFilesystemMountpoint(val string) attribute.KeyValue {
 | |
| 	return SystemFilesystemMountpointKey.String(val)
 | |
| }
 | |
| 
 | |
| // Describes Network attributes
 | |
| const (
 | |
| 	// SystemNetworkStateKey is the attribute Key conforming to the
 | |
| 	// "system.network.state" semantic conventions. It represents a stateless
 | |
| 	// protocol MUST NOT set this attribute
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'close_wait'
 | |
| 	SystemNetworkStateKey = attribute.Key("system.network.state")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// close
 | |
| 	SystemNetworkStateClose = SystemNetworkStateKey.String("close")
 | |
| 	// close_wait
 | |
| 	SystemNetworkStateCloseWait = SystemNetworkStateKey.String("close_wait")
 | |
| 	// closing
 | |
| 	SystemNetworkStateClosing = SystemNetworkStateKey.String("closing")
 | |
| 	// delete
 | |
| 	SystemNetworkStateDelete = SystemNetworkStateKey.String("delete")
 | |
| 	// established
 | |
| 	SystemNetworkStateEstablished = SystemNetworkStateKey.String("established")
 | |
| 	// fin_wait_1
 | |
| 	SystemNetworkStateFinWait1 = SystemNetworkStateKey.String("fin_wait_1")
 | |
| 	// fin_wait_2
 | |
| 	SystemNetworkStateFinWait2 = SystemNetworkStateKey.String("fin_wait_2")
 | |
| 	// last_ack
 | |
| 	SystemNetworkStateLastAck = SystemNetworkStateKey.String("last_ack")
 | |
| 	// listen
 | |
| 	SystemNetworkStateListen = SystemNetworkStateKey.String("listen")
 | |
| 	// syn_recv
 | |
| 	SystemNetworkStateSynRecv = SystemNetworkStateKey.String("syn_recv")
 | |
| 	// syn_sent
 | |
| 	SystemNetworkStateSynSent = SystemNetworkStateKey.String("syn_sent")
 | |
| 	// time_wait
 | |
| 	SystemNetworkStateTimeWait = SystemNetworkStateKey.String("time_wait")
 | |
| )
 | |
| 
 | |
| // Describes System Process attributes
 | |
| const (
 | |
| 	// SystemProcessStatusKey is the attribute Key conforming to the
 | |
| 	// "system.process.status" semantic conventions. It represents the process
 | |
| 	// state, e.g., [Linux Process State
 | |
| 	// Codes](https://man7.org/linux/man-pages/man1/ps.1.html#PROCESS_STATE_CODES)
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'running'
 | |
| 	SystemProcessStatusKey = attribute.Key("system.process.status")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// running
 | |
| 	SystemProcessStatusRunning = SystemProcessStatusKey.String("running")
 | |
| 	// sleeping
 | |
| 	SystemProcessStatusSleeping = SystemProcessStatusKey.String("sleeping")
 | |
| 	// stopped
 | |
| 	SystemProcessStatusStopped = SystemProcessStatusKey.String("stopped")
 | |
| 	// defunct
 | |
| 	SystemProcessStatusDefunct = SystemProcessStatusKey.String("defunct")
 | |
| )
 | |
| 
 | |
| // Attributes for telemetry SDK.
 | |
| const (
 | |
| 	// TelemetrySDKLanguageKey is the attribute Key conforming to the
 | |
| 	// "telemetry.sdk.language" semantic conventions. It represents the
 | |
| 	// language of the telemetry SDK.
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Required
 | |
| 	// Stability: stable
 | |
| 	TelemetrySDKLanguageKey = attribute.Key("telemetry.sdk.language")
 | |
| 
 | |
| 	// TelemetrySDKNameKey is the attribute Key conforming to the
 | |
| 	// "telemetry.sdk.name" semantic conventions. It represents the name of the
 | |
| 	// telemetry SDK as defined above.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Required
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'opentelemetry'
 | |
| 	// 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.
 | |
| 	TelemetrySDKNameKey = attribute.Key("telemetry.sdk.name")
 | |
| 
 | |
| 	// TelemetrySDKVersionKey is the attribute Key conforming to the
 | |
| 	// "telemetry.sdk.version" semantic conventions. It represents the version
 | |
| 	// string of the telemetry SDK.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Required
 | |
| 	// Stability: stable
 | |
| 	// Examples: '1.2.3'
 | |
| 	TelemetrySDKVersionKey = attribute.Key("telemetry.sdk.version")
 | |
| 
 | |
| 	// TelemetryDistroNameKey is the attribute Key conforming to the
 | |
| 	// "telemetry.distro.name" semantic conventions. It represents the name of
 | |
| 	// the auto instrumentation agent or distribution, if used.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'parts-unlimited-java'
 | |
| 	// 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`.
 | |
| 	TelemetryDistroNameKey = attribute.Key("telemetry.distro.name")
 | |
| 
 | |
| 	// TelemetryDistroVersionKey is the attribute Key conforming to the
 | |
| 	// "telemetry.distro.version" semantic conventions. It represents the
 | |
| 	// version string of the auto instrumentation agent or distribution, if
 | |
| 	// used.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '1.2.3'
 | |
| 	TelemetryDistroVersionKey = attribute.Key("telemetry.distro.version")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// cpp
 | |
| 	TelemetrySDKLanguageCPP = TelemetrySDKLanguageKey.String("cpp")
 | |
| 	// dotnet
 | |
| 	TelemetrySDKLanguageDotnet = TelemetrySDKLanguageKey.String("dotnet")
 | |
| 	// erlang
 | |
| 	TelemetrySDKLanguageErlang = TelemetrySDKLanguageKey.String("erlang")
 | |
| 	// go
 | |
| 	TelemetrySDKLanguageGo = TelemetrySDKLanguageKey.String("go")
 | |
| 	// java
 | |
| 	TelemetrySDKLanguageJava = TelemetrySDKLanguageKey.String("java")
 | |
| 	// nodejs
 | |
| 	TelemetrySDKLanguageNodejs = TelemetrySDKLanguageKey.String("nodejs")
 | |
| 	// php
 | |
| 	TelemetrySDKLanguagePHP = TelemetrySDKLanguageKey.String("php")
 | |
| 	// python
 | |
| 	TelemetrySDKLanguagePython = TelemetrySDKLanguageKey.String("python")
 | |
| 	// ruby
 | |
| 	TelemetrySDKLanguageRuby = TelemetrySDKLanguageKey.String("ruby")
 | |
| 	// rust
 | |
| 	TelemetrySDKLanguageRust = TelemetrySDKLanguageKey.String("rust")
 | |
| 	// swift
 | |
| 	TelemetrySDKLanguageSwift = TelemetrySDKLanguageKey.String("swift")
 | |
| 	// webjs
 | |
| 	TelemetrySDKLanguageWebjs = TelemetrySDKLanguageKey.String("webjs")
 | |
| )
 | |
| 
 | |
| // TelemetrySDKName returns an attribute KeyValue conforming to the
 | |
| // "telemetry.sdk.name" semantic conventions. It represents the name of the
 | |
| // telemetry SDK as defined above.
 | |
| func TelemetrySDKName(val string) attribute.KeyValue {
 | |
| 	return TelemetrySDKNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // TelemetrySDKVersion returns an attribute KeyValue conforming to the
 | |
| // "telemetry.sdk.version" semantic conventions. It represents the version
 | |
| // string of the telemetry SDK.
 | |
| func TelemetrySDKVersion(val string) attribute.KeyValue {
 | |
| 	return TelemetrySDKVersionKey.String(val)
 | |
| }
 | |
| 
 | |
| // TelemetryDistroName returns an attribute KeyValue conforming to the
 | |
| // "telemetry.distro.name" semantic conventions. It represents the name of the
 | |
| // auto instrumentation agent or distribution, if used.
 | |
| func TelemetryDistroName(val string) attribute.KeyValue {
 | |
| 	return TelemetryDistroNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // TelemetryDistroVersion returns an attribute KeyValue conforming to the
 | |
| // "telemetry.distro.version" semantic conventions. It represents the version
 | |
| // string of the auto instrumentation agent or distribution, if used.
 | |
| func TelemetryDistroVersion(val string) attribute.KeyValue {
 | |
| 	return TelemetryDistroVersionKey.String(val)
 | |
| }
 | |
| 
 | |
| // These attributes may be used for any operation to store information about a
 | |
| // thread that started a span.
 | |
| const (
 | |
| 	// ThreadIDKey is the attribute Key conforming to the "thread.id" semantic
 | |
| 	// conventions. It represents the current "managed" thread ID (as opposed
 | |
| 	// to OS thread ID).
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 42
 | |
| 	ThreadIDKey = attribute.Key("thread.id")
 | |
| 
 | |
| 	// ThreadNameKey is the attribute Key conforming to the "thread.name"
 | |
| 	// semantic conventions. It represents the current thread name.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'main'
 | |
| 	ThreadNameKey = attribute.Key("thread.name")
 | |
| )
 | |
| 
 | |
| // ThreadID returns an attribute KeyValue conforming to the "thread.id"
 | |
| // semantic conventions. It represents the current "managed" thread ID (as
 | |
| // opposed to OS thread ID).
 | |
| func ThreadID(val int) attribute.KeyValue {
 | |
| 	return ThreadIDKey.Int(val)
 | |
| }
 | |
| 
 | |
| // ThreadName returns an attribute KeyValue conforming to the "thread.name"
 | |
| // semantic conventions. It represents the current thread name.
 | |
| func ThreadName(val string) attribute.KeyValue {
 | |
| 	return ThreadNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // Semantic convention attributes in the TLS namespace.
 | |
| const (
 | |
| 	// TLSCipherKey is the attribute Key conforming to the "tls.cipher"
 | |
| 	// semantic conventions. It represents the string indicating the
 | |
| 	// [cipher](https://datatracker.ietf.org/doc/html/rfc5246#appendix-A.5)
 | |
| 	// used during the current connection.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'TLS_RSA_WITH_3DES_EDE_CBC_SHA',
 | |
| 	// 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256'
 | |
| 	// Note: The values allowed for `tls.cipher` MUST be one of the
 | |
| 	// `Descriptions` of the [registered TLS Cipher
 | |
| 	// Suits](https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#table-tls-parameters-4).
 | |
| 	TLSCipherKey = attribute.Key("tls.cipher")
 | |
| 
 | |
| 	// TLSClientCertificateKey is the attribute Key conforming to the
 | |
| 	// "tls.client.certificate" semantic conventions. It represents the
 | |
| 	// 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'MII...'
 | |
| 	TLSClientCertificateKey = attribute.Key("tls.client.certificate")
 | |
| 
 | |
| 	// TLSClientCertificateChainKey is the attribute Key conforming to the
 | |
| 	// "tls.client.certificate_chain" semantic conventions. It represents the
 | |
| 	// 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.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'MII...', 'MI...'
 | |
| 	TLSClientCertificateChainKey = attribute.Key("tls.client.certificate_chain")
 | |
| 
 | |
| 	// TLSClientHashMd5Key is the attribute Key conforming to the
 | |
| 	// "tls.client.hash.md5" semantic conventions. It represents the
 | |
| 	// 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '0F76C7F2C55BFD7D8E8B8F4BFBF0C9EC'
 | |
| 	TLSClientHashMd5Key = attribute.Key("tls.client.hash.md5")
 | |
| 
 | |
| 	// TLSClientHashSha1Key is the attribute Key conforming to the
 | |
| 	// "tls.client.hash.sha1" semantic conventions. It represents the
 | |
| 	// 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '9E393D93138888D288266C2D915214D1D1CCEB2A'
 | |
| 	TLSClientHashSha1Key = attribute.Key("tls.client.hash.sha1")
 | |
| 
 | |
| 	// TLSClientHashSha256Key is the attribute Key conforming to the
 | |
| 	// "tls.client.hash.sha256" semantic conventions. It represents the
 | |
| 	// 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples:
 | |
| 	// '0687F666A054EF17A08E2F2162EAB4CBC0D265E1D7875BE74BF3C712CA92DAF0'
 | |
| 	TLSClientHashSha256Key = attribute.Key("tls.client.hash.sha256")
 | |
| 
 | |
| 	// TLSClientIssuerKey is the attribute Key conforming to the
 | |
| 	// "tls.client.issuer" semantic conventions. It represents the
 | |
| 	// distinguished name of
 | |
| 	// [subject](https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6)
 | |
| 	// of the issuer of the x.509 certificate presented by the client.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'CN=Example Root CA, OU=Infrastructure Team, DC=example,
 | |
| 	// DC=com'
 | |
| 	TLSClientIssuerKey = attribute.Key("tls.client.issuer")
 | |
| 
 | |
| 	// TLSClientJa3Key is the attribute Key conforming to the "tls.client.ja3"
 | |
| 	// semantic conventions. It represents a hash that identifies clients based
 | |
| 	// on how they perform an SSL/TLS handshake.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'd4e5b18d6b55c71272893221c96ba240'
 | |
| 	TLSClientJa3Key = attribute.Key("tls.client.ja3")
 | |
| 
 | |
| 	// TLSClientNotAfterKey is the attribute Key conforming to the
 | |
| 	// "tls.client.not_after" semantic conventions. It represents the date/Time
 | |
| 	// indicating when client certificate is no longer considered valid.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '2021-01-01T00:00:00.000Z'
 | |
| 	TLSClientNotAfterKey = attribute.Key("tls.client.not_after")
 | |
| 
 | |
| 	// TLSClientNotBeforeKey is the attribute Key conforming to the
 | |
| 	// "tls.client.not_before" semantic conventions. It represents the
 | |
| 	// date/Time indicating when client certificate is first considered valid.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '1970-01-01T00:00:00.000Z'
 | |
| 	TLSClientNotBeforeKey = attribute.Key("tls.client.not_before")
 | |
| 
 | |
| 	// TLSClientServerNameKey is the attribute Key conforming to the
 | |
| 	// "tls.client.server_name" semantic conventions. It represents the also
 | |
| 	// called an SNI, this tells the server which hostname to which the client
 | |
| 	// is attempting to connect to.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'opentelemetry.io'
 | |
| 	TLSClientServerNameKey = attribute.Key("tls.client.server_name")
 | |
| 
 | |
| 	// TLSClientSubjectKey is the attribute Key conforming to the
 | |
| 	// "tls.client.subject" semantic conventions. It represents the
 | |
| 	// distinguished name of subject of the x.509 certificate presented by the
 | |
| 	// client.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'CN=myclient, OU=Documentation Team, DC=example, DC=com'
 | |
| 	TLSClientSubjectKey = attribute.Key("tls.client.subject")
 | |
| 
 | |
| 	// TLSClientSupportedCiphersKey is the attribute Key conforming to the
 | |
| 	// "tls.client.supported_ciphers" semantic conventions. It represents the
 | |
| 	// array of ciphers offered by the client during the client hello.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
 | |
| 	// "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "..."'
 | |
| 	TLSClientSupportedCiphersKey = attribute.Key("tls.client.supported_ciphers")
 | |
| 
 | |
| 	// TLSCurveKey is the attribute Key conforming to the "tls.curve" semantic
 | |
| 	// conventions. It represents the string indicating the curve used for the
 | |
| 	// given cipher, when applicable
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'secp256r1'
 | |
| 	TLSCurveKey = attribute.Key("tls.curve")
 | |
| 
 | |
| 	// TLSEstablishedKey is the attribute Key conforming to the
 | |
| 	// "tls.established" semantic conventions. It represents the boolean flag
 | |
| 	// indicating if the TLS negotiation was successful and transitioned to an
 | |
| 	// encrypted tunnel.
 | |
| 	//
 | |
| 	// Type: boolean
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: True
 | |
| 	TLSEstablishedKey = attribute.Key("tls.established")
 | |
| 
 | |
| 	// TLSNextProtocolKey is the attribute Key conforming to the
 | |
| 	// "tls.next_protocol" semantic conventions. It represents the string
 | |
| 	// indicating the protocol being tunneled. Per the values in the [IANA
 | |
| 	// registry](https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids),
 | |
| 	// this string should be lower case.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'http/1.1'
 | |
| 	TLSNextProtocolKey = attribute.Key("tls.next_protocol")
 | |
| 
 | |
| 	// TLSProtocolNameKey is the attribute Key conforming to the
 | |
| 	// "tls.protocol.name" semantic conventions. It represents the normalized
 | |
| 	// lowercase protocol name parsed from original string of the negotiated
 | |
| 	// [SSL/TLS protocol
 | |
| 	// version](https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES)
 | |
| 	//
 | |
| 	// Type: Enum
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	TLSProtocolNameKey = attribute.Key("tls.protocol.name")
 | |
| 
 | |
| 	// TLSProtocolVersionKey is the attribute Key conforming to the
 | |
| 	// "tls.protocol.version" semantic conventions. It represents the numeric
 | |
| 	// part of the version parsed from the original string of the negotiated
 | |
| 	// [SSL/TLS protocol
 | |
| 	// version](https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES)
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '1.2', '3'
 | |
| 	TLSProtocolVersionKey = attribute.Key("tls.protocol.version")
 | |
| 
 | |
| 	// TLSResumedKey is the attribute Key conforming to the "tls.resumed"
 | |
| 	// semantic conventions. It represents the boolean flag indicating if this
 | |
| 	// TLS connection was resumed from an existing TLS negotiation.
 | |
| 	//
 | |
| 	// Type: boolean
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: True
 | |
| 	TLSResumedKey = attribute.Key("tls.resumed")
 | |
| 
 | |
| 	// TLSServerCertificateKey is the attribute Key conforming to the
 | |
| 	// "tls.server.certificate" semantic conventions. It represents the
 | |
| 	// 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'MII...'
 | |
| 	TLSServerCertificateKey = attribute.Key("tls.server.certificate")
 | |
| 
 | |
| 	// TLSServerCertificateChainKey is the attribute Key conforming to the
 | |
| 	// "tls.server.certificate_chain" semantic conventions. It represents the
 | |
| 	// 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.
 | |
| 	//
 | |
| 	// Type: string[]
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'MII...', 'MI...'
 | |
| 	TLSServerCertificateChainKey = attribute.Key("tls.server.certificate_chain")
 | |
| 
 | |
| 	// TLSServerHashMd5Key is the attribute Key conforming to the
 | |
| 	// "tls.server.hash.md5" semantic conventions. It represents the
 | |
| 	// 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '0F76C7F2C55BFD7D8E8B8F4BFBF0C9EC'
 | |
| 	TLSServerHashMd5Key = attribute.Key("tls.server.hash.md5")
 | |
| 
 | |
| 	// TLSServerHashSha1Key is the attribute Key conforming to the
 | |
| 	// "tls.server.hash.sha1" semantic conventions. It represents the
 | |
| 	// 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '9E393D93138888D288266C2D915214D1D1CCEB2A'
 | |
| 	TLSServerHashSha1Key = attribute.Key("tls.server.hash.sha1")
 | |
| 
 | |
| 	// TLSServerHashSha256Key is the attribute Key conforming to the
 | |
| 	// "tls.server.hash.sha256" semantic conventions. It represents the
 | |
| 	// 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples:
 | |
| 	// '0687F666A054EF17A08E2F2162EAB4CBC0D265E1D7875BE74BF3C712CA92DAF0'
 | |
| 	TLSServerHashSha256Key = attribute.Key("tls.server.hash.sha256")
 | |
| 
 | |
| 	// TLSServerIssuerKey is the attribute Key conforming to the
 | |
| 	// "tls.server.issuer" semantic conventions. It represents the
 | |
| 	// distinguished name of
 | |
| 	// [subject](https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6)
 | |
| 	// of the issuer of the x.509 certificate presented by the client.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'CN=Example Root CA, OU=Infrastructure Team, DC=example,
 | |
| 	// DC=com'
 | |
| 	TLSServerIssuerKey = attribute.Key("tls.server.issuer")
 | |
| 
 | |
| 	// TLSServerJa3sKey is the attribute Key conforming to the
 | |
| 	// "tls.server.ja3s" semantic conventions. It represents a hash that
 | |
| 	// identifies servers based on how they perform an SSL/TLS handshake.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'd4e5b18d6b55c71272893221c96ba240'
 | |
| 	TLSServerJa3sKey = attribute.Key("tls.server.ja3s")
 | |
| 
 | |
| 	// TLSServerNotAfterKey is the attribute Key conforming to the
 | |
| 	// "tls.server.not_after" semantic conventions. It represents the date/Time
 | |
| 	// indicating when server certificate is no longer considered valid.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '2021-01-01T00:00:00.000Z'
 | |
| 	TLSServerNotAfterKey = attribute.Key("tls.server.not_after")
 | |
| 
 | |
| 	// TLSServerNotBeforeKey is the attribute Key conforming to the
 | |
| 	// "tls.server.not_before" semantic conventions. It represents the
 | |
| 	// date/Time indicating when server certificate is first considered valid.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '1970-01-01T00:00:00.000Z'
 | |
| 	TLSServerNotBeforeKey = attribute.Key("tls.server.not_before")
 | |
| 
 | |
| 	// TLSServerSubjectKey is the attribute Key conforming to the
 | |
| 	// "tls.server.subject" semantic conventions. It represents the
 | |
| 	// distinguished name of subject of the x.509 certificate presented by the
 | |
| 	// server.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'CN=myserver, OU=Documentation Team, DC=example, DC=com'
 | |
| 	TLSServerSubjectKey = attribute.Key("tls.server.subject")
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// ssl
 | |
| 	TLSProtocolNameSsl = TLSProtocolNameKey.String("ssl")
 | |
| 	// tls
 | |
| 	TLSProtocolNameTLS = TLSProtocolNameKey.String("tls")
 | |
| )
 | |
| 
 | |
| // TLSCipher returns an attribute KeyValue conforming to the "tls.cipher"
 | |
| // semantic conventions. It represents the string indicating the
 | |
| // [cipher](https://datatracker.ietf.org/doc/html/rfc5246#appendix-A.5) used
 | |
| // during the current connection.
 | |
| func TLSCipher(val string) attribute.KeyValue {
 | |
| 	return TLSCipherKey.String(val)
 | |
| }
 | |
| 
 | |
| // TLSClientCertificate returns an attribute KeyValue conforming to the
 | |
| // "tls.client.certificate" semantic conventions. It represents the 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.
 | |
| func TLSClientCertificate(val string) attribute.KeyValue {
 | |
| 	return TLSClientCertificateKey.String(val)
 | |
| }
 | |
| 
 | |
| // TLSClientCertificateChain returns an attribute KeyValue conforming to the
 | |
| // "tls.client.certificate_chain" semantic conventions. It represents the 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.
 | |
| func TLSClientCertificateChain(val ...string) attribute.KeyValue {
 | |
| 	return TLSClientCertificateChainKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // TLSClientHashMd5 returns an attribute KeyValue conforming to the
 | |
| // "tls.client.hash.md5" semantic conventions. It represents the 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.
 | |
| func TLSClientHashMd5(val string) attribute.KeyValue {
 | |
| 	return TLSClientHashMd5Key.String(val)
 | |
| }
 | |
| 
 | |
| // TLSClientHashSha1 returns an attribute KeyValue conforming to the
 | |
| // "tls.client.hash.sha1" semantic conventions. It represents the 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.
 | |
| func TLSClientHashSha1(val string) attribute.KeyValue {
 | |
| 	return TLSClientHashSha1Key.String(val)
 | |
| }
 | |
| 
 | |
| // TLSClientHashSha256 returns an attribute KeyValue conforming to the
 | |
| // "tls.client.hash.sha256" semantic conventions. It represents the 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.
 | |
| func TLSClientHashSha256(val string) attribute.KeyValue {
 | |
| 	return TLSClientHashSha256Key.String(val)
 | |
| }
 | |
| 
 | |
| // TLSClientIssuer returns an attribute KeyValue conforming to the
 | |
| // "tls.client.issuer" semantic conventions. It represents the distinguished
 | |
| // name of
 | |
| // [subject](https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6) of
 | |
| // the issuer of the x.509 certificate presented by the client.
 | |
| func TLSClientIssuer(val string) attribute.KeyValue {
 | |
| 	return TLSClientIssuerKey.String(val)
 | |
| }
 | |
| 
 | |
| // TLSClientJa3 returns an attribute KeyValue conforming to the
 | |
| // "tls.client.ja3" semantic conventions. It represents a hash that identifies
 | |
| // clients based on how they perform an SSL/TLS handshake.
 | |
| func TLSClientJa3(val string) attribute.KeyValue {
 | |
| 	return TLSClientJa3Key.String(val)
 | |
| }
 | |
| 
 | |
| // TLSClientNotAfter returns an attribute KeyValue conforming to the
 | |
| // "tls.client.not_after" semantic conventions. It represents the date/Time
 | |
| // indicating when client certificate is no longer considered valid.
 | |
| func TLSClientNotAfter(val string) attribute.KeyValue {
 | |
| 	return TLSClientNotAfterKey.String(val)
 | |
| }
 | |
| 
 | |
| // TLSClientNotBefore returns an attribute KeyValue conforming to the
 | |
| // "tls.client.not_before" semantic conventions. It represents the date/Time
 | |
| // indicating when client certificate is first considered valid.
 | |
| func TLSClientNotBefore(val string) attribute.KeyValue {
 | |
| 	return TLSClientNotBeforeKey.String(val)
 | |
| }
 | |
| 
 | |
| // TLSClientServerName returns an attribute KeyValue conforming to the
 | |
| // "tls.client.server_name" semantic conventions. It represents the also called
 | |
| // an SNI, this tells the server which hostname to which the client is
 | |
| // attempting to connect to.
 | |
| func TLSClientServerName(val string) attribute.KeyValue {
 | |
| 	return TLSClientServerNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // TLSClientSubject returns an attribute KeyValue conforming to the
 | |
| // "tls.client.subject" semantic conventions. It represents the distinguished
 | |
| // name of subject of the x.509 certificate presented by the client.
 | |
| func TLSClientSubject(val string) attribute.KeyValue {
 | |
| 	return TLSClientSubjectKey.String(val)
 | |
| }
 | |
| 
 | |
| // TLSClientSupportedCiphers returns an attribute KeyValue conforming to the
 | |
| // "tls.client.supported_ciphers" semantic conventions. It represents the array
 | |
| // of ciphers offered by the client during the client hello.
 | |
| func TLSClientSupportedCiphers(val ...string) attribute.KeyValue {
 | |
| 	return TLSClientSupportedCiphersKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // TLSCurve returns an attribute KeyValue conforming to the "tls.curve"
 | |
| // semantic conventions. It represents the string indicating the curve used for
 | |
| // the given cipher, when applicable
 | |
| func TLSCurve(val string) attribute.KeyValue {
 | |
| 	return TLSCurveKey.String(val)
 | |
| }
 | |
| 
 | |
| // TLSEstablished returns an attribute KeyValue conforming to the
 | |
| // "tls.established" semantic conventions. It represents the boolean flag
 | |
| // indicating if the TLS negotiation was successful and transitioned to an
 | |
| // encrypted tunnel.
 | |
| func TLSEstablished(val bool) attribute.KeyValue {
 | |
| 	return TLSEstablishedKey.Bool(val)
 | |
| }
 | |
| 
 | |
| // TLSNextProtocol returns an attribute KeyValue conforming to the
 | |
| // "tls.next_protocol" semantic conventions. It represents the string
 | |
| // indicating the protocol being tunneled. Per the values in the [IANA
 | |
| // registry](https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids),
 | |
| // this string should be lower case.
 | |
| func TLSNextProtocol(val string) attribute.KeyValue {
 | |
| 	return TLSNextProtocolKey.String(val)
 | |
| }
 | |
| 
 | |
| // TLSProtocolVersion returns an attribute KeyValue conforming to the
 | |
| // "tls.protocol.version" semantic conventions. It represents the numeric part
 | |
| // of the version parsed from the original string of the negotiated [SSL/TLS
 | |
| // protocol
 | |
| // version](https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES)
 | |
| func TLSProtocolVersion(val string) attribute.KeyValue {
 | |
| 	return TLSProtocolVersionKey.String(val)
 | |
| }
 | |
| 
 | |
| // TLSResumed returns an attribute KeyValue conforming to the "tls.resumed"
 | |
| // semantic conventions. It represents the boolean flag indicating if this TLS
 | |
| // connection was resumed from an existing TLS negotiation.
 | |
| func TLSResumed(val bool) attribute.KeyValue {
 | |
| 	return TLSResumedKey.Bool(val)
 | |
| }
 | |
| 
 | |
| // TLSServerCertificate returns an attribute KeyValue conforming to the
 | |
| // "tls.server.certificate" semantic conventions. It represents the 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.
 | |
| func TLSServerCertificate(val string) attribute.KeyValue {
 | |
| 	return TLSServerCertificateKey.String(val)
 | |
| }
 | |
| 
 | |
| // TLSServerCertificateChain returns an attribute KeyValue conforming to the
 | |
| // "tls.server.certificate_chain" semantic conventions. It represents the 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.
 | |
| func TLSServerCertificateChain(val ...string) attribute.KeyValue {
 | |
| 	return TLSServerCertificateChainKey.StringSlice(val)
 | |
| }
 | |
| 
 | |
| // TLSServerHashMd5 returns an attribute KeyValue conforming to the
 | |
| // "tls.server.hash.md5" semantic conventions. It represents the 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.
 | |
| func TLSServerHashMd5(val string) attribute.KeyValue {
 | |
| 	return TLSServerHashMd5Key.String(val)
 | |
| }
 | |
| 
 | |
| // TLSServerHashSha1 returns an attribute KeyValue conforming to the
 | |
| // "tls.server.hash.sha1" semantic conventions. It represents the 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.
 | |
| func TLSServerHashSha1(val string) attribute.KeyValue {
 | |
| 	return TLSServerHashSha1Key.String(val)
 | |
| }
 | |
| 
 | |
| // TLSServerHashSha256 returns an attribute KeyValue conforming to the
 | |
| // "tls.server.hash.sha256" semantic conventions. It represents the 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.
 | |
| func TLSServerHashSha256(val string) attribute.KeyValue {
 | |
| 	return TLSServerHashSha256Key.String(val)
 | |
| }
 | |
| 
 | |
| // TLSServerIssuer returns an attribute KeyValue conforming to the
 | |
| // "tls.server.issuer" semantic conventions. It represents the distinguished
 | |
| // name of
 | |
| // [subject](https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6) of
 | |
| // the issuer of the x.509 certificate presented by the client.
 | |
| func TLSServerIssuer(val string) attribute.KeyValue {
 | |
| 	return TLSServerIssuerKey.String(val)
 | |
| }
 | |
| 
 | |
| // TLSServerJa3s returns an attribute KeyValue conforming to the
 | |
| // "tls.server.ja3s" semantic conventions. It represents a hash that identifies
 | |
| // servers based on how they perform an SSL/TLS handshake.
 | |
| func TLSServerJa3s(val string) attribute.KeyValue {
 | |
| 	return TLSServerJa3sKey.String(val)
 | |
| }
 | |
| 
 | |
| // TLSServerNotAfter returns an attribute KeyValue conforming to the
 | |
| // "tls.server.not_after" semantic conventions. It represents the date/Time
 | |
| // indicating when server certificate is no longer considered valid.
 | |
| func TLSServerNotAfter(val string) attribute.KeyValue {
 | |
| 	return TLSServerNotAfterKey.String(val)
 | |
| }
 | |
| 
 | |
| // TLSServerNotBefore returns an attribute KeyValue conforming to the
 | |
| // "tls.server.not_before" semantic conventions. It represents the date/Time
 | |
| // indicating when server certificate is first considered valid.
 | |
| func TLSServerNotBefore(val string) attribute.KeyValue {
 | |
| 	return TLSServerNotBeforeKey.String(val)
 | |
| }
 | |
| 
 | |
| // TLSServerSubject returns an attribute KeyValue conforming to the
 | |
| // "tls.server.subject" semantic conventions. It represents the distinguished
 | |
| // name of subject of the x.509 certificate presented by the server.
 | |
| func TLSServerSubject(val string) attribute.KeyValue {
 | |
| 	return TLSServerSubjectKey.String(val)
 | |
| }
 | |
| 
 | |
| // Attributes describing URL.
 | |
| const (
 | |
| 	// URLDomainKey is the attribute Key conforming to the "url.domain"
 | |
| 	// semantic conventions. It represents the domain extracted from the
 | |
| 	// `url.full`, such as "opentelemetry.io".
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'www.foo.bar', 'opentelemetry.io', '3.12.167.2',
 | |
| 	// '[1080:0:0:0:8:800:200C:417A]'
 | |
| 	// 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](https://www.rfc-editor.org/rfc/rfc2732#section-2) enclosed by
 | |
| 	// `[` and `]`, the `[` and `]` characters should also be captured in the
 | |
| 	// domain field.
 | |
| 	URLDomainKey = attribute.Key("url.domain")
 | |
| 
 | |
| 	// URLExtensionKey is the attribute Key conforming to the "url.extension"
 | |
| 	// semantic conventions. It represents the file extension extracted from
 | |
| 	// the `url.full`, excluding the leading dot.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'png', 'gz'
 | |
| 	// 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`.
 | |
| 	URLExtensionKey = attribute.Key("url.extension")
 | |
| 
 | |
| 	// URLFragmentKey is the attribute Key conforming to the "url.fragment"
 | |
| 	// semantic conventions. It represents the [URI
 | |
| 	// fragment](https://www.rfc-editor.org/rfc/rfc3986#section-3.5) component
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'SemConv'
 | |
| 	URLFragmentKey = attribute.Key("url.fragment")
 | |
| 
 | |
| 	// URLFullKey is the attribute Key conforming to the "url.full" semantic
 | |
| 	// conventions. It represents the absolute URL describing a network
 | |
| 	// resource according to [RFC3986](https://www.rfc-editor.org/rfc/rfc3986)
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'https://www.foo.bar/search?q=OpenTelemetry#SemConv',
 | |
| 	// '//localhost'
 | |
| 	// 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.
 | |
| 	URLFullKey = attribute.Key("url.full")
 | |
| 
 | |
| 	// URLOriginalKey is the attribute Key conforming to the "url.original"
 | |
| 	// semantic conventions. It represents the unmodified original URL as seen
 | |
| 	// in the event source.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'https://www.foo.bar/search?q=OpenTelemetry#SemConv',
 | |
| 	// 'search?q=OpenTelemetry'
 | |
| 	// 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.
 | |
| 	URLOriginalKey = attribute.Key("url.original")
 | |
| 
 | |
| 	// URLPathKey is the attribute Key conforming to the "url.path" semantic
 | |
| 	// conventions. It represents the [URI
 | |
| 	// path](https://www.rfc-editor.org/rfc/rfc3986#section-3.3) component
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: '/search'
 | |
| 	// Note: Sensitive content provided in `url.path` SHOULD be scrubbed when
 | |
| 	// instrumentations can identify it.
 | |
| 	URLPathKey = attribute.Key("url.path")
 | |
| 
 | |
| 	// URLPortKey is the attribute Key conforming to the "url.port" semantic
 | |
| 	// conventions. It represents the port extracted from the `url.full`
 | |
| 	//
 | |
| 	// Type: int
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 443
 | |
| 	URLPortKey = attribute.Key("url.port")
 | |
| 
 | |
| 	// URLQueryKey is the attribute Key conforming to the "url.query" semantic
 | |
| 	// conventions. It represents the [URI
 | |
| 	// query](https://www.rfc-editor.org/rfc/rfc3986#section-3.4) component
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'q=OpenTelemetry'
 | |
| 	// Note: Sensitive content provided in `url.query` SHOULD be scrubbed when
 | |
| 	// instrumentations can identify it.
 | |
| 	URLQueryKey = attribute.Key("url.query")
 | |
| 
 | |
| 	// URLRegisteredDomainKey is the attribute Key conforming to the
 | |
| 	// "url.registered_domain" semantic conventions. It represents the highest
 | |
| 	// registered url domain, stripped of the subdomain.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'example.com', 'foo.co.uk'
 | |
| 	// Note: This value can be determined precisely with the [public suffix
 | |
| 	// list](http://publicsuffix.org). 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`.
 | |
| 	URLRegisteredDomainKey = attribute.Key("url.registered_domain")
 | |
| 
 | |
| 	// URLSchemeKey is the attribute Key conforming to the "url.scheme"
 | |
| 	// semantic conventions. It represents the [URI
 | |
| 	// scheme](https://www.rfc-editor.org/rfc/rfc3986#section-3.1) component
 | |
| 	// identifying the used protocol.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'https', 'ftp', 'telnet'
 | |
| 	URLSchemeKey = attribute.Key("url.scheme")
 | |
| 
 | |
| 	// URLSubdomainKey is the attribute Key conforming to the "url.subdomain"
 | |
| 	// semantic conventions. It represents 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.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'east', 'sub2.sub1'
 | |
| 	// 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.
 | |
| 	URLSubdomainKey = attribute.Key("url.subdomain")
 | |
| 
 | |
| 	// URLTemplateKey is the attribute Key conforming to the "url.template"
 | |
| 	// semantic conventions. It represents the low-cardinality template of an
 | |
| 	// [absolute path
 | |
| 	// reference](https://www.rfc-editor.org/rfc/rfc3986#section-4.2).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '/users/{id}', '/users/:id', '/users?id={id}'
 | |
| 	URLTemplateKey = attribute.Key("url.template")
 | |
| 
 | |
| 	// URLTopLevelDomainKey is the attribute Key conforming to the
 | |
| 	// "url.top_level_domain" semantic conventions. It represents 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`.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'com', 'co.uk'
 | |
| 	// Note: This value can be determined precisely with the [public suffix
 | |
| 	// list](http://publicsuffix.org).
 | |
| 	URLTopLevelDomainKey = attribute.Key("url.top_level_domain")
 | |
| )
 | |
| 
 | |
| // URLDomain returns an attribute KeyValue conforming to the "url.domain"
 | |
| // semantic conventions. It represents the domain extracted from the
 | |
| // `url.full`, such as "opentelemetry.io".
 | |
| func URLDomain(val string) attribute.KeyValue {
 | |
| 	return URLDomainKey.String(val)
 | |
| }
 | |
| 
 | |
| // URLExtension returns an attribute KeyValue conforming to the
 | |
| // "url.extension" semantic conventions. It represents the file extension
 | |
| // extracted from the `url.full`, excluding the leading dot.
 | |
| func URLExtension(val string) attribute.KeyValue {
 | |
| 	return URLExtensionKey.String(val)
 | |
| }
 | |
| 
 | |
| // URLFragment returns an attribute KeyValue conforming to the
 | |
| // "url.fragment" semantic conventions. It represents the [URI
 | |
| // fragment](https://www.rfc-editor.org/rfc/rfc3986#section-3.5) component
 | |
| func URLFragment(val string) attribute.KeyValue {
 | |
| 	return URLFragmentKey.String(val)
 | |
| }
 | |
| 
 | |
| // URLFull returns an attribute KeyValue conforming to the "url.full"
 | |
| // semantic conventions. It represents the absolute URL describing a network
 | |
| // resource according to [RFC3986](https://www.rfc-editor.org/rfc/rfc3986)
 | |
| func URLFull(val string) attribute.KeyValue {
 | |
| 	return URLFullKey.String(val)
 | |
| }
 | |
| 
 | |
| // URLOriginal returns an attribute KeyValue conforming to the
 | |
| // "url.original" semantic conventions. It represents the unmodified original
 | |
| // URL as seen in the event source.
 | |
| func URLOriginal(val string) attribute.KeyValue {
 | |
| 	return URLOriginalKey.String(val)
 | |
| }
 | |
| 
 | |
| // URLPath returns an attribute KeyValue conforming to the "url.path"
 | |
| // semantic conventions. It represents the [URI
 | |
| // path](https://www.rfc-editor.org/rfc/rfc3986#section-3.3) component
 | |
| func URLPath(val string) attribute.KeyValue {
 | |
| 	return URLPathKey.String(val)
 | |
| }
 | |
| 
 | |
| // URLPort returns an attribute KeyValue conforming to the "url.port"
 | |
| // semantic conventions. It represents the port extracted from the `url.full`
 | |
| func URLPort(val int) attribute.KeyValue {
 | |
| 	return URLPortKey.Int(val)
 | |
| }
 | |
| 
 | |
| // URLQuery returns an attribute KeyValue conforming to the "url.query"
 | |
| // semantic conventions. It represents the [URI
 | |
| // query](https://www.rfc-editor.org/rfc/rfc3986#section-3.4) component
 | |
| func URLQuery(val string) attribute.KeyValue {
 | |
| 	return URLQueryKey.String(val)
 | |
| }
 | |
| 
 | |
| // URLRegisteredDomain returns an attribute KeyValue conforming to the
 | |
| // "url.registered_domain" semantic conventions. It represents the highest
 | |
| // registered url domain, stripped of the subdomain.
 | |
| func URLRegisteredDomain(val string) attribute.KeyValue {
 | |
| 	return URLRegisteredDomainKey.String(val)
 | |
| }
 | |
| 
 | |
| // URLScheme returns an attribute KeyValue conforming to the "url.scheme"
 | |
| // semantic conventions. It represents the [URI
 | |
| // scheme](https://www.rfc-editor.org/rfc/rfc3986#section-3.1) component
 | |
| // identifying the used protocol.
 | |
| func URLScheme(val string) attribute.KeyValue {
 | |
| 	return URLSchemeKey.String(val)
 | |
| }
 | |
| 
 | |
| // URLSubdomain returns an attribute KeyValue conforming to the
 | |
| // "url.subdomain" semantic conventions. It represents 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.
 | |
| func URLSubdomain(val string) attribute.KeyValue {
 | |
| 	return URLSubdomainKey.String(val)
 | |
| }
 | |
| 
 | |
| // URLTemplate returns an attribute KeyValue conforming to the
 | |
| // "url.template" semantic conventions. It represents the low-cardinality
 | |
| // template of an [absolute path
 | |
| // reference](https://www.rfc-editor.org/rfc/rfc3986#section-4.2).
 | |
| func URLTemplate(val string) attribute.KeyValue {
 | |
| 	return URLTemplateKey.String(val)
 | |
| }
 | |
| 
 | |
| // URLTopLevelDomain returns an attribute KeyValue conforming to the
 | |
| // "url.top_level_domain" semantic conventions. It represents 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`.
 | |
| func URLTopLevelDomain(val string) attribute.KeyValue {
 | |
| 	return URLTopLevelDomainKey.String(val)
 | |
| }
 | |
| 
 | |
| // Describes user-agent attributes.
 | |
| const (
 | |
| 	// UserAgentNameKey is the attribute Key conforming to the
 | |
| 	// "user_agent.name" semantic conventions. It represents the name of the
 | |
| 	// user-agent extracted from original. Usually refers to the browser's
 | |
| 	// name.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'Safari', 'YourApp'
 | |
| 	// Note: [Example](https://www.whatsmyua.info) 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`
 | |
| 	UserAgentNameKey = attribute.Key("user_agent.name")
 | |
| 
 | |
| 	// UserAgentOriginalKey is the attribute Key conforming to the
 | |
| 	// "user_agent.original" semantic conventions. It represents the value of
 | |
| 	// the [HTTP
 | |
| 	// User-Agent](https://www.rfc-editor.org/rfc/rfc9110.html#field.user-agent)
 | |
| 	// header sent by the client.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: stable
 | |
| 	// Examples: 'CERN-LineMode/2.15 libwww/2.17b3', 'Mozilla/5.0 (iPhone; CPU
 | |
| 	// iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko)
 | |
| 	// Version/14.1.2 Mobile/15E148 Safari/604.1', 'YourApp/1.0.0
 | |
| 	// grpc-java-okhttp/1.27.2'
 | |
| 	UserAgentOriginalKey = attribute.Key("user_agent.original")
 | |
| 
 | |
| 	// UserAgentVersionKey is the attribute Key conforming to the
 | |
| 	// "user_agent.version" semantic conventions. It represents the version of
 | |
| 	// the user-agent extracted from original. Usually refers to the browser's
 | |
| 	// version
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '14.1.2', '1.0.0'
 | |
| 	// Note: [Example](https://www.whatsmyua.info) 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`
 | |
| 	UserAgentVersionKey = attribute.Key("user_agent.version")
 | |
| )
 | |
| 
 | |
| // UserAgentName returns an attribute KeyValue conforming to the
 | |
| // "user_agent.name" semantic conventions. It represents the name of the
 | |
| // user-agent extracted from original. Usually refers to the browser's name.
 | |
| func UserAgentName(val string) attribute.KeyValue {
 | |
| 	return UserAgentNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // UserAgentOriginal returns an attribute KeyValue conforming to the
 | |
| // "user_agent.original" semantic conventions. It represents the value of the
 | |
| // [HTTP
 | |
| // User-Agent](https://www.rfc-editor.org/rfc/rfc9110.html#field.user-agent)
 | |
| // header sent by the client.
 | |
| func UserAgentOriginal(val string) attribute.KeyValue {
 | |
| 	return UserAgentOriginalKey.String(val)
 | |
| }
 | |
| 
 | |
| // UserAgentVersion returns an attribute KeyValue conforming to the
 | |
| // "user_agent.version" semantic conventions. It represents the version of the
 | |
| // user-agent extracted from original. Usually refers to the browser's version
 | |
| func UserAgentVersion(val string) attribute.KeyValue {
 | |
| 	return UserAgentVersionKey.String(val)
 | |
| }
 | |
| 
 | |
| // The attributes used to describe the packaged software running the
 | |
| // application code.
 | |
| const (
 | |
| 	// WebEngineDescriptionKey is the attribute Key conforming to the
 | |
| 	// "webengine.description" semantic conventions. It represents the
 | |
| 	// additional description of the web engine (e.g. detailed version and
 | |
| 	// edition information).
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) -
 | |
| 	// 2.2.2.Final'
 | |
| 	WebEngineDescriptionKey = attribute.Key("webengine.description")
 | |
| 
 | |
| 	// WebEngineNameKey is the attribute Key conforming to the "webengine.name"
 | |
| 	// semantic conventions. It represents the name of the web engine.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: 'WildFly'
 | |
| 	WebEngineNameKey = attribute.Key("webengine.name")
 | |
| 
 | |
| 	// WebEngineVersionKey is the attribute Key conforming to the
 | |
| 	// "webengine.version" semantic conventions. It represents the version of
 | |
| 	// the web engine.
 | |
| 	//
 | |
| 	// Type: string
 | |
| 	// RequirementLevel: Optional
 | |
| 	// Stability: experimental
 | |
| 	// Examples: '21.0.0'
 | |
| 	WebEngineVersionKey = attribute.Key("webengine.version")
 | |
| )
 | |
| 
 | |
| // WebEngineDescription returns an attribute KeyValue conforming to the
 | |
| // "webengine.description" semantic conventions. It represents the additional
 | |
| // description of the web engine (e.g. detailed version and edition
 | |
| // information).
 | |
| func WebEngineDescription(val string) attribute.KeyValue {
 | |
| 	return WebEngineDescriptionKey.String(val)
 | |
| }
 | |
| 
 | |
| // WebEngineName returns an attribute KeyValue conforming to the
 | |
| // "webengine.name" semantic conventions. It represents the name of the web
 | |
| // engine.
 | |
| func WebEngineName(val string) attribute.KeyValue {
 | |
| 	return WebEngineNameKey.String(val)
 | |
| }
 | |
| 
 | |
| // WebEngineVersion returns an attribute KeyValue conforming to the
 | |
| // "webengine.version" semantic conventions. It represents the version of the
 | |
| // web engine.
 | |
| func WebEngineVersion(val string) attribute.KeyValue {
 | |
| 	return WebEngineVersionKey.String(val)
 | |
| }
 |