Expand description
Resource Semantic Conventions
The resource semantic conventions define a set of standardized attributes
to be used in Resource
s.
Usage
use opentelemetry_sdk::{trace::{config, TracerProvider}, Resource};
use opentelemetry_semantic_conventions as semconv;
let _tracer = TracerProvider::builder()
.with_config(config().with_resource(Resource::new(vec![
semconv::resource::SERVICE_NAME.string("my-service"),
semconv::resource::SERVICE_NAMESPACE.string("my-namespace"),
])))
.build();
Constants
- The ARN of an ECS cluster.
- The Amazon Resource Name (ARN) of an ECS container instance.
- The launch type for an ECS task.
- The ARN of an ECS task definition.
- The task definition family this task definition is a member of.
- The revision for this task definition.
- The ARN of an EKS cluster.
- The Amazon Resource Name(s) (ARN) of the AWS log group(s).
- The name(s) of the AWS log group(s) an application is writing to.
- The ARN(s) of the AWS log stream(s).
- The name(s) of the AWS log stream(s) an application is writing to.
- Array of brand name and version separated by a space.
- Preferred language of the user using the browser.
- A boolean that is true if the browser is running on a mobile device.
- The platform on which the browser is running.
- The cloud account ID the resource is assigned to.
- Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running.
- The cloud platform in use.
- Name of the cloud provider.
- The geographical region the resource is running.
- Cloud provider-specific native identifier of the monitored cloud resource (e.g. an ARN on AWS, a fully qualified resource ID on Azure, a full resource name on GCP).
- The command used to run the container (i.e. the command name).
- All the command arguments (including the command/executable itself) run by the container.
- The full command run by the container as a single string representing the full command.
- Container ID. Usually a UUID, as for example used to identify Docker containers. The UUID might be abbreviated.
- Runtime specific image identifier. Usually a hash algorithm followed by a UUID.
- Name of the image the container was built on.
- Container image tag.
- Container name used by container runtime.
- The container runtime managing this container.
- Name of the deployment environment (aka deployment tier).
- A unique identifier representing the device.
- The name of the device manufacturer.
- The model identifier for the device.
- The marketing name for the device model.
- The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version.
- The amount of memory available to the serverless function converted to Bytes.
- The name of the single function that this runtime instance executes.
- The immutable version of the function being executed.
- The name of the Cloud Run execution being run for the Job, as set by the
CLOUD_RUN_EXECUTION
environment variable. - The index for a task within an execution as provided by the
CLOUD_RUN_TASK_INDEX
environment variable. - The hostname of a GCE instance. This is the full value of the default or custom hostname.
- The instance name of a GCE instance. This is the value provided by
host.name
, the visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of the instance as defined by the default internal DNS name. - Unique identifier for the application.
- Commit hash for the current release.
- Time and date the release was created.
- The CPU architecture the host system is running on.
- Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For non-containerized systems, this should be the
machine-id
. See the table below for the sources to use to determine themachine-id
based on operating system. - VM image ID or host OS image ID. For Cloud, this value is from the provider.
- Name of the VM image or OS install the host was instantiated from.
- The version string of the VM image or host OS as defined in Version Attributes.
- Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user.
- Type of host. For Cloud, this must be the machine type.
- The name of the cluster.
- A pseudo-ID for the cluster, set to the UID of the
kube-system
namespace. - The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (
container.name
). - Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec.
- The name of the CronJob.
- The UID of the CronJob.
- The name of the DaemonSet.
- The UID of the DaemonSet.
- The name of the Deployment.
- The UID of the Deployment.
- The name of the Job.
- The UID of the Job.
- The name of the namespace that the pod is running in.
- The name of the Node.
- The UID of the Node.
- The name of the Pod.
- The UID of the Pod.
- The name of the ReplicaSet.
- The UID of the ReplicaSet.
- The name of the StatefulSet.
- The UID of the StatefulSet.
- Human readable (not intended to be parsed) OS version information, like e.g. reported by
ver
orlsb_release -a
commands. - Human readable operating system name.
- The operating system type.
- The version string of the operating system as defined in Version Attributes.
- OTEL_LIBRARY_NAMEDeprecatedDeprecated, use the
otel.scope.name
attribute. - OTEL_LIBRARY_VERSIONDeprecatedDeprecated, use the
otel.scope.version
attribute. - The name of the instrumentation scope - (
InstrumentationScope.Name
in OTLP). - The version of the instrumentation scope - (
InstrumentationScope.Version
in OTLP). - 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 fromGetCommandLineW
. - 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 tomain
. - The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of
GetCommandLineW
. Do not set this if you have to assemble it just for monitoring; useprocess.command_args
instead. - The name of the process executable. On Linux based systems, can be set to the
Name
inproc/[pid]/status
. On Windows, can be set to the base name ofGetProcessImageFileNameW
. - 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 ofGetProcessImageFileNameW
. - The username of the user that owns the process.
- Parent Process identifier (PID).
- Process identifier (PID).
- An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment.
- The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler.
- The version of the runtime of this process, as returned by the runtime without modification.
- The string ID of the service instance.
- Logical name of the service.
- A namespace for
service.name
. - The version string of the service API or implementation. The format is not defined by these conventions.
- The version string of the auto instrumentation agent, if used.
- The language of the telemetry SDK.
- The name of the telemetry SDK as defined above.
- The version string of the telemetry SDK.
- Additional description of the web engine (e.g. detailed version and edition information).
- The name of the web engine.
- The version of the web engine.