View Source OpenTelemetry.SemanticConventions.Resource (opentelemetry_semantic_conventions v0.1.0)
Link to this section Summary
Functions
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
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
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@spec cloud_provider() :: :"cloud.provider"
Name of the cloud provider
iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.cloud_provider()
:"cloud.provider"
@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"
@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"
@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"
@spec container_image_tag() :: :"container.image.tag"
Container image tag
iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.container_image_tag()
:"container.image.tag"
@spec container_name() :: :"container.name"
Container name used by container runtime
iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.container_name()
:"container.name"
@spec container_runtime() :: :"container.runtime"
The container runtime managing this container
iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.container_runtime()
:"container.runtime"
@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"
@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"
@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"
@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 TracerProvideriex> require OpenTelemetry.SemanticConventions.Resource ...> OpenTelemetry.SemanticConventions.Resource.faas_id() :"faas.id"
@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"
@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 thefaas.id
attribute)iex> require OpenTelemetry.SemanticConventions.Resource ...> OpenTelemetry.SemanticConventions.Resource.faas_name() :"faas.name"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@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"
@spec webengine_name() :: :"webengine.name"
The name of the web engine
iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.webengine_name()
:"webengine.name"
@spec webengine_version() :: :"webengine.version"
The version of the web engine
iex> require OpenTelemetry.SemanticConventions.Resource
...> OpenTelemetry.SemanticConventions.Resource.webengine_version()
:"webengine.version"