mirror of https://github.com/docker/cli.git
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)
|
|
}
|