mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-12-19 11:30:24 +00:00
258 lines
9.5 KiB
Go
258 lines
9.5 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.
|
||
|
|
||
|
package semconv // import "go.opentelemetry.io/otel/semconv"
|
||
|
|
||
|
import "go.opentelemetry.io/otel/attribute"
|
||
|
|
||
|
// Semantic conventions for service resource attribute keys.
|
||
|
const (
|
||
|
// Name of the service.
|
||
|
ServiceNameKey = attribute.Key("service.name")
|
||
|
|
||
|
// A namespace for `service.name`. This needs to have meaning that helps
|
||
|
// to distinguish a group of services. For example, the team name that
|
||
|
// owns a group of services. `service.name` is expected to be unique
|
||
|
// within the same namespace.
|
||
|
ServiceNamespaceKey = attribute.Key("service.namespace")
|
||
|
|
||
|
// A unique identifier of the service instance. In conjunction with the
|
||
|
// `service.name` and `service.namespace` this must be unique.
|
||
|
ServiceInstanceIDKey = attribute.Key("service.instance.id")
|
||
|
|
||
|
// The version of the service API.
|
||
|
ServiceVersionKey = attribute.Key("service.version")
|
||
|
)
|
||
|
|
||
|
// Semantic conventions for telemetry SDK resource attribute keys.
|
||
|
const (
|
||
|
// The name of the telemetry SDK.
|
||
|
//
|
||
|
// The default OpenTelemetry SDK provided by the OpenTelemetry project
|
||
|
// MUST set telemetry.sdk.name to the value `opentelemetry`.
|
||
|
//
|
||
|
// If another SDK is used, this attribute MUST be set to the import path
|
||
|
// of that SDK's package.
|
||
|
//
|
||
|
// The value `opentelemetry` is reserved and MUST NOT be used by
|
||
|
// non-OpenTelemetry SDKs.
|
||
|
TelemetrySDKNameKey = attribute.Key("telemetry.sdk.name")
|
||
|
|
||
|
// The language of the telemetry SDK.
|
||
|
TelemetrySDKLanguageKey = attribute.Key("telemetry.sdk.language")
|
||
|
|
||
|
// The version string of the telemetry SDK.
|
||
|
TelemetrySDKVersionKey = attribute.Key("telemetry.sdk.version")
|
||
|
)
|
||
|
|
||
|
// Semantic conventions for telemetry SDK resource attributes.
|
||
|
var (
|
||
|
TelemetrySDKLanguageGo = TelemetrySDKLanguageKey.String("go")
|
||
|
)
|
||
|
|
||
|
// Semantic conventions for container resource attribute keys.
|
||
|
const (
|
||
|
// A uniquely identifying name for the Container.
|
||
|
ContainerNameKey = attribute.Key("container.name")
|
||
|
|
||
|
// Container ID, usually a UUID, as for example used to
|
||
|
// identify Docker containers. The UUID might be abbreviated.
|
||
|
ContainerIDKey = attribute.Key("container.id")
|
||
|
|
||
|
// Name of the image the container was built on.
|
||
|
ContainerImageNameKey = attribute.Key("container.image.name")
|
||
|
|
||
|
// Container image tag.
|
||
|
ContainerImageTagKey = attribute.Key("container.image.tag")
|
||
|
)
|
||
|
|
||
|
// Semantic conventions for Function-as-a-Service resource attribute keys.
|
||
|
const (
|
||
|
// A uniquely identifying name for the FaaS.
|
||
|
FaaSNameKey = attribute.Key("faas.name")
|
||
|
|
||
|
// The unique name of the function being executed.
|
||
|
FaaSIDKey = attribute.Key("faas.id")
|
||
|
|
||
|
// The version of the function being executed.
|
||
|
FaaSVersionKey = attribute.Key("faas.version")
|
||
|
|
||
|
// The execution environment identifier.
|
||
|
FaaSInstanceKey = attribute.Key("faas.instance")
|
||
|
)
|
||
|
|
||
|
// Semantic conventions for operating system process resource attribute keys.
|
||
|
const (
|
||
|
// Process identifier (PID).
|
||
|
ProcessPIDKey = attribute.Key("process.pid")
|
||
|
// The name of the process executable. On Linux based systems, can be
|
||
|
// set to the `Name` in `proc/[pid]/status`. On Windows, can be set to
|
||
|
// the base name of `GetProcessImageFileNameW`.
|
||
|
ProcessExecutableNameKey = attribute.Key("process.executable.name")
|
||
|
// The full path to the process executable. On Linux based systems, can
|
||
|
// be set to the target of `proc/[pid]/exe`. On Windows, can be set to
|
||
|
// the result of `GetProcessImageFileNameW`.
|
||
|
ProcessExecutablePathKey = attribute.Key("process.executable.path")
|
||
|
// The command used to launch the process (i.e. the command name). On
|
||
|
// Linux based systems, can be set to the zeroth string in
|
||
|
// `proc/[pid]/cmdline`. On Windows, can be set to the first parameter
|
||
|
// extracted from `GetCommandLineW`.
|
||
|
ProcessCommandKey = attribute.Key("process.command")
|
||
|
// The full command used to launch the process. The value can be either
|
||
|
// a list of strings representing the ordered list of arguments, or a
|
||
|
// single string representing the full command. On Linux based systems,
|
||
|
// can be set to the list of null-delimited strings extracted from
|
||
|
// `proc/[pid]/cmdline`. On Windows, can be set to the result of
|
||
|
// `GetCommandLineW`.
|
||
|
ProcessCommandLineKey = attribute.Key("process.command_line")
|
||
|
// All the command arguments (including the command/executable itself)
|
||
|
// as received by the process. On Linux-based systems (and some other
|
||
|
// Unixoid systems supporting procfs), can be set according to the list
|
||
|
// of null-delimited strings extracted from `proc/[pid]/cmdline`. For
|
||
|
// libc-based executables, this would be the full argv vector passed to
|
||
|
// `main`.
|
||
|
ProcessCommandArgsKey = attribute.Key("process.command_args")
|
||
|
// The username of the user that owns the process.
|
||
|
ProcessOwnerKey = attribute.Key("process.owner")
|
||
|
// The name of the runtime of this process. For compiled native
|
||
|
// binaries, this SHOULD be the name of the compiler.
|
||
|
ProcessRuntimeNameKey = attribute.Key("process.runtime.name")
|
||
|
// The version of the runtime of this process, as returned by the
|
||
|
// runtime without modification.
|
||
|
ProcessRuntimeVersionKey = attribute.Key("process.runtime.version")
|
||
|
// An additional description about the runtime of the process, for
|
||
|
// example a specific vendor customization of the runtime environment.
|
||
|
ProcessRuntimeDescriptionKey = attribute.Key("process.runtime.description")
|
||
|
)
|
||
|
|
||
|
// Semantic conventions for Kubernetes resource attribute keys.
|
||
|
const (
|
||
|
// A uniquely identifying name for the Kubernetes cluster. Kubernetes
|
||
|
// does not have cluster names as an internal concept so this may be
|
||
|
// set to any meaningful value within the environment. For example,
|
||
|
// GKE clusters have a name which can be used for this attribute.
|
||
|
K8SClusterNameKey = attribute.Key("k8s.cluster.name")
|
||
|
|
||
|
// The name of the Node.
|
||
|
K8SNodeNameKey = attribute.Key("k8s.node.name")
|
||
|
|
||
|
// The UID of the Node.
|
||
|
K8SNodeUIDKey = attribute.Key("k8s.node.uid")
|
||
|
|
||
|
// The name of the namespace that the pod is running in.
|
||
|
K8SNamespaceNameKey = attribute.Key("k8s.namespace.name")
|
||
|
|
||
|
// The uid of the Pod.
|
||
|
K8SPodUIDKey = attribute.Key("k8s.pod.uid")
|
||
|
|
||
|
// The name of the pod.
|
||
|
K8SPodNameKey = attribute.Key("k8s.pod.name")
|
||
|
|
||
|
// The name of the Container in a Pod template.
|
||
|
K8SContainerNameKey = attribute.Key("k8s.container.name")
|
||
|
|
||
|
// The uid of the ReplicaSet.
|
||
|
K8SReplicaSetUIDKey = attribute.Key("k8s.replicaset.uid")
|
||
|
|
||
|
// The name of the ReplicaSet.
|
||
|
K8SReplicaSetNameKey = attribute.Key("k8s.replicaset.name")
|
||
|
|
||
|
// The uid of the Deployment.
|
||
|
K8SDeploymentUIDKey = attribute.Key("k8s.deployment.uid")
|
||
|
|
||
|
// The name of the deployment.
|
||
|
K8SDeploymentNameKey = attribute.Key("k8s.deployment.name")
|
||
|
|
||
|
// The uid of the StatefulSet.
|
||
|
K8SStatefulSetUIDKey = attribute.Key("k8s.statefulset.uid")
|
||
|
|
||
|
// The name of the StatefulSet.
|
||
|
K8SStatefulSetNameKey = attribute.Key("k8s.statefulset.name")
|
||
|
|
||
|
// The uid of the DaemonSet.
|
||
|
K8SDaemonSetUIDKey = attribute.Key("k8s.daemonset.uid")
|
||
|
|
||
|
// The name of the DaemonSet.
|
||
|
K8SDaemonSetNameKey = attribute.Key("k8s.daemonset.name")
|
||
|
|
||
|
// The uid of the Job.
|
||
|
K8SJobUIDKey = attribute.Key("k8s.job.uid")
|
||
|
|
||
|
// The name of the Job.
|
||
|
K8SJobNameKey = attribute.Key("k8s.job.name")
|
||
|
|
||
|
// The uid of the CronJob.
|
||
|
K8SCronJobUIDKey = attribute.Key("k8s.cronjob.uid")
|
||
|
|
||
|
// The name of the CronJob.
|
||
|
K8SCronJobNameKey = attribute.Key("k8s.cronjob.name")
|
||
|
)
|
||
|
|
||
|
// Semantic conventions for OS resource attribute keys.
|
||
|
const (
|
||
|
// The operating system type.
|
||
|
OSTypeKey = attribute.Key("os.type")
|
||
|
// Human readable (not intended to be parsed) OS version information.
|
||
|
OSDescriptionKey = attribute.Key("os.description")
|
||
|
)
|
||
|
|
||
|
// Semantic conventions for host resource attribute keys.
|
||
|
const (
|
||
|
// A uniquely identifying name for the host: 'hostname', FQDN, or user specified name
|
||
|
HostNameKey = attribute.Key("host.name")
|
||
|
|
||
|
// Unique host ID. For cloud environments this will be the instance ID.
|
||
|
HostIDKey = attribute.Key("host.id")
|
||
|
|
||
|
// Type of host. For cloud environments this will be the machine type.
|
||
|
HostTypeKey = attribute.Key("host.type")
|
||
|
|
||
|
// Name of the OS or VM image the host is running.
|
||
|
HostImageNameKey = attribute.Key("host.image.name")
|
||
|
|
||
|
// Identifier of the image the host is running.
|
||
|
HostImageIDKey = attribute.Key("host.image.id")
|
||
|
|
||
|
// Version of the image the host is running.
|
||
|
HostImageVersionKey = attribute.Key("host.image.version")
|
||
|
)
|
||
|
|
||
|
// Semantic conventions for cloud environment resource attribute keys.
|
||
|
const (
|
||
|
// Name of the cloud provider.
|
||
|
CloudProviderKey = attribute.Key("cloud.provider")
|
||
|
|
||
|
// The account ID from the cloud provider used for authorization.
|
||
|
CloudAccountIDKey = attribute.Key("cloud.account.id")
|
||
|
|
||
|
// Geographical region where this resource is.
|
||
|
CloudRegionKey = attribute.Key("cloud.region")
|
||
|
|
||
|
// Zone of the region where this resource is.
|
||
|
CloudZoneKey = attribute.Key("cloud.zone")
|
||
|
)
|
||
|
|
||
|
// Semantic conventions for common cloud provider resource attributes.
|
||
|
var (
|
||
|
CloudProviderAWS = CloudProviderKey.String("aws")
|
||
|
CloudProviderAzure = CloudProviderKey.String("azure")
|
||
|
CloudProviderGCP = CloudProviderKey.String("gcp")
|
||
|
)
|
||
|
|
||
|
// Semantic conventions for deployment attributes.
|
||
|
const (
|
||
|
// Name of the deployment environment (aka deployment tier); e.g. (staging, production).
|
||
|
DeploymentEnvironmentKey = attribute.Key("deployment.environment")
|
||
|
)
|