org.apache.rocketmq.shaded.io.opentelemetry.semconv.resource.attributes.ResourceAttributes Maven / Gradle / Ivy
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package org.apache.rocketmq.shaded.io.opentelemetry.semconv.resource.attributes;
import static org.apache.rocketmq.shaded.io.opentelemetry.api.common.AttributeKey.longKey;
import static org.apache.rocketmq.shaded.io.opentelemetry.api.common.AttributeKey.stringArrayKey;
import static org.apache.rocketmq.shaded.io.opentelemetry.api.common.AttributeKey.stringKey;
import org.apache.rocketmq.shaded.io.opentelemetry.api.common.AttributeKey;
import java.util.List;
// DO NOT EDIT, this is an Auto-generated file from
// buildscripts/semantic-convention/templates/SemanticAttributes.java.j2
public final class ResourceAttributes {
/** The URL of the OpenTelemetry schema for these keys and values. */
public static final String SCHEMA_URL = "https://opentelemetry.io/schemas/1.9.0";
/** Name of the cloud provider. */
public static final AttributeKey CLOUD_PROVIDER = stringKey("cloud.provider");
/** The cloud account ID the resource is assigned to. */
public static final AttributeKey CLOUD_ACCOUNT_ID = stringKey("cloud.account.id");
/**
* The geographical region the resource is running.
*
* 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.
*
*/
public static final AttributeKey CLOUD_REGION = stringKey("cloud.region");
/**
* Cloud regions often have multiple, isolated locations known as zones to increase availability.
* Availability zone represents the zone where the resource is running.
*
* Notes:
*
*
* - Availability zones are called "zones" on Alibaba Cloud and Google Cloud.
*
*/
public static final AttributeKey CLOUD_AVAILABILITY_ZONE =
stringKey("cloud.availability_zone");
/**
* The cloud platform in use.
*
* Notes:
*
*
* - The prefix of the service SHOULD match the one specified in {@code cloud.provider}.
*
*/
public static final AttributeKey CLOUD_PLATFORM = stringKey("cloud.platform");
/**
* The Amazon Resource Name (ARN) of an ECS
* container instance.
*/
public static final AttributeKey AWS_ECS_CONTAINER_ARN =
stringKey("aws.ecs.container.arn");
/**
* The ARN of an ECS
* cluster.
*/
public static final AttributeKey AWS_ECS_CLUSTER_ARN = stringKey("aws.ecs.cluster.arn");
/**
* The launch
* type for an ECS task.
*/
public static final AttributeKey AWS_ECS_LAUNCHTYPE = stringKey("aws.ecs.launchtype");
/**
* The ARN of an ECS
* task definition.
*/
public static final AttributeKey AWS_ECS_TASK_ARN = stringKey("aws.ecs.task.arn");
/** The task definition family this task definition is a member of. */
public static final AttributeKey AWS_ECS_TASK_FAMILY = stringKey("aws.ecs.task.family");
/** The revision for this task definition. */
public static final AttributeKey AWS_ECS_TASK_REVISION =
stringKey("aws.ecs.task.revision");
/** The ARN of an EKS cluster. */
public static final AttributeKey AWS_EKS_CLUSTER_ARN = stringKey("aws.eks.cluster.arn");
/**
* The name(s) of the AWS log group(s) an application is writing to.
*
* 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.
*
*/
public static final AttributeKey> AWS_LOG_GROUP_NAMES =
stringArrayKey("aws.log.group.names");
/**
* The Amazon Resource Name(s) (ARN) of the AWS log group(s).
*
* Notes:
*
*
* - See the log
* group ARN format documentation.
*
*/
public static final AttributeKey> AWS_LOG_GROUP_ARNS =
stringArrayKey("aws.log.group.arns");
/** The name(s) of the AWS log stream(s) an application is writing to. */
public static final AttributeKey> AWS_LOG_STREAM_NAMES =
stringArrayKey("aws.log.stream.names");
/**
* The ARN(s) of the AWS log stream(s).
*
* 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.
*
*/
public static final AttributeKey> AWS_LOG_STREAM_ARNS =
stringArrayKey("aws.log.stream.arns");
/** Container name used by container runtime. */
public static final AttributeKey CONTAINER_NAME = stringKey("container.name");
/**
* Container ID. Usually a UUID, as for example used to identify Docker
* containers. The UUID might be abbreviated.
*/
public static final AttributeKey CONTAINER_ID = stringKey("container.id");
/** The container runtime managing this container. */
public static final AttributeKey CONTAINER_RUNTIME = stringKey("container.runtime");
/** Name of the image the container was built on. */
public static final AttributeKey CONTAINER_IMAGE_NAME = stringKey("container.image.name");
/** Container image tag. */
public static final AttributeKey CONTAINER_IMAGE_TAG = stringKey("container.image.tag");
/**
* Name of the deployment
* environment (aka deployment tier).
*/
public static final AttributeKey DEPLOYMENT_ENVIRONMENT =
stringKey("deployment.environment");
/**
* A unique identifier representing the device
*
* 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.
*
*/
public static final AttributeKey DEVICE_ID = stringKey("device.id");
/**
* The model identifier for the device
*
* 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.
*
*/
public static final AttributeKey DEVICE_MODEL_IDENTIFIER =
stringKey("device.model.identifier");
/**
* The marketing name for the device model
*
* Notes:
*
*
* - It's recommended this value represents a human readable version of the device model
* rather than a machine readable alternative.
*
*/
public static final AttributeKey DEVICE_MODEL_NAME = stringKey("device.model.name");
/**
* The name of the device manufacturer
*
* Notes:
*
*
* - The Android OS provides this field via Build.
* iOS apps SHOULD hardcode the value {@code Apple}.
*
*/
public static final AttributeKey DEVICE_MANUFACTURER = stringKey("device.manufacturer");
/**
* The name of the single function that this runtime instance executes.
*
* 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
* code.namespace}/{@code code.function} span attributes).
*
*/
public static final AttributeKey FAAS_NAME = stringKey("faas.name");
/**
* The unique ID of the single function that this runtime instance executes.
*
* Notes:
*
*
* - Depending on the cloud provider, use:
*
- 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.
*
- On some providers, it may not be possible to determine the full ID at startup, which is
* why this field cannot be made required. For example, on AWS the account ID part of the
* ARN is not available without calling another AWS API which may be deemed too slow for a
* short-running lambda function. As an alternative, consider setting {@code faas.id} as a
* span attribute instead.
*
*/
public static final AttributeKey FAAS_ID = stringKey("faas.id");
/**
* The immutable version of the function being executed.
*
* 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 {@code
* K_REVISION} environment variable.
*
- Azure Functions: Not applicable. Do not set this attribute.
*
*/
public static final AttributeKey FAAS_VERSION = stringKey("faas.version");
/**
* The execution environment ID as a string, that will be potentially reused for other invocations
* to the same function/function version.
*
* Notes:
*
*
* - AWS Lambda: Use the (full) log stream name.
*
*/
public static final AttributeKey FAAS_INSTANCE = stringKey("faas.instance");
/**
* The amount of memory available to the serverless function in MiB.
*
* 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
* {@code AWS_LAMBDA_FUNCTION_MEMORY_SIZE} provides this information.
*
*/
public static final AttributeKey FAAS_MAX_MEMORY = longKey("faas.max_memory");
/** Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. */
public static final AttributeKey HOST_ID = stringKey("host.id");
/**
* 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.
*/
public static final AttributeKey HOST_NAME = stringKey("host.name");
/** Type of host. For Cloud, this must be the machine type. */
public static final AttributeKey HOST_TYPE = stringKey("host.type");
/** The CPU architecture the host system is running on. */
public static final AttributeKey HOST_ARCH = stringKey("host.arch");
/** Name of the VM image or OS install the host was instantiated from. */
public static final AttributeKey HOST_IMAGE_NAME = stringKey("host.image.name");
/** VM image ID. For Cloud, this value is from the provider. */
public static final AttributeKey HOST_IMAGE_ID = stringKey("host.image.id");
/**
* The version string of the VM image as defined in Version
* Attributes.
*/
public static final AttributeKey HOST_IMAGE_VERSION = stringKey("host.image.version");
/** The name of the cluster. */
public static final AttributeKey K8S_CLUSTER_NAME = stringKey("k8s.cluster.name");
/** The name of the Node. */
public static final AttributeKey K8S_NODE_NAME = stringKey("k8s.node.name");
/** The UID of the Node. */
public static final AttributeKey K8S_NODE_UID = stringKey("k8s.node.uid");
/** The name of the namespace that the pod is running in. */
public static final AttributeKey K8S_NAMESPACE_NAME = stringKey("k8s.namespace.name");
/** The UID of the Pod. */
public static final AttributeKey K8S_POD_UID = stringKey("k8s.pod.uid");
/** The name of the Pod. */
public static final AttributeKey K8S_POD_NAME = stringKey("k8s.pod.name");
/**
* The name of the Container from Pod specification, must be unique within a Pod. Container
* runtime usually uses different globally unique name ({@code container.name}).
*/
public static final AttributeKey K8S_CONTAINER_NAME = stringKey("k8s.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.
*/
public static final AttributeKey K8S_CONTAINER_RESTART_COUNT =
longKey("k8s.container.restart_count");
/** The UID of the ReplicaSet. */
public static final AttributeKey K8S_REPLICASET_UID = stringKey("k8s.replicaset.uid");
/** The name of the ReplicaSet. */
public static final AttributeKey K8S_REPLICASET_NAME = stringKey("k8s.replicaset.name");
/** The UID of the Deployment. */
public static final AttributeKey K8S_DEPLOYMENT_UID = stringKey("k8s.deployment.uid");
/** The name of the Deployment. */
public static final AttributeKey K8S_DEPLOYMENT_NAME = stringKey("k8s.deployment.name");
/** The UID of the StatefulSet. */
public static final AttributeKey K8S_STATEFULSET_UID = stringKey("k8s.statefulset.uid");
/** The name of the StatefulSet. */
public static final AttributeKey K8S_STATEFULSET_NAME = stringKey("k8s.statefulset.name");
/** The UID of the DaemonSet. */
public static final AttributeKey K8S_DAEMONSET_UID = stringKey("k8s.daemonset.uid");
/** The name of the DaemonSet. */
public static final AttributeKey K8S_DAEMONSET_NAME = stringKey("k8s.daemonset.name");
/** The UID of the Job. */
public static final AttributeKey K8S_JOB_UID = stringKey("k8s.job.uid");
/** The name of the Job. */
public static final AttributeKey K8S_JOB_NAME = stringKey("k8s.job.name");
/** The UID of the CronJob. */
public static final AttributeKey K8S_CRONJOB_UID = stringKey("k8s.cronjob.uid");
/** The name of the CronJob. */
public static final AttributeKey K8S_CRONJOB_NAME = stringKey("k8s.cronjob.name");
/** The operating system type. */
public static final AttributeKey OS_TYPE = stringKey("os.type");
/**
* Human readable (not intended to be parsed) OS version information, like e.g. reported by {@code
* ver} or {@code lsb_release -a} commands.
*/
public static final AttributeKey OS_DESCRIPTION = stringKey("os.description");
/** Human readable operating system name. */
public static final AttributeKey OS_NAME = stringKey("os.name");
/**
* The version string of the operating system as defined in Version Attributes.
*/
public static final AttributeKey OS_VERSION = stringKey("os.version");
/** Process identifier (PID). */
public static final AttributeKey PROCESS_PID = longKey("process.pid");
/**
* The name of the process executable. On Linux based systems, can be set to the {@code Name} in
* {@code proc/[pid]/status}. On Windows, can be set to the base name of {@code
* GetProcessImageFileNameW}.
*/
public static final AttributeKey PROCESS_EXECUTABLE_NAME =
stringKey("process.executable.name");
/**
* The full path to the process executable. On Linux based systems, can be set to the target of
* {@code proc/[pid]/exe}. On Windows, can be set to the result of {@code
* GetProcessImageFileNameW}.
*/
public static final AttributeKey PROCESS_EXECUTABLE_PATH =
stringKey("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 {@code proc/[pid]/cmdline}. On Windows, can be set to the first
* parameter extracted from {@code GetCommandLineW}.
*/
public static final AttributeKey PROCESS_COMMAND = stringKey("process.command");
/**
* 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 {@code GetCommandLineW}. Do not set this if you have to
* assemble it just for monitoring; use {@code process.command_args} instead.
*/
public static final AttributeKey PROCESS_COMMAND_LINE = stringKey("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 {@code proc/[pid]/cmdline}. For libc-based
* executables, this would be the full argv vector passed to {@code main}.
*/
public static final AttributeKey> PROCESS_COMMAND_ARGS =
stringArrayKey("process.command_args");
/** The username of the user that owns the process. */
public static final AttributeKey PROCESS_OWNER = stringKey("process.owner");
/**
* The name of the runtime of this process. For compiled native binaries, this SHOULD be the name
* of the compiler.
*/
public static final AttributeKey PROCESS_RUNTIME_NAME = stringKey("process.runtime.name");
/**
* The version of the runtime of this process, as returned by the runtime without modification.
*/
public static final AttributeKey PROCESS_RUNTIME_VERSION =
stringKey("process.runtime.version");
/**
* An additional description about the runtime of the process, for example a specific vendor
* customization of the runtime environment.
*/
public static final AttributeKey PROCESS_RUNTIME_DESCRIPTION =
stringKey("process.runtime.description");
/**
* Logical name of the service.
*
* Notes:
*
*
* - MUST be the same for all instances of horizontally scaled services. If the value was not
* specified, SDKs MUST fallback to {@code unknown_service:} concatenated with {@code process.executable.name}, e.g. {@code
* unknown_service:bash}. If {@code process.executable.name} is not available, the value
* MUST be set to {@code unknown_service}.
*
*/
public static final AttributeKey SERVICE_NAME = stringKey("service.name");
/**
* A namespace for {@code service.name}.
*
* 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. {@code service.name} is expected to
* be unique within the same namespace. If {@code service.namespace} is not specified in the
* Resource then {@code 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.
*
*/
public static final AttributeKey SERVICE_NAMESPACE = stringKey("service.namespace");
/**
* The string ID of the service instance.
*
* Notes:
*
*
* - MUST be unique for each instance of the same {@code service.namespace,service.name} pair
* (in other words {@code 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).
*
*/
public static final AttributeKey SERVICE_INSTANCE_ID = stringKey("service.instance.id");
/** The version string of the service API or implementation. */
public static final AttributeKey SERVICE_VERSION = stringKey("service.version");
/** The name of the telemetry SDK as defined above. */
public static final AttributeKey TELEMETRY_SDK_NAME = stringKey("telemetry.sdk.name");
/** The language of the telemetry SDK. */
public static final AttributeKey TELEMETRY_SDK_LANGUAGE =
stringKey("telemetry.sdk.language");
/** The version string of the telemetry SDK. */
public static final AttributeKey TELEMETRY_SDK_VERSION =
stringKey("telemetry.sdk.version");
/** The version string of the auto instrumentation agent, if used. */
public static final AttributeKey TELEMETRY_AUTO_VERSION =
stringKey("telemetry.auto.version");
/** The name of the web engine. */
public static final AttributeKey WEBENGINE_NAME = stringKey("webengine.name");
/** The version of the web engine. */
public static final AttributeKey WEBENGINE_VERSION = stringKey("webengine.version");
/** Additional description of the web engine (e.g. detailed version and edition information). */
public static final AttributeKey WEBENGINE_DESCRIPTION =
stringKey("webengine.description");
// Enum definitions
public static final class CloudProviderValues {
/** Alibaba Cloud. */
public static final String ALIBABA_CLOUD = "alibaba_cloud";
/** Amazon Web Services. */
public static final String AWS = "aws";
/** Microsoft Azure. */
public static final String AZURE = "azure";
/** Google Cloud Platform. */
public static final String GCP = "gcp";
/** Tencent Cloud. */
public static final String TENCENT_CLOUD = "tencent_cloud";
private CloudProviderValues() {}
}
public static final class CloudPlatformValues {
/** Alibaba Cloud Elastic Compute Service. */
public static final String ALIBABA_CLOUD_ECS = "alibaba_cloud_ecs";
/** Alibaba Cloud Function Compute. */
public static final String ALIBABA_CLOUD_FC = "alibaba_cloud_fc";
/** AWS Elastic Compute Cloud. */
public static final String AWS_EC2 = "aws_ec2";
/** AWS Elastic Container Service. */
public static final String AWS_ECS = "aws_ecs";
/** AWS Elastic Kubernetes Service. */
public static final String AWS_EKS = "aws_eks";
/** AWS Lambda. */
public static final String AWS_LAMBDA = "aws_lambda";
/** AWS Elastic Beanstalk. */
public static final String AWS_ELASTIC_BEANSTALK = "aws_elastic_beanstalk";
/** AWS App Runner. */
public static final String AWS_APP_RUNNER = "aws_app_runner";
/** Azure Virtual Machines. */
public static final String AZURE_VM = "azure_vm";
/** Azure Container Instances. */
public static final String AZURE_CONTAINER_INSTANCES = "azure_container_instances";
/** Azure Kubernetes Service. */
public static final String AZURE_AKS = "azure_aks";
/** Azure Functions. */
public static final String AZURE_FUNCTIONS = "azure_functions";
/** Azure App Service. */
public static final String AZURE_APP_SERVICE = "azure_app_service";
/** Google Cloud Compute Engine (GCE). */
public static final String GCP_COMPUTE_ENGINE = "gcp_compute_engine";
/** Google Cloud Run. */
public static final String GCP_CLOUD_RUN = "gcp_cloud_run";
/** Google Cloud Kubernetes Engine (GKE). */
public static final String GCP_KUBERNETES_ENGINE = "gcp_kubernetes_engine";
/** Google Cloud Functions (GCF). */
public static final String GCP_CLOUD_FUNCTIONS = "gcp_cloud_functions";
/** Google Cloud App Engine (GAE). */
public static final String GCP_APP_ENGINE = "gcp_app_engine";
/** Tencent Cloud Cloud Virtual Machine (CVM). */
public static final String TENCENT_CLOUD_CVM = "tencent_cloud_cvm";
/** Tencent Cloud Elastic Kubernetes Service (EKS). */
public static final String TENCENT_CLOUD_EKS = "tencent_cloud_eks";
/** Tencent Cloud Serverless Cloud Function (SCF). */
public static final String TENCENT_CLOUD_SCF = "tencent_cloud_scf";
private CloudPlatformValues() {}
}
public static final class AwsEcsLaunchtypeValues {
/** ec2. */
public static final String EC2 = "ec2";
/** fargate. */
public static final String FARGATE = "fargate";
private AwsEcsLaunchtypeValues() {}
}
public static final class HostArchValues {
/** AMD64. */
public static final String AMD64 = "amd64";
/** ARM32. */
public static final String ARM32 = "arm32";
/** ARM64. */
public static final String ARM64 = "arm64";
/** Itanium. */
public static final String IA64 = "ia64";
/** 32-bit PowerPC. */
public static final String PPC32 = "ppc32";
/** 64-bit PowerPC. */
public static final String PPC64 = "ppc64";
/** IBM z/Architecture. */
public static final String S390X = "s390x";
/** 32-bit x86. */
public static final String X86 = "x86";
private HostArchValues() {}
}
public static final class OsTypeValues {
/** Microsoft Windows. */
public static final String WINDOWS = "windows";
/** Linux. */
public static final String LINUX = "linux";
/** Apple Darwin. */
public static final String DARWIN = "darwin";
/** FreeBSD. */
public static final String FREEBSD = "freebsd";
/** NetBSD. */
public static final String NETBSD = "netbsd";
/** OpenBSD. */
public static final String OPENBSD = "openbsd";
/** DragonFly BSD. */
public static final String DRAGONFLYBSD = "dragonflybsd";
/** HP-UX (Hewlett Packard Unix). */
public static final String HPUX = "hpux";
/** AIX (Advanced Interactive eXecutive). */
public static final String AIX = "aix";
/** Oracle Solaris. */
public static final String SOLARIS = "solaris";
/** IBM z/OS. */
public static final String Z_OS = "z_os";
private OsTypeValues() {}
}
public static final class TelemetrySdkLanguageValues {
/** cpp. */
public static final String CPP = "cpp";
/** dotnet. */
public static final String DOTNET = "dotnet";
/** erlang. */
public static final String ERLANG = "erlang";
/** go. */
public static final String GO = "go";
/** java. */
public static final String JAVA = "java";
/** nodejs. */
public static final String NODEJS = "nodejs";
/** php. */
public static final String PHP = "php";
/** python. */
public static final String PYTHON = "python";
/** ruby. */
public static final String RUBY = "ruby";
/** webjs. */
public static final String WEBJS = "webjs";
/** swift. */
public static final String SWIFT = "swift";
private TelemetrySdkLanguageValues() {}
}
private ResourceAttributes() {}
}