View Source OpenTelemetry.SemanticConventions.Resource (opentelemetry_semantic_conventions v0.1.0)

Link to this section Summary

Functions

The Amazon Resource Name (ARN) of an ECS container instance

The launch type for an ECS task

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

The platform on which the browser is running

Full user-agent string provided by the browser

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

Container ID. Usually a UUID, as for example used to identify Docker containers. The UUID might be abbreviated

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 unique ID of the single function that this runtime instance executes

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 in MiB

The name of the single function that this runtime instance executes

The immutable version of the function being executed

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

VM 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 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

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 or lsb_release -a commands

Human readable operating system name

The operating system type

The version string of the operating system as defined in Version Attributes

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

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

The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of GetCommandLineW. Do not set this if you have to assemble it just for monitoring; use process.command_args instead

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

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

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 schema url for telemetry resources.

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 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

Link to this section Functions

Link to this macro

aws_ecs_cluster_arn()

View Source (macro)
@spec aws_ecs_cluster_arn() :: :"aws.ecs.cluster.arn"

The ARN of an ECS cluster

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.aws_ecs_cluster_arn()
:"aws.ecs.cluster.arn"
Link to this macro

aws_ecs_container_arn()

View Source (macro)
@spec aws_ecs_container_arn() :: :"aws.ecs.container.arn"

The Amazon Resource Name (ARN) of an ECS container instance

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.aws_ecs_container_arn()
:"aws.ecs.container.arn"
Link to this macro

aws_ecs_launchtype()

View Source (macro)
@spec aws_ecs_launchtype() :: :"aws.ecs.launchtype"

The launch type for an ECS task

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.aws_ecs_launchtype()
:"aws.ecs.launchtype"
Link to this macro

aws_ecs_task_arn()

View Source (macro)
@spec aws_ecs_task_arn() :: :"aws.ecs.task.arn"

The ARN of an ECS task definition

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.aws_ecs_task_arn()
:"aws.ecs.task.arn"
Link to this macro

aws_ecs_task_family()

View Source (macro)
@spec aws_ecs_task_family() :: :"aws.ecs.task.family"

The task definition family this task definition is a member of

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.aws_ecs_task_family()
:"aws.ecs.task.family"
Link to this macro

aws_ecs_task_revision()

View Source (macro)
@spec aws_ecs_task_revision() :: :"aws.ecs.task.revision"

The revision for this task definition

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.aws_ecs_task_revision()
:"aws.ecs.task.revision"
Link to this macro

aws_eks_cluster_arn()

View Source (macro)
@spec aws_eks_cluster_arn() :: :"aws.eks.cluster.arn"

The ARN of an EKS cluster

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.aws_eks_cluster_arn()
:"aws.eks.cluster.arn"
Link to this macro

aws_log_group_arns()

View Source (macro)
@spec aws_log_group_arns() :: :"aws.log.group.arns"

The Amazon Resource Name(s) (ARN) of the AWS log group(s)

notes

Notes

See the log group ARN format documentation

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.aws_log_group_arns()
:"aws.log.group.arns"
Link to this macro

aws_log_group_names()

View Source (macro)
@spec aws_log_group_names() :: :"aws.log.group.names"

The name(s) of the AWS log group(s) an application is writing to

notes

Notes

Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.aws_log_group_names()
:"aws.log.group.names"
Link to this macro

aws_log_stream_arns()

View Source (macro)
@spec aws_log_stream_arns() :: :"aws.log.stream.arns"

The ARN(s) of the AWS log stream(s)

notes

Notes

See the log stream ARN format documentation. One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.aws_log_stream_arns()
:"aws.log.stream.arns"
Link to this macro

aws_log_stream_names()

View Source (macro)
@spec aws_log_stream_names() :: :"aws.log.stream.names"

The name(s) of the AWS log stream(s) an application is writing to

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.aws_log_stream_names()
:"aws.log.stream.names"
Link to this macro

browser_brands()

View Source (macro)
@spec browser_brands() :: :"browser.brands"

Array of brand name and version separated by a space

notes

Notes

This value is intended to be taken from the UA client hints API (navigator.userAgentData.brands)

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.browser_brands()
:"browser.brands"
Link to this macro

browser_platform()

View Source (macro)
@spec browser_platform() :: :"browser.platform"

The platform on which the browser is running

notes

Notes

This value is intended to be taken from the UA client hints API (navigator.userAgentData.platform). If unavailable, the legacy navigator.platform API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the values to be consistent. The list of possible values is defined in the W3C User-Agent Client Hints specification. Note that some (but not all) of these values can overlap with values in the os.type and os.name attributes. However, for consistency, the values in the browser.platform attribute should capture the exact value that the user agent provides

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.browser_platform()
:"browser.platform"
Link to this macro

browser_user_agent()

View Source (macro)
@spec browser_user_agent() :: :"browser.user_agent"

Full user-agent string provided by the browser

notes

Notes

The user-agent value SHOULD be provided only from browsers that do not have a mechanism to retrieve brands and platform individually from the User-Agent Client Hints API. To retrieve the value, the legacy navigator.userAgent API can be used

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.browser_user_agent()
:"browser.user_agent"
Link to this macro

cloud_account_id()

View Source (macro)
@spec cloud_account_id() :: :"cloud.account.id"

The cloud account ID the resource is assigned to

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.cloud_account_id()
:"cloud.account.id"
Link to this macro

cloud_availability_zone()

View Source (macro)
@spec cloud_availability_zone() :: :"cloud.availability_zone"

Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running

notes

Notes

Availability zones are called "zones" on Alibaba Cloud and Google Cloud

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.cloud_availability_zone()
:"cloud.availability_zone"
Link to this macro

cloud_platform()

View Source (macro)
@spec cloud_platform() :: :"cloud.platform"

The cloud platform in use

notes

Notes

The prefix of the service SHOULD match the one specified in cloud.provider

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.cloud_platform()
:"cloud.platform"
Link to this macro

cloud_provider()

View Source (macro)
@spec cloud_provider() :: :"cloud.provider"

Name of the cloud provider

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.cloud_provider()
:"cloud.provider"
Link to this macro

cloud_region()

View Source (macro)
@spec cloud_region() :: :"cloud.region"

The geographical region the resource is running

notes

Notes

Refer to your provider's docs to see the available regions, for example Alibaba Cloud regions, AWS regions, Azure regions, Google Cloud regions, or Tencent Cloud regions

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.cloud_region()
:"cloud.region"
Link to this macro

container_id()

View Source (macro)
@spec container_id() :: :"container.id"

Container ID. Usually a UUID, as for example used to identify Docker containers. The UUID might be abbreviated

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.container_id()
:"container.id"
Link to this macro

container_image_name()

View Source (macro)
@spec container_image_name() :: :"container.image.name"

Name of the image the container was built on

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.container_image_name()
:"container.image.name"
Link to this macro

container_image_tag()

View Source (macro)
@spec container_image_tag() :: :"container.image.tag"

Container image tag

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.container_image_tag()
:"container.image.tag"
Link to this macro

container_name()

View Source (macro)
@spec container_name() :: :"container.name"

Container name used by container runtime

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.container_name()
:"container.name"
Link to this macro

container_runtime()

View Source (macro)
@spec container_runtime() :: :"container.runtime"

The container runtime managing this container

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.container_runtime()
:"container.runtime"
Link to this macro

deployment_environment()

View Source (macro)
@spec deployment_environment() :: :"deployment.environment"

Name of the deployment environment (aka deployment tier)

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.deployment_environment()
:"deployment.environment"
@spec device_id() :: :"device.id"

A unique identifier representing the device

notes

Notes

The device identifier MUST only be defined using the values outlined below. This value is not an advertising identifier and MUST NOT be used as such. On iOS (Swift or Objective-C), this value MUST be equal to the vendor identifier. On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation ID or a globally unique UUID which is persisted across sessions in your application. More information can be found here on best practices and exact implementation details. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply, ensure you do your own due diligence

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.device_id()
:"device.id"
Link to this macro

device_manufacturer()

View Source (macro)
@spec device_manufacturer() :: :"device.manufacturer"

The name of the device manufacturer

notes

Notes

The Android OS provides this field via Build. iOS apps SHOULD hardcode the value Apple

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.device_manufacturer()
:"device.manufacturer"
Link to this macro

device_model_identifier()

View Source (macro)
@spec device_model_identifier() :: :"device.model.identifier"

The model identifier for the device

notes

Notes

It's recommended this value represents a machine readable version of the model identifier rather than the market or consumer-friendly name of the device

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.device_model_identifier()
:"device.model.identifier"
Link to this macro

device_model_name()

View Source (macro)
@spec device_model_name() :: :"device.model.name"

The marketing name for the device model

notes

Notes

It's recommended this value represents a human readable version of the device model rather than a machine readable alternative

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.device_model_name()
:"device.model.name"
@spec faas_id() :: :"faas.id"

The unique ID of the single function that this runtime instance executes

notes

Notes

On some cloud providers, it may not be possible to determine the full ID at startup, so consider setting faas.id as a span attribute instead.

The exact value to use for faas.id depends on the cloud provider:

  • AWS Lambda: The function ARN. Take care not to use the "invoked ARN" directly but replace any alias suffix with the resolved function version, as the same runtime instance may be invokable with multiple different aliases.

  • GCP: The URI of the resource

  • Azure: The Fully Qualified Resource ID of the invoked function, not the function app, having the form /subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>. This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share a TracerProvider

    iex> require OpenTelemetry.SemanticConventions.Resource ...> OpenTelemetry.SemanticConventions.Resource.faas_id() :"faas.id"

Link to this macro

faas_instance()

View Source (macro)
@spec faas_instance() :: :"faas.instance"

The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version

notes

Notes

  • AWS Lambda: Use the (full) log stream name

    iex> require OpenTelemetry.SemanticConventions.Resource ...> OpenTelemetry.SemanticConventions.Resource.faas_instance() :"faas.instance"

Link to this macro

faas_max_memory()

View Source (macro)
@spec faas_max_memory() :: :"faas.max_memory"

The amount of memory available to the serverless function in MiB

notes

Notes

It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable AWS_LAMBDA_FUNCTION_MEMORY_SIZE provides this information

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.faas_max_memory()
:"faas.max_memory"
@spec faas_name() :: :"faas.name"

The name of the single function that this runtime instance executes

notes

Notes

This is the name of the function as configured/deployed on the FaaS platform and is usually different from the name of the callback function (which may be stored in the code.namespace/code.function span attributes).

For some cloud providers, the above definition is ambiguous. The following definition of function name MUST be used for this attribute (and consequently the span name) for the listed cloud providers/products:

  • Azure: The full name <FUNCAPP>/<FUNC>, i.e., function app name followed by a forward slash followed by the function name (this form can also be seen in the resource JSON for the function). This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share a TracerProvider (see also the faas.id attribute)

    iex> require OpenTelemetry.SemanticConventions.Resource ...> OpenTelemetry.SemanticConventions.Resource.faas_name() :"faas.name"

Link to this macro

faas_version()

View Source (macro)
@spec faas_version() :: :"faas.version"

The immutable version of the function being executed

notes

Notes

Depending on the cloud provider and platform, use:

  • AWS Lambda: The function version (an integer represented as a decimal string).

  • Google Cloud Run: The revision (i.e., the function name plus the revision suffix).

  • Google Cloud Functions: The value of the K_REVISION environment variable.

  • Azure Functions: Not applicable. Do not set this attribute

    iex> require OpenTelemetry.SemanticConventions.Resource ...> OpenTelemetry.SemanticConventions.Resource.faas_version() :"faas.version"

@spec host_arch() :: :"host.arch"

The CPU architecture the host system is running on

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.host_arch()
:"host.arch"
@spec host_id() :: :"host.id"

Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.host_id()
:"host.id"
Link to this macro

host_image_id()

View Source (macro)
@spec host_image_id() :: :"host.image.id"

VM image ID. For Cloud, this value is from the provider

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.host_image_id()
:"host.image.id"
Link to this macro

host_image_name()

View Source (macro)
@spec host_image_name() :: :"host.image.name"

Name of the VM image or OS install the host was instantiated from

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.host_image_name()
:"host.image.name"
Link to this macro

host_image_version()

View Source (macro)
@spec host_image_version() :: :"host.image.version"

The version string of the VM image as defined in Version Attributes

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.host_image_version()
:"host.image.version"
@spec host_name() :: :"host.name"

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

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.host_name()
:"host.name"
@spec host_type() :: :"host.type"

Type of host. For Cloud, this must be the machine type

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.host_type()
:"host.type"
Link to this macro

k8s_cluster_name()

View Source (macro)
@spec k8s_cluster_name() :: :"k8s.cluster.name"

The name of the cluster

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_cluster_name()
:"k8s.cluster.name"
Link to this macro

k8s_container_name()

View Source (macro)
@spec k8s_container_name() :: :"k8s.container.name"

The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (container.name)

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_container_name()
:"k8s.container.name"
Link to this macro

k8s_container_restart_count()

View Source (macro)
@spec k8s_container_restart_count() :: :"k8s.container.restart_count"

Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_container_restart_count()
:"k8s.container.restart_count"
Link to this macro

k8s_cronjob_name()

View Source (macro)
@spec k8s_cronjob_name() :: :"k8s.cronjob.name"

The name of the CronJob

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_cronjob_name()
:"k8s.cronjob.name"
Link to this macro

k8s_cronjob_uid()

View Source (macro)
@spec k8s_cronjob_uid() :: :"k8s.cronjob.uid"

The UID of the CronJob

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_cronjob_uid()
:"k8s.cronjob.uid"
Link to this macro

k8s_daemonset_name()

View Source (macro)
@spec k8s_daemonset_name() :: :"k8s.daemonset.name"

The name of the DaemonSet

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_daemonset_name()
:"k8s.daemonset.name"
Link to this macro

k8s_daemonset_uid()

View Source (macro)
@spec k8s_daemonset_uid() :: :"k8s.daemonset.uid"

The UID of the DaemonSet

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_daemonset_uid()
:"k8s.daemonset.uid"
Link to this macro

k8s_deployment_name()

View Source (macro)
@spec k8s_deployment_name() :: :"k8s.deployment.name"

The name of the Deployment

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_deployment_name()
:"k8s.deployment.name"
Link to this macro

k8s_deployment_uid()

View Source (macro)
@spec k8s_deployment_uid() :: :"k8s.deployment.uid"

The UID of the Deployment

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_deployment_uid()
:"k8s.deployment.uid"
Link to this macro

k8s_job_name()

View Source (macro)
@spec k8s_job_name() :: :"k8s.job.name"

The name of the Job

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_job_name()
:"k8s.job.name"
@spec k8s_job_uid() :: :"k8s.job.uid"

The UID of the Job

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_job_uid()
:"k8s.job.uid"
Link to this macro

k8s_namespace_name()

View Source (macro)
@spec k8s_namespace_name() :: :"k8s.namespace.name"

The name of the namespace that the pod is running in

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_namespace_name()
:"k8s.namespace.name"
Link to this macro

k8s_node_name()

View Source (macro)
@spec k8s_node_name() :: :"k8s.node.name"

The name of the Node

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_node_name()
:"k8s.node.name"
Link to this macro

k8s_node_uid()

View Source (macro)
@spec k8s_node_uid() :: :"k8s.node.uid"

The UID of the Node

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_node_uid()
:"k8s.node.uid"
Link to this macro

k8s_pod_name()

View Source (macro)
@spec k8s_pod_name() :: :"k8s.pod.name"

The name of the Pod

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_pod_name()
:"k8s.pod.name"
@spec k8s_pod_uid() :: :"k8s.pod.uid"

The UID of the Pod

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_pod_uid()
:"k8s.pod.uid"
Link to this macro

k8s_replicaset_name()

View Source (macro)
@spec k8s_replicaset_name() :: :"k8s.replicaset.name"

The name of the ReplicaSet

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_replicaset_name()
:"k8s.replicaset.name"
Link to this macro

k8s_replicaset_uid()

View Source (macro)
@spec k8s_replicaset_uid() :: :"k8s.replicaset.uid"

The UID of the ReplicaSet

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_replicaset_uid()
:"k8s.replicaset.uid"
Link to this macro

k8s_statefulset_name()

View Source (macro)
@spec k8s_statefulset_name() :: :"k8s.statefulset.name"

The name of the StatefulSet

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_statefulset_name()
:"k8s.statefulset.name"
Link to this macro

k8s_statefulset_uid()

View Source (macro)
@spec k8s_statefulset_uid() :: :"k8s.statefulset.uid"

The UID of the StatefulSet

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.k8s_statefulset_uid()
:"k8s.statefulset.uid"
Link to this macro

os_description()

View Source (macro)
@spec os_description() :: :"os.description"

Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.os_description()
:"os.description"
@spec os_name() :: :"os.name"

Human readable operating system name

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.os_name()
:"os.name"
@spec os_type() :: :"os.type"

The operating system type

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.os_type()
:"os.type"
@spec os_version() :: :"os.version"

The version string of the operating system as defined in Version Attributes

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.os_version()
:"os.version"
Link to this macro

process_command()

View Source (macro)
@spec process_command() :: :"process.command"

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

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.process_command()
:"process.command"
Link to this macro

process_command_args()

View Source (macro)
@spec process_command_args() :: :"process.command_args"

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

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.process_command_args()
:"process.command_args"
Link to this macro

process_command_line()

View Source (macro)
@spec process_command_line() :: :"process.command_line"

The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of GetCommandLineW. Do not set this if you have to assemble it just for monitoring; use process.command_args instead

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.process_command_line()
:"process.command_line"
Link to this macro

process_executable_name()

View Source (macro)
@spec process_executable_name() :: :"process.executable.name"

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

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.process_executable_name()
:"process.executable.name"
Link to this macro

process_executable_path()

View Source (macro)
@spec process_executable_path() :: :"process.executable.path"

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

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.process_executable_path()
:"process.executable.path"
Link to this macro

process_owner()

View Source (macro)
@spec process_owner() :: :"process.owner"

The username of the user that owns the process

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.process_owner()
:"process.owner"
Link to this macro

process_parent_pid()

View Source (macro)
@spec process_parent_pid() :: :"process.parent_pid"

Parent Process identifier (PID)

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.process_parent_pid()
:"process.parent_pid"
@spec process_pid() :: :"process.pid"

Process identifier (PID)

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.process_pid()
:"process.pid"
Link to this macro

process_runtime_description()

View Source (macro)
@spec process_runtime_description() :: :"process.runtime.description"

An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.process_runtime_description()
:"process.runtime.description"
Link to this macro

process_runtime_name()

View Source (macro)
@spec process_runtime_name() :: :"process.runtime.name"

The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.process_runtime_name()
:"process.runtime.name"
Link to this macro

process_runtime_version()

View Source (macro)
@spec process_runtime_version() :: :"process.runtime.version"

The version of the runtime of this process, as returned by the runtime without modification

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.process_runtime_version()
:"process.runtime.version"
Link to this macro

resource_schema_url()

View Source (macro)
@spec resource_schema_url() :: String.t()

The schema url for telemetry resources.

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.resource_schema_url()
"https://opentelemetry.io/schemas/1.13.0"
Link to this macro

service_instance_id()

View Source (macro)
@spec service_instance_id() :: :"service.instance.id"

The string ID of the service instance

notes

Notes

MUST be unique for each instance of the same service.namespace,service.name pair (in other words service.namespace,service.name,service.instance.id triplet MUST be globally unique). The ID helps to distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled service). It is preferable for the ID to be persistent and stay the same for the lifetime of the service instance, however it is acceptable that the ID is ephemeral and changes during important lifetime events for the service (e.g. service restarts). If the service has no inherent unique ID that can be used as the value of this attribute it is recommended to generate a random Version 1 or Version 4 RFC 4122 UUID (services aiming for reproducible UUIDs may also use Version 5, see RFC 4122 for more recommendations)

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.service_instance_id()
:"service.instance.id"
Link to this macro

service_name()

View Source (macro)
@spec service_name() :: :"service.name"

Logical name of the service

notes

Notes

MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to unknown_service: concatenated with process.executable.name, e.g. unknown_service:bash. If process.executable.name is not available, the value MUST be set to unknown_service

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.service_name()
:"service.name"
Link to this macro

service_namespace()

View Source (macro)
@spec service_namespace() :: :"service.namespace"

A namespace for service.name

notes

Notes

A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. service.name is expected to be unique within the same namespace. If service.namespace is not specified in the Resource then service.name is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.service_namespace()
:"service.namespace"
Link to this macro

service_version()

View Source (macro)
@spec service_version() :: :"service.version"

The version string of the service API or implementation

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.service_version()
:"service.version"
Link to this macro

telemetry_auto_version()

View Source (macro)
@spec telemetry_auto_version() :: :"telemetry.auto.version"

The version string of the auto instrumentation agent, if used

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.telemetry_auto_version()
:"telemetry.auto.version"
Link to this macro

telemetry_sdk_language()

View Source (macro)
@spec telemetry_sdk_language() :: :"telemetry.sdk.language"

The language of the telemetry SDK

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.telemetry_sdk_language()
:"telemetry.sdk.language"
Link to this macro

telemetry_sdk_name()

View Source (macro)
@spec telemetry_sdk_name() :: :"telemetry.sdk.name"

The name of the telemetry SDK as defined above

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.telemetry_sdk_name()
:"telemetry.sdk.name"
Link to this macro

telemetry_sdk_version()

View Source (macro)
@spec telemetry_sdk_version() :: :"telemetry.sdk.version"

The version string of the telemetry SDK

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.telemetry_sdk_version()
:"telemetry.sdk.version"
Link to this macro

webengine_description()

View Source (macro)
@spec webengine_description() :: :"webengine.description"

Additional description of the web engine (e.g. detailed version and edition information)

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.webengine_description()
:"webengine.description"
Link to this macro

webengine_name()

View Source (macro)
@spec webengine_name() :: :"webengine.name"

The name of the web engine

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.webengine_name()
:"webengine.name"
Link to this macro

webengine_version()

View Source (macro)
@spec webengine_version() :: :"webengine.version"

The version of the web engine

iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.webengine_version()
:"webengine.version"