mirror of
https://codeberg.org/superseriousbusiness/gotosocial.git
synced 2024-12-24 09:58:17 +03:00
5e871e81a8
* otel to 1.24 * prometheus exporter to 0.46 * bunotel to 1.1.17 Also: * Use schemaless URL for metrics * Add software version to tracing schema
4398 lines
171 KiB
Go
4398 lines
171 KiB
Go
// Copyright The OpenTelemetry Authors
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
// Code generated from semantic convention specification. DO NOT EDIT.
|
|
|
|
package semconv // import "go.opentelemetry.io/otel/semconv/v1.24.0"
|
|
|
|
import "go.opentelemetry.io/otel/attribute"
|
|
|
|
// Describes FaaS attributes.
|
|
const (
|
|
// FaaSInvokedNameKey is the attribute Key conforming to the
|
|
// "faas.invoked_name" semantic conventions. It represents the name of the
|
|
// invoked function.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Required
|
|
// 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: Required
|
|
// 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: ConditionallyRequired (For some cloud providers, like
|
|
// AWS or GCP, the region in which a function is hosted is essential to
|
|
// uniquely identify the function and also part of its endpoint. Since it's
|
|
// part of the endpoint being called, the region is always known to
|
|
// clients. In these cases, `faas.invoked_region` MUST be set accordingly.
|
|
// If the region is unknown to the client or not required for identifying
|
|
// the invoked function, setting `faas.invoked_region` is 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")
|
|
|
|
// 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")
|
|
)
|
|
|
|
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")
|
|
)
|
|
|
|
// 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)
|
|
}
|
|
|
|
// 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: Required
|
|
// 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.26.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 attributes described in this section are rather generic. They may be
|
|
// used in any Log Record they apply to.
|
|
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)
|
|
}
|
|
|
|
// Describes 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")
|
|
)
|
|
|
|
// 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: Recommended
|
|
// 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)
|
|
}
|
|
|
|
// Describes Database attributes
|
|
const (
|
|
// PoolNameKey is the attribute Key conforming to the "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, then the
|
|
// [db.connection_string](/docs/database/database-spans.md#connection-level-attributes)
|
|
// should be used
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Required
|
|
// Stability: experimental
|
|
// Examples: 'myDataSource'
|
|
PoolNameKey = attribute.Key("pool.name")
|
|
|
|
// StateKey is the attribute Key conforming to the "state" semantic
|
|
// conventions. It represents the state of a connection in the pool
|
|
//
|
|
// Type: Enum
|
|
// RequirementLevel: Required
|
|
// Stability: experimental
|
|
// Examples: 'idle'
|
|
StateKey = attribute.Key("state")
|
|
)
|
|
|
|
var (
|
|
// idle
|
|
StateIdle = StateKey.String("idle")
|
|
// used
|
|
StateUsed = StateKey.String("used")
|
|
)
|
|
|
|
// PoolName returns an attribute KeyValue conforming to the "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, then the
|
|
// [db.connection_string](/docs/database/database-spans.md#connection-level-attributes)
|
|
// should be used
|
|
func PoolName(val string) attribute.KeyValue {
|
|
return PoolNameKey.String(val)
|
|
}
|
|
|
|
// ASP.NET Core attributes
|
|
const (
|
|
// 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: experimental
|
|
// Examples: 'Contoso.MyHandler'
|
|
AspnetcoreDiagnosticsHandlerTypeKey = attribute.Key("aspnetcore.diagnostics.handler.type")
|
|
|
|
// AspnetcoreRateLimitingPolicyKey is the attribute Key conforming to the
|
|
// "aspnetcore.rate_limiting.policy" semantic conventions. It represents
|
|
// the rate limiting policy name.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: ConditionallyRequired (if the matched endpoint for the
|
|
// request had a rate-limiting policy.)
|
|
// Stability: experimental
|
|
// Examples: 'fixed', 'sliding', 'token'
|
|
AspnetcoreRateLimitingPolicyKey = attribute.Key("aspnetcore.rate_limiting.policy")
|
|
|
|
// 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: experimental
|
|
// Examples: 'acquired', 'request_canceled'
|
|
AspnetcoreRateLimitingResultKey = attribute.Key("aspnetcore.rate_limiting.result")
|
|
|
|
// 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: ConditionallyRequired (if and only if the request was
|
|
// not handled.)
|
|
// Stability: experimental
|
|
// 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: ConditionallyRequired (If and only if a route was
|
|
// successfully matched.)
|
|
// Stability: experimental
|
|
// Examples: True
|
|
AspnetcoreRoutingIsFallbackKey = attribute.Key("aspnetcore.routing.is_fallback")
|
|
)
|
|
|
|
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")
|
|
)
|
|
|
|
// 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)
|
|
}
|
|
|
|
// 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: experimental
|
|
// 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: experimental
|
|
// 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")
|
|
)
|
|
|
|
// Describes JVM buffer metric 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: Recommended
|
|
// 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")
|
|
)
|
|
|
|
// 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)
|
|
}
|
|
|
|
// Describes JVM memory metric attributes.
|
|
const (
|
|
// 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: Recommended
|
|
// 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: Recommended
|
|
// Stability: stable
|
|
// Examples: 'heap', 'non_heap'
|
|
JvmMemoryTypeKey = attribute.Key("jvm.memory.type")
|
|
)
|
|
|
|
var (
|
|
// Heap memory
|
|
JvmMemoryTypeHeap = JvmMemoryTypeKey.String("heap")
|
|
// Non-heap memory
|
|
JvmMemoryTypeNonHeap = JvmMemoryTypeKey.String("non_heap")
|
|
)
|
|
|
|
// 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)
|
|
}
|
|
|
|
// Describes System metric 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 metric 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 metric 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 metric 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 metric 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 metric 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 metric attributes
|
|
const (
|
|
// SystemProcessesStatusKey is the attribute Key conforming to the
|
|
// "system.processes.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'
|
|
SystemProcessesStatusKey = attribute.Key("system.processes.status")
|
|
)
|
|
|
|
var (
|
|
// running
|
|
SystemProcessesStatusRunning = SystemProcessesStatusKey.String("running")
|
|
// sleeping
|
|
SystemProcessesStatusSleeping = SystemProcessesStatusKey.String("sleeping")
|
|
// stopped
|
|
SystemProcessesStatusStopped = SystemProcessesStatusKey.String("stopped")
|
|
// defunct
|
|
SystemProcessesStatusDefunct = SystemProcessesStatusKey.String("defunct")
|
|
)
|
|
|
|
// 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)
|
|
}
|
|
|
|
// The attributes used to describe telemetry in the context of databases.
|
|
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")
|
|
|
|
// DBCassandraTableKey is the attribute Key conforming to the
|
|
// "db.cassandra.table" semantic conventions. It represents the name of the
|
|
// primary Cassandra table that the operation is acting upon, including the
|
|
// keyspace name (if applicable).
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: experimental
|
|
// Examples: 'mytable'
|
|
// Note: This mirrors the db.sql.table attribute but references cassandra
|
|
// rather than sql. It is not recommended to attempt any client-side
|
|
// parsing of `db.statement` just to get this property, but it should be
|
|
// set if it is provided by the library being instrumented. If the
|
|
// operation is acting upon an anonymous table, or more than one table,
|
|
// this value MUST NOT be set.
|
|
DBCassandraTableKey = attribute.Key("db.cassandra.table")
|
|
|
|
// DBConnectionStringKey is the attribute Key conforming to the
|
|
// "db.connection_string" semantic conventions. It represents the
|
|
// connection string used to connect to the database. It is recommended to
|
|
// remove embedded credentials.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: experimental
|
|
// Examples: 'Server=(localdb)\\v11.0;Integrated Security=true;'
|
|
DBConnectionStringKey = attribute.Key("db.connection_string")
|
|
|
|
// 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")
|
|
|
|
// DBCosmosDBContainerKey is the attribute Key conforming to the
|
|
// "db.cosmosdb.container" semantic conventions. It represents the cosmos
|
|
// DB container name.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: experimental
|
|
// Examples: 'anystring'
|
|
DBCosmosDBContainerKey = attribute.Key("db.cosmosdb.container")
|
|
|
|
// 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")
|
|
|
|
// 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")
|
|
|
|
// DBInstanceIDKey is the attribute Key conforming to the "db.instance.id"
|
|
// semantic conventions. It represents an identifier (address, unique name,
|
|
// or any other identifier) of the database instance that is executing
|
|
// queries or mutations on the current connection. This is useful in cases
|
|
// where the database is running in a clustered environment and the
|
|
// instrumentation is able to record the node executing the query. The
|
|
// client may obtain this value in databases like MySQL using queries like
|
|
// `select @@hostname`.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: experimental
|
|
// Examples: 'mysql-e26b99z.example.com'
|
|
DBInstanceIDKey = attribute.Key("db.instance.id")
|
|
|
|
// DBJDBCDriverClassnameKey is the attribute Key conforming to the
|
|
// "db.jdbc.driver_classname" semantic conventions. It represents the
|
|
// fully-qualified class name of the [Java Database Connectivity
|
|
// (JDBC)](https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/)
|
|
// driver used to connect.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: experimental
|
|
// Examples: 'org.postgresql.Driver',
|
|
// 'com.microsoft.sqlserver.jdbc.SQLServerDriver'
|
|
DBJDBCDriverClassnameKey = attribute.Key("db.jdbc.driver_classname")
|
|
|
|
// DBMongoDBCollectionKey is the attribute Key conforming to the
|
|
// "db.mongodb.collection" semantic conventions. It represents the MongoDB
|
|
// collection being accessed within the database stated in `db.name`.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: experimental
|
|
// Examples: 'customers', 'products'
|
|
DBMongoDBCollectionKey = attribute.Key("db.mongodb.collection")
|
|
|
|
// DBMSSQLInstanceNameKey is the attribute Key conforming to the
|
|
// "db.mssql.instance_name" semantic conventions. It represents the
|
|
// Microsoft SQL Server [instance
|
|
// name](https://docs.microsoft.com/sql/connect/jdbc/building-the-connection-url?view=sql-server-ver15)
|
|
// connecting to. This name is used to determine the port of a named
|
|
// instance.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: experimental
|
|
// Examples: 'MSSQLSERVER'
|
|
// Note: If setting a `db.mssql.instance_name`, `server.port` is no longer
|
|
// required (but still recommended if non-standard).
|
|
DBMSSQLInstanceNameKey = attribute.Key("db.mssql.instance_name")
|
|
|
|
// DBNameKey is the attribute Key conforming to the "db.name" semantic
|
|
// conventions. It represents the this attribute is used to report the name
|
|
// of the database being accessed. For commands that switch the database,
|
|
// this should be set to the target database (even if the command fails).
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: experimental
|
|
// Examples: 'customers', 'main'
|
|
// Note: In some SQL databases, the database name to be used is called
|
|
// "schema name". In case there are multiple layers that could be
|
|
// considered for database name (e.g. Oracle instance name and schema
|
|
// name), the database name to be used is the more specific layer (e.g.
|
|
// Oracle schema name).
|
|
DBNameKey = attribute.Key("db.name")
|
|
|
|
// DBOperationKey is the attribute Key conforming to the "db.operation"
|
|
// semantic conventions. It represents the name of the operation being
|
|
// executed, e.g. the [MongoDB command
|
|
// name](https://docs.mongodb.com/manual/reference/command/#database-operations)
|
|
// such as `findAndModify`, or the SQL keyword.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: experimental
|
|
// Examples: 'findAndModify', 'HMSET', 'SELECT'
|
|
// Note: When setting this to an SQL keyword, it is not recommended to
|
|
// attempt any client-side parsing of `db.statement` just to get this
|
|
// property, but it should be set if the operation name is provided by the
|
|
// library being instrumented. If the SQL statement has an ambiguous
|
|
// operation, or performs more than one operation, this value may be
|
|
// omitted.
|
|
DBOperationKey = attribute.Key("db.operation")
|
|
|
|
// DBRedisDBIndexKey is the attribute Key conforming to the
|
|
// "db.redis.database_index" semantic conventions. It represents the index
|
|
// of the database being accessed as used in the [`SELECT`
|
|
// command](https://redis.io/commands/select), provided as an integer. To
|
|
// be used instead of the generic `db.name` attribute.
|
|
//
|
|
// Type: int
|
|
// RequirementLevel: Optional
|
|
// Stability: experimental
|
|
// Examples: 0, 1, 15
|
|
DBRedisDBIndexKey = attribute.Key("db.redis.database_index")
|
|
|
|
// DBSQLTableKey is the attribute Key conforming to the "db.sql.table"
|
|
// semantic conventions. It represents the name of the primary table that
|
|
// the operation is acting upon, including the database name (if
|
|
// applicable).
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: experimental
|
|
// Examples: 'public.users', 'customers'
|
|
// Note: It is not recommended to attempt any client-side parsing of
|
|
// `db.statement` just to get this property, but it should be set if it is
|
|
// provided by the library being instrumented. If the operation is acting
|
|
// upon an anonymous table, or more than one table, this value MUST NOT be
|
|
// set.
|
|
DBSQLTableKey = attribute.Key("db.sql.table")
|
|
|
|
// DBStatementKey is the attribute Key conforming to the "db.statement"
|
|
// semantic conventions. It represents the database statement being
|
|
// executed.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: experimental
|
|
// Examples: 'SELECT * FROM wuser_table', 'SET mykey "WuValue"'
|
|
DBStatementKey = attribute.Key("db.statement")
|
|
|
|
// DBSystemKey is the attribute Key conforming to the "db.system" semantic
|
|
// conventions. It represents an identifier for the database management
|
|
// system (DBMS) product being used. See below for a list of well-known
|
|
// identifiers.
|
|
//
|
|
// Type: Enum
|
|
// RequirementLevel: Optional
|
|
// Stability: experimental
|
|
DBSystemKey = attribute.Key("db.system")
|
|
|
|
// DBUserKey is the attribute Key conforming to the "db.user" semantic
|
|
// conventions. It represents the username for accessing the database.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: experimental
|
|
// Examples: 'readonly_user', 'reporting_user'
|
|
DBUserKey = attribute.Key("db.user")
|
|
)
|
|
|
|
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")
|
|
)
|
|
|
|
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")
|
|
)
|
|
|
|
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")
|
|
)
|
|
|
|
// 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)
|
|
}
|
|
|
|
// DBCassandraTable returns an attribute KeyValue conforming to the
|
|
// "db.cassandra.table" semantic conventions. It represents the name of the
|
|
// primary Cassandra table that the operation is acting upon, including the
|
|
// keyspace name (if applicable).
|
|
func DBCassandraTable(val string) attribute.KeyValue {
|
|
return DBCassandraTableKey.String(val)
|
|
}
|
|
|
|
// DBConnectionString returns an attribute KeyValue conforming to the
|
|
// "db.connection_string" semantic conventions. It represents the connection
|
|
// string used to connect to the database. It is recommended to remove embedded
|
|
// credentials.
|
|
func DBConnectionString(val string) attribute.KeyValue {
|
|
return DBConnectionStringKey.String(val)
|
|
}
|
|
|
|
// 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)
|
|
}
|
|
|
|
// DBCosmosDBContainer returns an attribute KeyValue conforming to the
|
|
// "db.cosmosdb.container" semantic conventions. It represents the cosmos DB
|
|
// container name.
|
|
func DBCosmosDBContainer(val string) attribute.KeyValue {
|
|
return DBCosmosDBContainerKey.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)
|
|
}
|
|
|
|
// 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)
|
|
}
|
|
|
|
// DBInstanceID returns an attribute KeyValue conforming to the
|
|
// "db.instance.id" semantic conventions. It represents an identifier (address,
|
|
// unique name, or any other identifier) of the database instance that is
|
|
// executing queries or mutations on the current connection. This is useful in
|
|
// cases where the database is running in a clustered environment and the
|
|
// instrumentation is able to record the node executing the query. The client
|
|
// may obtain this value in databases like MySQL using queries like `select
|
|
// @@hostname`.
|
|
func DBInstanceID(val string) attribute.KeyValue {
|
|
return DBInstanceIDKey.String(val)
|
|
}
|
|
|
|
// DBJDBCDriverClassname returns an attribute KeyValue conforming to the
|
|
// "db.jdbc.driver_classname" semantic conventions. It represents the
|
|
// fully-qualified class name of the [Java Database Connectivity
|
|
// (JDBC)](https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/) driver
|
|
// used to connect.
|
|
func DBJDBCDriverClassname(val string) attribute.KeyValue {
|
|
return DBJDBCDriverClassnameKey.String(val)
|
|
}
|
|
|
|
// DBMongoDBCollection returns an attribute KeyValue conforming to the
|
|
// "db.mongodb.collection" semantic conventions. It represents the MongoDB
|
|
// collection being accessed within the database stated in `db.name`.
|
|
func DBMongoDBCollection(val string) attribute.KeyValue {
|
|
return DBMongoDBCollectionKey.String(val)
|
|
}
|
|
|
|
// DBMSSQLInstanceName returns an attribute KeyValue conforming to the
|
|
// "db.mssql.instance_name" semantic conventions. It represents the Microsoft
|
|
// SQL Server [instance
|
|
// name](https://docs.microsoft.com/sql/connect/jdbc/building-the-connection-url?view=sql-server-ver15)
|
|
// connecting to. This name is used to determine the port of a named instance.
|
|
func DBMSSQLInstanceName(val string) attribute.KeyValue {
|
|
return DBMSSQLInstanceNameKey.String(val)
|
|
}
|
|
|
|
// DBName returns an attribute KeyValue conforming to the "db.name" semantic
|
|
// conventions. It represents the this attribute is used to report the name of
|
|
// the database being accessed. For commands that switch the database, this
|
|
// should be set to the target database (even if the command fails).
|
|
func DBName(val string) attribute.KeyValue {
|
|
return DBNameKey.String(val)
|
|
}
|
|
|
|
// DBOperation returns an attribute KeyValue conforming to the
|
|
// "db.operation" semantic conventions. It represents the name of the operation
|
|
// being executed, e.g. the [MongoDB command
|
|
// name](https://docs.mongodb.com/manual/reference/command/#database-operations)
|
|
// such as `findAndModify`, or the SQL keyword.
|
|
func DBOperation(val string) attribute.KeyValue {
|
|
return DBOperationKey.String(val)
|
|
}
|
|
|
|
// DBRedisDBIndex returns an attribute KeyValue conforming to the
|
|
// "db.redis.database_index" semantic conventions. It represents the index of
|
|
// the database being accessed as used in the [`SELECT`
|
|
// command](https://redis.io/commands/select), provided as an integer. To be
|
|
// used instead of the generic `db.name` attribute.
|
|
func DBRedisDBIndex(val int) attribute.KeyValue {
|
|
return DBRedisDBIndexKey.Int(val)
|
|
}
|
|
|
|
// DBSQLTable returns an attribute KeyValue conforming to the "db.sql.table"
|
|
// semantic conventions. It represents the name of the primary table that the
|
|
// operation is acting upon, including the database name (if applicable).
|
|
func DBSQLTable(val string) attribute.KeyValue {
|
|
return DBSQLTableKey.String(val)
|
|
}
|
|
|
|
// DBStatement returns an attribute KeyValue conforming to the
|
|
// "db.statement" semantic conventions. It represents the database statement
|
|
// being executed.
|
|
func DBStatement(val string) attribute.KeyValue {
|
|
return DBStatementKey.String(val)
|
|
}
|
|
|
|
// DBUser returns an attribute KeyValue conforming to the "db.user" semantic
|
|
// conventions. It represents the username for accessing the database.
|
|
func DBUser(val string) attribute.KeyValue {
|
|
return DBUserKey.String(val)
|
|
}
|
|
|
|
// Describes deprecated HTTP attributes.
|
|
const (
|
|
// HTTPFlavorKey is the attribute Key conforming to the "http.flavor"
|
|
// semantic conventions.
|
|
//
|
|
// Type: Enum
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Deprecated: use `network.protocol.name` instead.
|
|
HTTPFlavorKey = attribute.Key("http.flavor")
|
|
|
|
// HTTPMethodKey is the attribute Key conforming to the "http.method"
|
|
// semantic conventions.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: 'GET', 'POST', 'HEAD'
|
|
// Deprecated: use `http.request.method` instead.
|
|
HTTPMethodKey = attribute.Key("http.method")
|
|
|
|
// HTTPRequestContentLengthKey is the attribute Key conforming to the
|
|
// "http.request_content_length" semantic conventions.
|
|
//
|
|
// Type: int
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: 3495
|
|
// Deprecated: use `http.request.header.content-length` instead.
|
|
HTTPRequestContentLengthKey = attribute.Key("http.request_content_length")
|
|
|
|
// HTTPResponseContentLengthKey is the attribute Key conforming to the
|
|
// "http.response_content_length" semantic conventions.
|
|
//
|
|
// Type: int
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: 3495
|
|
// Deprecated: use `http.response.header.content-length` instead.
|
|
HTTPResponseContentLengthKey = attribute.Key("http.response_content_length")
|
|
|
|
// HTTPSchemeKey is the attribute Key conforming to the "http.scheme"
|
|
// semantic conventions.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: 'http', 'https'
|
|
// Deprecated: use `url.scheme` instead.
|
|
HTTPSchemeKey = attribute.Key("http.scheme")
|
|
|
|
// HTTPStatusCodeKey is the attribute Key conforming to the
|
|
// "http.status_code" semantic conventions.
|
|
//
|
|
// Type: int
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: 200
|
|
// Deprecated: use `http.response.status_code` instead.
|
|
HTTPStatusCodeKey = attribute.Key("http.status_code")
|
|
|
|
// HTTPTargetKey is the attribute Key conforming to the "http.target"
|
|
// semantic conventions.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: '/search?q=OpenTelemetry#SemConv'
|
|
// Deprecated: use `url.path` and `url.query` instead.
|
|
HTTPTargetKey = attribute.Key("http.target")
|
|
|
|
// HTTPURLKey is the attribute Key conforming to the "http.url" semantic
|
|
// conventions.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: 'https://www.foo.bar/search?q=OpenTelemetry#SemConv'
|
|
// Deprecated: use `url.full` instead.
|
|
HTTPURLKey = attribute.Key("http.url")
|
|
|
|
// HTTPUserAgentKey is the attribute Key conforming to the
|
|
// "http.user_agent" semantic conventions.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// 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'
|
|
// Deprecated: use `user_agent.original` instead.
|
|
HTTPUserAgentKey = attribute.Key("http.user_agent")
|
|
)
|
|
|
|
var (
|
|
// HTTP/1.0
|
|
//
|
|
// Deprecated: use `network.protocol.name` instead.
|
|
HTTPFlavorHTTP10 = HTTPFlavorKey.String("1.0")
|
|
// HTTP/1.1
|
|
//
|
|
// Deprecated: use `network.protocol.name` instead.
|
|
HTTPFlavorHTTP11 = HTTPFlavorKey.String("1.1")
|
|
// HTTP/2
|
|
//
|
|
// Deprecated: use `network.protocol.name` instead.
|
|
HTTPFlavorHTTP20 = HTTPFlavorKey.String("2.0")
|
|
// HTTP/3
|
|
//
|
|
// Deprecated: use `network.protocol.name` instead.
|
|
HTTPFlavorHTTP30 = HTTPFlavorKey.String("3.0")
|
|
// SPDY protocol
|
|
//
|
|
// Deprecated: use `network.protocol.name` instead.
|
|
HTTPFlavorSPDY = HTTPFlavorKey.String("SPDY")
|
|
// QUIC protocol
|
|
//
|
|
// Deprecated: use `network.protocol.name` instead.
|
|
HTTPFlavorQUIC = HTTPFlavorKey.String("QUIC")
|
|
)
|
|
|
|
// HTTPMethod returns an attribute KeyValue conforming to the "http.method"
|
|
// semantic conventions.
|
|
//
|
|
// Deprecated: use `http.request.method` instead.
|
|
func HTTPMethod(val string) attribute.KeyValue {
|
|
return HTTPMethodKey.String(val)
|
|
}
|
|
|
|
// HTTPRequestContentLength returns an attribute KeyValue conforming to the
|
|
// "http.request_content_length" semantic conventions.
|
|
//
|
|
// Deprecated: use `http.request.header.content-length` instead.
|
|
func HTTPRequestContentLength(val int) attribute.KeyValue {
|
|
return HTTPRequestContentLengthKey.Int(val)
|
|
}
|
|
|
|
// HTTPResponseContentLength returns an attribute KeyValue conforming to the
|
|
// "http.response_content_length" semantic conventions.
|
|
//
|
|
// Deprecated: use `http.response.header.content-length` instead.
|
|
func HTTPResponseContentLength(val int) attribute.KeyValue {
|
|
return HTTPResponseContentLengthKey.Int(val)
|
|
}
|
|
|
|
// HTTPScheme returns an attribute KeyValue conforming to the "http.scheme"
|
|
// semantic conventions.
|
|
//
|
|
// Deprecated: use `url.scheme` instead.
|
|
func HTTPScheme(val string) attribute.KeyValue {
|
|
return HTTPSchemeKey.String(val)
|
|
}
|
|
|
|
// HTTPStatusCode returns an attribute KeyValue conforming to the
|
|
// "http.status_code" semantic conventions.
|
|
//
|
|
// Deprecated: use `http.response.status_code` instead.
|
|
func HTTPStatusCode(val int) attribute.KeyValue {
|
|
return HTTPStatusCodeKey.Int(val)
|
|
}
|
|
|
|
// HTTPTarget returns an attribute KeyValue conforming to the "http.target"
|
|
// semantic conventions.
|
|
//
|
|
// Deprecated: use `url.path` and `url.query` instead.
|
|
func HTTPTarget(val string) attribute.KeyValue {
|
|
return HTTPTargetKey.String(val)
|
|
}
|
|
|
|
// HTTPURL returns an attribute KeyValue conforming to the "http.url"
|
|
// semantic conventions.
|
|
//
|
|
// Deprecated: use `url.full` instead.
|
|
func HTTPURL(val string) attribute.KeyValue {
|
|
return HTTPURLKey.String(val)
|
|
}
|
|
|
|
// HTTPUserAgent returns an attribute KeyValue conforming to the
|
|
// "http.user_agent" semantic conventions.
|
|
//
|
|
// Deprecated: use `user_agent.original` instead.
|
|
func HTTPUserAgent(val string) attribute.KeyValue {
|
|
return HTTPUserAgentKey.String(val)
|
|
}
|
|
|
|
// These attributes may be used for any network related operation.
|
|
const (
|
|
// NetHostNameKey is the attribute Key conforming to the "net.host.name"
|
|
// semantic conventions.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: 'example.com'
|
|
// Deprecated: use `server.address`.
|
|
NetHostNameKey = attribute.Key("net.host.name")
|
|
|
|
// NetHostPortKey is the attribute Key conforming to the "net.host.port"
|
|
// semantic conventions.
|
|
//
|
|
// Type: int
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: 8080
|
|
// Deprecated: use `server.port`.
|
|
NetHostPortKey = attribute.Key("net.host.port")
|
|
|
|
// NetPeerNameKey is the attribute Key conforming to the "net.peer.name"
|
|
// semantic conventions.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: 'example.com'
|
|
// Deprecated: use `server.address` on client spans and `client.address` on
|
|
// server spans.
|
|
NetPeerNameKey = attribute.Key("net.peer.name")
|
|
|
|
// NetPeerPortKey is the attribute Key conforming to the "net.peer.port"
|
|
// semantic conventions.
|
|
//
|
|
// Type: int
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: 8080
|
|
// Deprecated: use `server.port` on client spans and `client.port` on
|
|
// server spans.
|
|
NetPeerPortKey = attribute.Key("net.peer.port")
|
|
|
|
// NetProtocolNameKey is the attribute Key conforming to the
|
|
// "net.protocol.name" semantic conventions.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: 'amqp', 'http', 'mqtt'
|
|
// Deprecated: use `network.protocol.name`.
|
|
NetProtocolNameKey = attribute.Key("net.protocol.name")
|
|
|
|
// NetProtocolVersionKey is the attribute Key conforming to the
|
|
// "net.protocol.version" semantic conventions.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: '3.1.1'
|
|
// Deprecated: use `network.protocol.version`.
|
|
NetProtocolVersionKey = attribute.Key("net.protocol.version")
|
|
|
|
// NetSockFamilyKey is the attribute Key conforming to the
|
|
// "net.sock.family" semantic conventions.
|
|
//
|
|
// Type: Enum
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Deprecated: use `network.transport` and `network.type`.
|
|
NetSockFamilyKey = attribute.Key("net.sock.family")
|
|
|
|
// NetSockHostAddrKey is the attribute Key conforming to the
|
|
// "net.sock.host.addr" semantic conventions.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: '/var/my.sock'
|
|
// Deprecated: use `network.local.address`.
|
|
NetSockHostAddrKey = attribute.Key("net.sock.host.addr")
|
|
|
|
// NetSockHostPortKey is the attribute Key conforming to the
|
|
// "net.sock.host.port" semantic conventions.
|
|
//
|
|
// Type: int
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: 8080
|
|
// Deprecated: use `network.local.port`.
|
|
NetSockHostPortKey = attribute.Key("net.sock.host.port")
|
|
|
|
// NetSockPeerAddrKey is the attribute Key conforming to the
|
|
// "net.sock.peer.addr" semantic conventions.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: '192.168.0.1'
|
|
// Deprecated: use `network.peer.address`.
|
|
NetSockPeerAddrKey = attribute.Key("net.sock.peer.addr")
|
|
|
|
// NetSockPeerNameKey is the attribute Key conforming to the
|
|
// "net.sock.peer.name" semantic conventions.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: '/var/my.sock'
|
|
// Deprecated: no replacement at this time.
|
|
NetSockPeerNameKey = attribute.Key("net.sock.peer.name")
|
|
|
|
// NetSockPeerPortKey is the attribute Key conforming to the
|
|
// "net.sock.peer.port" semantic conventions.
|
|
//
|
|
// Type: int
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Examples: 65531
|
|
// Deprecated: use `network.peer.port`.
|
|
NetSockPeerPortKey = attribute.Key("net.sock.peer.port")
|
|
|
|
// NetTransportKey is the attribute Key conforming to the "net.transport"
|
|
// semantic conventions.
|
|
//
|
|
// Type: Enum
|
|
// RequirementLevel: Optional
|
|
// Stability: deprecated
|
|
// Deprecated: use `network.transport`.
|
|
NetTransportKey = attribute.Key("net.transport")
|
|
)
|
|
|
|
var (
|
|
// IPv4 address
|
|
//
|
|
// Deprecated: use `network.transport` and `network.type`.
|
|
NetSockFamilyInet = NetSockFamilyKey.String("inet")
|
|
// IPv6 address
|
|
//
|
|
// Deprecated: use `network.transport` and `network.type`.
|
|
NetSockFamilyInet6 = NetSockFamilyKey.String("inet6")
|
|
// Unix domain socket path
|
|
//
|
|
// Deprecated: use `network.transport` and `network.type`.
|
|
NetSockFamilyUnix = NetSockFamilyKey.String("unix")
|
|
)
|
|
|
|
var (
|
|
// ip_tcp
|
|
//
|
|
// Deprecated: use `network.transport`.
|
|
NetTransportTCP = NetTransportKey.String("ip_tcp")
|
|
// ip_udp
|
|
//
|
|
// Deprecated: use `network.transport`.
|
|
NetTransportUDP = NetTransportKey.String("ip_udp")
|
|
// Named or anonymous pipe
|
|
//
|
|
// Deprecated: use `network.transport`.
|
|
NetTransportPipe = NetTransportKey.String("pipe")
|
|
// In-process communication
|
|
//
|
|
// Deprecated: use `network.transport`.
|
|
NetTransportInProc = NetTransportKey.String("inproc")
|
|
// Something else (non IP-based)
|
|
//
|
|
// Deprecated: use `network.transport`.
|
|
NetTransportOther = NetTransportKey.String("other")
|
|
)
|
|
|
|
// NetHostName returns an attribute KeyValue conforming to the
|
|
// "net.host.name" semantic conventions.
|
|
//
|
|
// Deprecated: use `server.address`.
|
|
func NetHostName(val string) attribute.KeyValue {
|
|
return NetHostNameKey.String(val)
|
|
}
|
|
|
|
// NetHostPort returns an attribute KeyValue conforming to the
|
|
// "net.host.port" semantic conventions.
|
|
//
|
|
// Deprecated: use `server.port`.
|
|
func NetHostPort(val int) attribute.KeyValue {
|
|
return NetHostPortKey.Int(val)
|
|
}
|
|
|
|
// NetPeerName returns an attribute KeyValue conforming to the
|
|
// "net.peer.name" semantic conventions.
|
|
//
|
|
// Deprecated: use `server.address` on client spans and `client.address` on
|
|
// server spans.
|
|
func NetPeerName(val string) attribute.KeyValue {
|
|
return NetPeerNameKey.String(val)
|
|
}
|
|
|
|
// NetPeerPort returns an attribute KeyValue conforming to the
|
|
// "net.peer.port" semantic conventions.
|
|
//
|
|
// Deprecated: use `server.port` on client spans and `client.port` on server
|
|
// spans.
|
|
func NetPeerPort(val int) attribute.KeyValue {
|
|
return NetPeerPortKey.Int(val)
|
|
}
|
|
|
|
// NetProtocolName returns an attribute KeyValue conforming to the
|
|
// "net.protocol.name" semantic conventions.
|
|
//
|
|
// Deprecated: use `network.protocol.name`.
|
|
func NetProtocolName(val string) attribute.KeyValue {
|
|
return NetProtocolNameKey.String(val)
|
|
}
|
|
|
|
// NetProtocolVersion returns an attribute KeyValue conforming to the
|
|
// "net.protocol.version" semantic conventions.
|
|
//
|
|
// Deprecated: use `network.protocol.version`.
|
|
func NetProtocolVersion(val string) attribute.KeyValue {
|
|
return NetProtocolVersionKey.String(val)
|
|
}
|
|
|
|
// NetSockHostAddr returns an attribute KeyValue conforming to the
|
|
// "net.sock.host.addr" semantic conventions.
|
|
//
|
|
// Deprecated: use `network.local.address`.
|
|
func NetSockHostAddr(val string) attribute.KeyValue {
|
|
return NetSockHostAddrKey.String(val)
|
|
}
|
|
|
|
// NetSockHostPort returns an attribute KeyValue conforming to the
|
|
// "net.sock.host.port" semantic conventions.
|
|
//
|
|
// Deprecated: use `network.local.port`.
|
|
func NetSockHostPort(val int) attribute.KeyValue {
|
|
return NetSockHostPortKey.Int(val)
|
|
}
|
|
|
|
// NetSockPeerAddr returns an attribute KeyValue conforming to the
|
|
// "net.sock.peer.addr" semantic conventions.
|
|
//
|
|
// Deprecated: use `network.peer.address`.
|
|
func NetSockPeerAddr(val string) attribute.KeyValue {
|
|
return NetSockPeerAddrKey.String(val)
|
|
}
|
|
|
|
// NetSockPeerName returns an attribute KeyValue conforming to the
|
|
// "net.sock.peer.name" semantic conventions.
|
|
//
|
|
// Deprecated: no replacement at this time.
|
|
func NetSockPeerName(val string) attribute.KeyValue {
|
|
return NetSockPeerNameKey.String(val)
|
|
}
|
|
|
|
// NetSockPeerPort returns an attribute KeyValue conforming to the
|
|
// "net.sock.peer.port" semantic conventions.
|
|
//
|
|
// Deprecated: use `network.peer.port`.
|
|
func NetSockPeerPort(val int) attribute.KeyValue {
|
|
return NetSockPeerPortKey.Int(val)
|
|
}
|
|
|
|
// 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)
|
|
}
|
|
|
|
// 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 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.
|
|
// 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")
|
|
)
|
|
|
|
// 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: experimental
|
|
// 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](#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: experimental
|
|
// 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: experimental
|
|
// 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: experimental
|
|
// 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)
|
|
}
|
|
|
|
// Semantic convention attributes in the HTTP namespace.
|
|
const (
|
|
// 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")
|
|
|
|
// 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")
|
|
|
|
// 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 (
|
|
// 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)
|
|
}
|
|
|
|
// 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)
|
|
}
|
|
|
|
// 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)
|
|
}
|
|
|
|
// 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")
|
|
|
|
// 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")
|
|
|
|
// 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")
|
|
|
|
// 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")
|
|
|
|
// MessagingKafkaDestinationPartitionKey is the attribute Key conforming to
|
|
// the "messaging.kafka.destination.partition" semantic conventions. It
|
|
// represents the partition the message is sent to.
|
|
//
|
|
// Type: int
|
|
// RequirementLevel: Optional
|
|
// Stability: experimental
|
|
// Examples: 2
|
|
MessagingKafkaDestinationPartitionKey = attribute.Key("messaging.kafka.destination.partition")
|
|
|
|
// 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")
|
|
|
|
// 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")
|
|
|
|
// MessagingOperationKey is the attribute Key conforming to the
|
|
// "messaging.operation" semantic conventions. It represents a string
|
|
// identifying the kind of messaging operation.
|
|
//
|
|
// Type: Enum
|
|
// RequirementLevel: Optional
|
|
// Stability: experimental
|
|
// Note: If a custom value is used, it MUST be of low cardinality.
|
|
MessagingOperationKey = attribute.Key("messaging.operation")
|
|
|
|
// 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")
|
|
|
|
// 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")
|
|
|
|
// MessagingSystemKey is the attribute Key conforming to the
|
|
// "messaging.system" semantic conventions. It represents an identifier for
|
|
// the messaging system being used. See below for a list of well-known
|
|
// identifiers.
|
|
//
|
|
// Type: Enum
|
|
// RequirementLevel: Optional
|
|
// Stability: experimental
|
|
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
|
|
MessagingOperationPublish = MessagingOperationKey.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
|
|
MessagingOperationCreate = MessagingOperationKey.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
|
|
MessagingOperationReceive = MessagingOperationKey.String("receive")
|
|
// One or more messages are passed to a consumer. This operation refers to push-based scenarios, where consumer register callbacks which get called by messaging SDKs
|
|
MessagingOperationDeliver = MessagingOperationKey.String("deliver")
|
|
)
|
|
|
|
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")
|
|
)
|
|
|
|
var (
|
|
// Apache ActiveMQ
|
|
MessagingSystemActivemq = MessagingSystemKey.String("activemq")
|
|
// Amazon Simple Queue Service (SQS)
|
|
MessagingSystemAWSSqs = MessagingSystemKey.String("aws_sqs")
|
|
// Azure Event Grid
|
|
MessagingSystemAzureEventgrid = MessagingSystemKey.String("azure_eventgrid")
|
|
// Azure Event Hubs
|
|
MessagingSystemAzureEventhubs = MessagingSystemKey.String("azure_eventhubs")
|
|
// Azure Service Bus
|
|
MessagingSystemAzureServicebus = MessagingSystemKey.String("azure_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)
|
|
}
|
|
|
|
// 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)
|
|
}
|
|
|
|
// 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)
|
|
}
|
|
|
|
// 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)
|
|
}
|
|
|
|
// MessagingKafkaDestinationPartition returns an attribute KeyValue
|
|
// conforming to the "messaging.kafka.destination.partition" semantic
|
|
// conventions. It represents the partition the message is sent to.
|
|
func MessagingKafkaDestinationPartition(val int) attribute.KeyValue {
|
|
return MessagingKafkaDestinationPartitionKey.Int(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)
|
|
}
|
|
|
|
// 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)
|
|
}
|
|
|
|
// 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)
|
|
}
|
|
|
|
// 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)
|
|
}
|
|
|
|
// 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
|
|
// version of the protocol specified in `network.protocol.name`.
|
|
//
|
|
// Type: string
|
|
// RequirementLevel: Optional
|
|
// Stability: stable
|
|
// Examples: '3.1.1'
|
|
// Note: `network.protocol.version` refers to the version of the protocol
|
|
// used and might be different from the protocol client's version. If the
|
|
// HTTP client has a version of `0.27.2`, but sends HTTP version `1.1`,
|
|
// this attribute should be set to `1.1`.
|
|
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 version
|
|
// of the protocol specified in `network.protocol.name`.
|
|
func NetworkProtocolVersion(val string) attribute.KeyValue {
|
|
return NetworkProtocolVersionKey.String(val)
|
|
}
|
|
|
|
// 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")
|
|
|
|
// 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 (
|
|
// 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)
|
|
}
|
|
|
|
// 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)
|
|
}
|
|
|
|
// 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)
|
|
}
|
|
|
|
// 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 (
|
|
// 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) and SHOULD NOT be validated or modified except for
|
|
// sanitizing purposes.
|
|
URLFullKey = attribute.Key("url.full")
|
|
|
|
// 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'
|
|
URLPathKey = attribute.Key("url.path")
|
|
|
|
// 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 query string SHOULD be scrubbed when
|
|
// instrumentations can identify it.
|
|
URLQueryKey = attribute.Key("url.query")
|
|
|
|
// 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")
|
|
)
|
|
|
|
// 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)
|
|
}
|
|
|
|
// 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)
|
|
}
|
|
|
|
// 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)
|
|
}
|
|
|
|
// 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)
|
|
}
|
|
|
|
// Describes user-agent attributes.
|
|
const (
|
|
// 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'
|
|
UserAgentOriginalKey = attribute.Key("user_agent.original")
|
|
)
|
|
|
|
// 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)
|
|
}
|
|
|
|
// 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)
|
|
}
|