...

Source file src/go.opentelemetry.io/otel/semconv/v1.5.0/resource.go

Documentation: go.opentelemetry.io/otel/semconv/v1.5.0

     1  // Copyright The OpenTelemetry Authors
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated from semantic convention specification. DO NOT EDIT.
    16  
    17  package semconv // import "go.opentelemetry.io/otel/semconv/v1.5.0"
    18  
    19  import "go.opentelemetry.io/otel/attribute"
    20  
    21  // A cloud environment (e.g. GCP, Azure, AWS)
    22  const (
    23  	// Name of the cloud provider.
    24  	//
    25  	// Type: Enum
    26  	// Required: No
    27  	// Stability: stable
    28  	CloudProviderKey = attribute.Key("cloud.provider")
    29  	// The cloud account ID the resource is assigned to.
    30  	//
    31  	// Type: string
    32  	// Required: No
    33  	// Stability: stable
    34  	// Examples: '111111111111', 'opentelemetry'
    35  	CloudAccountIDKey = attribute.Key("cloud.account.id")
    36  	// The geographical region the resource is running. Refer to your provider's docs
    37  	// to see the available regions, for example [AWS
    38  	// regions](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/),
    39  	// [Azure regions](https://azure.microsoft.com/en-us/global-
    40  	// infrastructure/geographies/), or [Google Cloud
    41  	// regions](https://cloud.google.com/about/locations).
    42  	//
    43  	// Type: string
    44  	// Required: No
    45  	// Stability: stable
    46  	// Examples: 'us-central1', 'us-east-1'
    47  	CloudRegionKey = attribute.Key("cloud.region")
    48  	// Cloud regions often have multiple, isolated locations known as zones to
    49  	// increase availability. Availability zone represents the zone where the resource
    50  	// is running.
    51  	//
    52  	// Type: string
    53  	// Required: No
    54  	// Stability: stable
    55  	// Examples: 'us-east-1c'
    56  	// Note: Availability zones are called "zones" on Google Cloud.
    57  	CloudAvailabilityZoneKey = attribute.Key("cloud.availability_zone")
    58  	// The cloud platform in use.
    59  	//
    60  	// Type: Enum
    61  	// Required: No
    62  	// Stability: stable
    63  	// Note: The prefix of the service SHOULD match the one specified in
    64  	// `cloud.provider`.
    65  	CloudPlatformKey = attribute.Key("cloud.platform")
    66  )
    67  
    68  var (
    69  	// Amazon Web Services
    70  	CloudProviderAWS = CloudProviderKey.String("aws")
    71  	// Microsoft Azure
    72  	CloudProviderAzure = CloudProviderKey.String("azure")
    73  	// Google Cloud Platform
    74  	CloudProviderGCP = CloudProviderKey.String("gcp")
    75  )
    76  
    77  var (
    78  	// AWS Elastic Compute Cloud
    79  	CloudPlatformAWSEC2 = CloudPlatformKey.String("aws_ec2")
    80  	// AWS Elastic Container Service
    81  	CloudPlatformAWSECS = CloudPlatformKey.String("aws_ecs")
    82  	// AWS Elastic Kubernetes Service
    83  	CloudPlatformAWSEKS = CloudPlatformKey.String("aws_eks")
    84  	// AWS Lambda
    85  	CloudPlatformAWSLambda = CloudPlatformKey.String("aws_lambda")
    86  	// AWS Elastic Beanstalk
    87  	CloudPlatformAWSElasticBeanstalk = CloudPlatformKey.String("aws_elastic_beanstalk")
    88  	// Azure Virtual Machines
    89  	CloudPlatformAzureVM = CloudPlatformKey.String("azure_vm")
    90  	// Azure Container Instances
    91  	CloudPlatformAzureContainerInstances = CloudPlatformKey.String("azure_container_instances")
    92  	// Azure Kubernetes Service
    93  	CloudPlatformAzureAKS = CloudPlatformKey.String("azure_aks")
    94  	// Azure Functions
    95  	CloudPlatformAzureFunctions = CloudPlatformKey.String("azure_functions")
    96  	// Azure App Service
    97  	CloudPlatformAzureAppService = CloudPlatformKey.String("azure_app_service")
    98  	// Google Cloud Compute Engine (GCE)
    99  	CloudPlatformGCPComputeEngine = CloudPlatformKey.String("gcp_compute_engine")
   100  	// Google Cloud Run
   101  	CloudPlatformGCPCloudRun = CloudPlatformKey.String("gcp_cloud_run")
   102  	// Google Cloud Kubernetes Engine (GKE)
   103  	CloudPlatformGCPKubernetesEngine = CloudPlatformKey.String("gcp_kubernetes_engine")
   104  	// Google Cloud Functions (GCF)
   105  	CloudPlatformGCPCloudFunctions = CloudPlatformKey.String("gcp_cloud_functions")
   106  	// Google Cloud App Engine (GAE)
   107  	CloudPlatformGCPAppEngine = CloudPlatformKey.String("gcp_app_engine")
   108  )
   109  
   110  // Resources used by AWS Elastic Container Service (ECS).
   111  const (
   112  	// The Amazon Resource Name (ARN) of an [ECS container instance](https://docs.aws.
   113  	// amazon.com/AmazonECS/latest/developerguide/ECS_instances.html).
   114  	//
   115  	// Type: string
   116  	// Required: No
   117  	// Stability: stable
   118  	// Examples: 'arn:aws:ecs:us-
   119  	// west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9'
   120  	AWSECSContainerARNKey = attribute.Key("aws.ecs.container.arn")
   121  	// The ARN of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/develo
   122  	// perguide/clusters.html).
   123  	//
   124  	// Type: string
   125  	// Required: No
   126  	// Stability: stable
   127  	// Examples: 'arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster'
   128  	AWSECSClusterARNKey = attribute.Key("aws.ecs.cluster.arn")
   129  	// The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/l
   130  	// aunch_types.html) for an ECS task.
   131  	//
   132  	// Type: Enum
   133  	// Required: No
   134  	// Stability: stable
   135  	AWSECSLaunchtypeKey = attribute.Key("aws.ecs.launchtype")
   136  	// The ARN of an [ECS task definition](https://docs.aws.amazon.com/AmazonECS/lates
   137  	// t/developerguide/task_definitions.html).
   138  	//
   139  	// Type: string
   140  	// Required: No
   141  	// Stability: stable
   142  	// Examples: 'arn:aws:ecs:us-
   143  	// west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b'
   144  	AWSECSTaskARNKey = attribute.Key("aws.ecs.task.arn")
   145  	// The task definition family this task definition is a member of.
   146  	//
   147  	// Type: string
   148  	// Required: No
   149  	// Stability: stable
   150  	// Examples: 'opentelemetry-family'
   151  	AWSECSTaskFamilyKey = attribute.Key("aws.ecs.task.family")
   152  	// The revision for this task definition.
   153  	//
   154  	// Type: string
   155  	// Required: No
   156  	// Stability: stable
   157  	// Examples: '8', '26'
   158  	AWSECSTaskRevisionKey = attribute.Key("aws.ecs.task.revision")
   159  )
   160  
   161  var (
   162  	// ec2
   163  	AWSECSLaunchtypeEC2 = AWSECSLaunchtypeKey.String("ec2")
   164  	// fargate
   165  	AWSECSLaunchtypeFargate = AWSECSLaunchtypeKey.String("fargate")
   166  )
   167  
   168  // Resources used by AWS Elastic Kubernetes Service (EKS).
   169  const (
   170  	// The ARN of an EKS cluster.
   171  	//
   172  	// Type: string
   173  	// Required: No
   174  	// Stability: stable
   175  	// Examples: 'arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster'
   176  	AWSEKSClusterARNKey = attribute.Key("aws.eks.cluster.arn")
   177  )
   178  
   179  // Resources specific to Amazon Web Services.
   180  const (
   181  	// The name(s) of the AWS log group(s) an application is writing to.
   182  	//
   183  	// Type: string[]
   184  	// Required: No
   185  	// Stability: stable
   186  	// Examples: '/aws/lambda/my-function', 'opentelemetry-service'
   187  	// Note: Multiple log groups must be supported for cases like multi-container
   188  	// applications, where a single application has sidecar containers, and each write
   189  	// to their own log group.
   190  	AWSLogGroupNamesKey = attribute.Key("aws.log.group.names")
   191  	// The Amazon Resource Name(s) (ARN) of the AWS log group(s).
   192  	//
   193  	// Type: string[]
   194  	// Required: No
   195  	// Stability: stable
   196  	// Examples: 'arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*'
   197  	// Note: See the [log group ARN format
   198  	// documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-
   199  	// access-control-overview-cwl.html#CWL_ARN_Format).
   200  	AWSLogGroupARNsKey = attribute.Key("aws.log.group.arns")
   201  	// The name(s) of the AWS log stream(s) an application is writing to.
   202  	//
   203  	// Type: string[]
   204  	// Required: No
   205  	// Stability: stable
   206  	// Examples: 'logs/main/10838bed-421f-43ef-870a-f43feacbbb5b'
   207  	AWSLogStreamNamesKey = attribute.Key("aws.log.stream.names")
   208  	// The ARN(s) of the AWS log stream(s).
   209  	//
   210  	// Type: string[]
   211  	// Required: No
   212  	// Stability: stable
   213  	// Examples: 'arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-
   214  	// stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b'
   215  	// Note: See the [log stream ARN format
   216  	// documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-
   217  	// access-control-overview-cwl.html#CWL_ARN_Format). One log group can contain
   218  	// several log streams, so these ARNs necessarily identify both a log group and a
   219  	// log stream.
   220  	AWSLogStreamARNsKey = attribute.Key("aws.log.stream.arns")
   221  )
   222  
   223  // A container instance.
   224  const (
   225  	// Container name.
   226  	//
   227  	// Type: string
   228  	// Required: No
   229  	// Stability: stable
   230  	// Examples: 'opentelemetry-autoconf'
   231  	ContainerNameKey = attribute.Key("container.name")
   232  	// Container ID. Usually a UUID, as for example used to [identify Docker
   233  	// containers](https://docs.docker.com/engine/reference/run/#container-
   234  	// identification). The UUID might be abbreviated.
   235  	//
   236  	// Type: string
   237  	// Required: No
   238  	// Stability: stable
   239  	// Examples: 'a3bf90e006b2'
   240  	ContainerIDKey = attribute.Key("container.id")
   241  	// The container runtime managing this container.
   242  	//
   243  	// Type: string
   244  	// Required: No
   245  	// Stability: stable
   246  	// Examples: 'docker', 'containerd', 'rkt'
   247  	ContainerRuntimeKey = attribute.Key("container.runtime")
   248  	// Name of the image the container was built on.
   249  	//
   250  	// Type: string
   251  	// Required: No
   252  	// Stability: stable
   253  	// Examples: 'gcr.io/opentelemetry/operator'
   254  	ContainerImageNameKey = attribute.Key("container.image.name")
   255  	// Container image tag.
   256  	//
   257  	// Type: string
   258  	// Required: No
   259  	// Stability: stable
   260  	// Examples: '0.1'
   261  	ContainerImageTagKey = attribute.Key("container.image.tag")
   262  )
   263  
   264  // The software deployment.
   265  const (
   266  	// Name of the [deployment
   267  	// environment](https://en.wikipedia.org/wiki/Deployment_environment) (aka
   268  	// deployment tier).
   269  	//
   270  	// Type: string
   271  	// Required: No
   272  	// Stability: stable
   273  	// Examples: 'staging', 'production'
   274  	DeploymentEnvironmentKey = attribute.Key("deployment.environment")
   275  )
   276  
   277  // The device on which the process represented by this resource is running.
   278  const (
   279  	// A unique identifier representing the device
   280  	//
   281  	// Type: string
   282  	// Required: No
   283  	// Stability: stable
   284  	// Examples: '2ab2916d-a51f-4ac8-80ee-45ac31a28092'
   285  	// Note: The device identifier MUST only be defined using the values outlined
   286  	// below. This value is not an advertising identifier and MUST NOT be used as
   287  	// such. On iOS (Swift or Objective-C), this value MUST be equal to the [vendor id
   288  	// entifier](https://developer.apple.com/documentation/uikit/uidevice/1620059-iden
   289  	// tifierforvendor). On Android (Java or Kotlin), this value MUST be equal to the
   290  	// Firebase Installation ID or a globally unique UUID which is persisted across
   291  	// sessions in your application. More information can be found
   292  	// [here](https://developer.android.com/training/articles/user-data-ids) on best
   293  	// practices and exact implementation details. Caution should be taken when
   294  	// storing personal data or anything which can identify a user. GDPR and data
   295  	// protection laws may apply, ensure you do your own due diligence.
   296  	DeviceIDKey = attribute.Key("device.id")
   297  	// The model identifier for the device
   298  	//
   299  	// Type: string
   300  	// Required: No
   301  	// Stability: stable
   302  	// Examples: 'iPhone3,4', 'SM-G920F'
   303  	// Note: It's recommended this value represents a machine readable version of the
   304  	// model identifier rather than the market or consumer-friendly name of the
   305  	// device.
   306  	DeviceModelIdentifierKey = attribute.Key("device.model.identifier")
   307  	// The marketing name for the device model
   308  	//
   309  	// Type: string
   310  	// Required: No
   311  	// Stability: stable
   312  	// Examples: 'iPhone 6s Plus', 'Samsung Galaxy S6'
   313  	// Note: It's recommended this value represents a human readable version of the
   314  	// device model rather than a machine readable alternative.
   315  	DeviceModelNameKey = attribute.Key("device.model.name")
   316  )
   317  
   318  // A serverless instance.
   319  const (
   320  	// The name of the single function that this runtime instance executes.
   321  	//
   322  	// Type: string
   323  	// Required: Always
   324  	// Stability: stable
   325  	// Examples: 'my-function'
   326  	// Note: This is the name of the function as configured/deployed on the FaaS
   327  	// platform and is usually different from the name of the callback function (which
   328  	// may be stored in the
   329  	// [`code.namespace`/`code.function`](../../trace/semantic_conventions/span-
   330  	// general.md#source-code-attributes) span attributes).
   331  	FaaSNameKey = attribute.Key("faas.name")
   332  	// The unique ID of the single function that this runtime instance executes.
   333  	//
   334  	// Type: string
   335  	// Required: No
   336  	// Stability: stable
   337  	// Examples: 'arn:aws:lambda:us-west-2:123456789012:function:my-function'
   338  	// Note: Depending on the cloud provider, use:
   339  
   340  	// * **AWS Lambda:** The function
   341  	// [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-
   342  	// namespaces.html).
   343  	// Take care not to use the "invoked ARN" directly but replace any
   344  	// [alias suffix](https://docs.aws.amazon.com/lambda/latest/dg/configuration-
   345  	// aliases.html) with the resolved function version, as the same runtime instance
   346  	// may be invokable with multiple
   347  	// different aliases.
   348  	// * **GCP:** The [URI of the resource](https://cloud.google.com/iam/docs/full-
   349  	// resource-names)
   350  	// * **Azure:** The [Fully Qualified Resource ID](https://docs.microsoft.com/en-
   351  	// us/rest/api/resources/resources/get-by-id).
   352  
   353  	// On some providers, it may not be possible to determine the full ID at startup,
   354  	// which is why this field cannot be made required. For example, on AWS the
   355  	// account ID
   356  	// part of the ARN is not available without calling another AWS API
   357  	// which may be deemed too slow for a short-running lambda function.
   358  	// As an alternative, consider setting `faas.id` as a span attribute instead.
   359  	FaaSIDKey = attribute.Key("faas.id")
   360  	// The immutable version of the function being executed.
   361  	//
   362  	// Type: string
   363  	// Required: No
   364  	// Stability: stable
   365  	// Examples: '26', 'pinkfroid-00002'
   366  	// Note: Depending on the cloud provider and platform, use:
   367  
   368  	// * **AWS Lambda:** The [function
   369  	// version](https://docs.aws.amazon.com/lambda/latest/dg/configuration-
   370  	// versions.html)
   371  	//   (an integer represented as a decimal string).
   372  	// * **Google Cloud Run:** The
   373  	// [revision](https://cloud.google.com/run/docs/managing/revisions)
   374  	//   (i.e., the function name plus the revision suffix).
   375  	// * **Google Cloud Functions:** The value of the
   376  	//   [`K_REVISION` environment
   377  	// variable](https://cloud.google.com/functions/docs/env-
   378  	// var#runtime_environment_variables_set_automatically).
   379  	// * **Azure Functions:** Not applicable. Do not set this attribute.
   380  	FaaSVersionKey = attribute.Key("faas.version")
   381  	// The execution environment ID as a string, that will be potentially reused for
   382  	// other invocations to the same function/function version.
   383  	//
   384  	// Type: string
   385  	// Required: No
   386  	// Stability: stable
   387  	// Examples: '2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de'
   388  	// Note: * **AWS Lambda:** Use the (full) log stream name.
   389  	FaaSInstanceKey = attribute.Key("faas.instance")
   390  	// The amount of memory available to the serverless function in MiB.
   391  	//
   392  	// Type: int
   393  	// Required: No
   394  	// Stability: stable
   395  	// Examples: 128
   396  	// Note: It's recommended to set this attribute since e.g. too little memory can
   397  	// easily stop a Java AWS Lambda function from working correctly. On AWS Lambda,
   398  	// the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this
   399  	// information.
   400  	FaaSMaxMemoryKey = attribute.Key("faas.max_memory")
   401  )
   402  
   403  // A host is defined as a general computing instance.
   404  const (
   405  	// Unique host ID. For Cloud, this must be the instance_id assigned by the cloud
   406  	// provider.
   407  	//
   408  	// Type: string
   409  	// Required: No
   410  	// Stability: stable
   411  	// Examples: 'opentelemetry-test'
   412  	HostIDKey = attribute.Key("host.id")
   413  	// Name of the host. On Unix systems, it may contain what the hostname command
   414  	// returns, or the fully qualified hostname, or another name specified by the
   415  	// user.
   416  	//
   417  	// Type: string
   418  	// Required: No
   419  	// Stability: stable
   420  	// Examples: 'opentelemetry-test'
   421  	HostNameKey = attribute.Key("host.name")
   422  	// Type of host. For Cloud, this must be the machine type.
   423  	//
   424  	// Type: string
   425  	// Required: No
   426  	// Stability: stable
   427  	// Examples: 'n1-standard-1'
   428  	HostTypeKey = attribute.Key("host.type")
   429  	// The CPU architecture the host system is running on.
   430  	//
   431  	// Type: Enum
   432  	// Required: No
   433  	// Stability: stable
   434  	HostArchKey = attribute.Key("host.arch")
   435  	// Name of the VM image or OS install the host was instantiated from.
   436  	//
   437  	// Type: string
   438  	// Required: No
   439  	// Stability: stable
   440  	// Examples: 'infra-ami-eks-worker-node-7d4ec78312', 'CentOS-8-x86_64-1905'
   441  	HostImageNameKey = attribute.Key("host.image.name")
   442  	// VM image ID. For Cloud, this value is from the provider.
   443  	//
   444  	// Type: string
   445  	// Required: No
   446  	// Stability: stable
   447  	// Examples: 'ami-07b06b442921831e5'
   448  	HostImageIDKey = attribute.Key("host.image.id")
   449  	// The version string of the VM image as defined in [Version
   450  	// Attributes](README.md#version-attributes).
   451  	//
   452  	// Type: string
   453  	// Required: No
   454  	// Stability: stable
   455  	// Examples: '0.1'
   456  	HostImageVersionKey = attribute.Key("host.image.version")
   457  )
   458  
   459  var (
   460  	// AMD64
   461  	HostArchAMD64 = HostArchKey.String("amd64")
   462  	// ARM32
   463  	HostArchARM32 = HostArchKey.String("arm32")
   464  	// ARM64
   465  	HostArchARM64 = HostArchKey.String("arm64")
   466  	// Itanium
   467  	HostArchIA64 = HostArchKey.String("ia64")
   468  	// 32-bit PowerPC
   469  	HostArchPPC32 = HostArchKey.String("ppc32")
   470  	// 64-bit PowerPC
   471  	HostArchPPC64 = HostArchKey.String("ppc64")
   472  	// 32-bit x86
   473  	HostArchX86 = HostArchKey.String("x86")
   474  )
   475  
   476  // A Kubernetes Cluster.
   477  const (
   478  	// The name of the cluster.
   479  	//
   480  	// Type: string
   481  	// Required: No
   482  	// Stability: stable
   483  	// Examples: 'opentelemetry-cluster'
   484  	K8SClusterNameKey = attribute.Key("k8s.cluster.name")
   485  )
   486  
   487  // A Kubernetes Node object.
   488  const (
   489  	// The name of the Node.
   490  	//
   491  	// Type: string
   492  	// Required: No
   493  	// Stability: stable
   494  	// Examples: 'node-1'
   495  	K8SNodeNameKey = attribute.Key("k8s.node.name")
   496  	// The UID of the Node.
   497  	//
   498  	// Type: string
   499  	// Required: No
   500  	// Stability: stable
   501  	// Examples: '1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2'
   502  	K8SNodeUIDKey = attribute.Key("k8s.node.uid")
   503  )
   504  
   505  // A Kubernetes Namespace.
   506  const (
   507  	// The name of the namespace that the pod is running in.
   508  	//
   509  	// Type: string
   510  	// Required: No
   511  	// Stability: stable
   512  	// Examples: 'default'
   513  	K8SNamespaceNameKey = attribute.Key("k8s.namespace.name")
   514  )
   515  
   516  // A Kubernetes Pod object.
   517  const (
   518  	// The UID of the Pod.
   519  	//
   520  	// Type: string
   521  	// Required: No
   522  	// Stability: stable
   523  	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'
   524  	K8SPodUIDKey = attribute.Key("k8s.pod.uid")
   525  	// The name of the Pod.
   526  	//
   527  	// Type: string
   528  	// Required: No
   529  	// Stability: stable
   530  	// Examples: 'opentelemetry-pod-autoconf'
   531  	K8SPodNameKey = attribute.Key("k8s.pod.name")
   532  )
   533  
   534  // A container in a [PodTemplate](https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates).
   535  const (
   536  	// The name of the Container in a Pod template.
   537  	//
   538  	// Type: string
   539  	// Required: No
   540  	// Stability: stable
   541  	// Examples: 'redis'
   542  	K8SContainerNameKey = attribute.Key("k8s.container.name")
   543  )
   544  
   545  // A Kubernetes ReplicaSet object.
   546  const (
   547  	// The UID of the ReplicaSet.
   548  	//
   549  	// Type: string
   550  	// Required: No
   551  	// Stability: stable
   552  	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'
   553  	K8SReplicaSetUIDKey = attribute.Key("k8s.replicaset.uid")
   554  	// The name of the ReplicaSet.
   555  	//
   556  	// Type: string
   557  	// Required: No
   558  	// Stability: stable
   559  	// Examples: 'opentelemetry'
   560  	K8SReplicaSetNameKey = attribute.Key("k8s.replicaset.name")
   561  )
   562  
   563  // A Kubernetes Deployment object.
   564  const (
   565  	// The UID of the Deployment.
   566  	//
   567  	// Type: string
   568  	// Required: No
   569  	// Stability: stable
   570  	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'
   571  	K8SDeploymentUIDKey = attribute.Key("k8s.deployment.uid")
   572  	// The name of the Deployment.
   573  	//
   574  	// Type: string
   575  	// Required: No
   576  	// Stability: stable
   577  	// Examples: 'opentelemetry'
   578  	K8SDeploymentNameKey = attribute.Key("k8s.deployment.name")
   579  )
   580  
   581  // A Kubernetes StatefulSet object.
   582  const (
   583  	// The UID of the StatefulSet.
   584  	//
   585  	// Type: string
   586  	// Required: No
   587  	// Stability: stable
   588  	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'
   589  	K8SStatefulSetUIDKey = attribute.Key("k8s.statefulset.uid")
   590  	// The name of the StatefulSet.
   591  	//
   592  	// Type: string
   593  	// Required: No
   594  	// Stability: stable
   595  	// Examples: 'opentelemetry'
   596  	K8SStatefulSetNameKey = attribute.Key("k8s.statefulset.name")
   597  )
   598  
   599  // A Kubernetes DaemonSet object.
   600  const (
   601  	// The UID of the DaemonSet.
   602  	//
   603  	// Type: string
   604  	// Required: No
   605  	// Stability: stable
   606  	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'
   607  	K8SDaemonSetUIDKey = attribute.Key("k8s.daemonset.uid")
   608  	// The name of the DaemonSet.
   609  	//
   610  	// Type: string
   611  	// Required: No
   612  	// Stability: stable
   613  	// Examples: 'opentelemetry'
   614  	K8SDaemonSetNameKey = attribute.Key("k8s.daemonset.name")
   615  )
   616  
   617  // A Kubernetes Job object.
   618  const (
   619  	// The UID of the Job.
   620  	//
   621  	// Type: string
   622  	// Required: No
   623  	// Stability: stable
   624  	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'
   625  	K8SJobUIDKey = attribute.Key("k8s.job.uid")
   626  	// The name of the Job.
   627  	//
   628  	// Type: string
   629  	// Required: No
   630  	// Stability: stable
   631  	// Examples: 'opentelemetry'
   632  	K8SJobNameKey = attribute.Key("k8s.job.name")
   633  )
   634  
   635  // A Kubernetes CronJob object.
   636  const (
   637  	// The UID of the CronJob.
   638  	//
   639  	// Type: string
   640  	// Required: No
   641  	// Stability: stable
   642  	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'
   643  	K8SCronJobUIDKey = attribute.Key("k8s.cronjob.uid")
   644  	// The name of the CronJob.
   645  	//
   646  	// Type: string
   647  	// Required: No
   648  	// Stability: stable
   649  	// Examples: 'opentelemetry'
   650  	K8SCronJobNameKey = attribute.Key("k8s.cronjob.name")
   651  )
   652  
   653  // The operating system (OS) on which the process represented by this resource is running.
   654  const (
   655  	// The operating system type.
   656  	//
   657  	// Type: Enum
   658  	// Required: Always
   659  	// Stability: stable
   660  	OSTypeKey = attribute.Key("os.type")
   661  	// Human readable (not intended to be parsed) OS version information, like e.g.
   662  	// reported by `ver` or `lsb_release -a` commands.
   663  	//
   664  	// Type: string
   665  	// Required: No
   666  	// Stability: stable
   667  	// Examples: 'Microsoft Windows [Version 10.0.18363.778]', 'Ubuntu 18.04.1 LTS'
   668  	OSDescriptionKey = attribute.Key("os.description")
   669  	// Human readable operating system name.
   670  	//
   671  	// Type: string
   672  	// Required: No
   673  	// Stability: stable
   674  	// Examples: 'iOS', 'Android', 'Ubuntu'
   675  	OSNameKey = attribute.Key("os.name")
   676  	// The version string of the operating system as defined in [Version
   677  	// Attributes](../../resource/semantic_conventions/README.md#version-attributes).
   678  	//
   679  	// Type: string
   680  	// Required: No
   681  	// Stability: stable
   682  	// Examples: '14.2.1', '18.04.1'
   683  	OSVersionKey = attribute.Key("os.version")
   684  )
   685  
   686  var (
   687  	// Microsoft Windows
   688  	OSTypeWindows = OSTypeKey.String("windows")
   689  	// Linux
   690  	OSTypeLinux = OSTypeKey.String("linux")
   691  	// Apple Darwin
   692  	OSTypeDarwin = OSTypeKey.String("darwin")
   693  	// FreeBSD
   694  	OSTypeFreeBSD = OSTypeKey.String("freebsd")
   695  	// NetBSD
   696  	OSTypeNetBSD = OSTypeKey.String("netbsd")
   697  	// OpenBSD
   698  	OSTypeOpenBSD = OSTypeKey.String("openbsd")
   699  	// DragonFly BSD
   700  	OSTypeDragonflyBSD = OSTypeKey.String("dragonflybsd")
   701  	// HP-UX (Hewlett Packard Unix)
   702  	OSTypeHPUX = OSTypeKey.String("hpux")
   703  	// AIX (Advanced Interactive eXecutive)
   704  	OSTypeAIX = OSTypeKey.String("aix")
   705  	// Oracle Solaris
   706  	OSTypeSolaris = OSTypeKey.String("solaris")
   707  	// IBM z/OS
   708  	OSTypeZOS = OSTypeKey.String("z_os")
   709  )
   710  
   711  // An operating system process.
   712  const (
   713  	// Process identifier (PID).
   714  	//
   715  	// Type: int
   716  	// Required: No
   717  	// Stability: stable
   718  	// Examples: 1234
   719  	ProcessPIDKey = attribute.Key("process.pid")
   720  	// The name of the process executable. On Linux based systems, can be set to the
   721  	// `Name` in `proc/[pid]/status`. On Windows, can be set to the base name of
   722  	// `GetProcessImageFileNameW`.
   723  	//
   724  	// Type: string
   725  	// Required: See below
   726  	// Stability: stable
   727  	// Examples: 'otelcol'
   728  	ProcessExecutableNameKey = attribute.Key("process.executable.name")
   729  	// The full path to the process executable. On Linux based systems, can be set to
   730  	// the target of `proc/[pid]/exe`. On Windows, can be set to the result of
   731  	// `GetProcessImageFileNameW`.
   732  	//
   733  	// Type: string
   734  	// Required: See below
   735  	// Stability: stable
   736  	// Examples: '/usr/bin/cmd/otelcol'
   737  	ProcessExecutablePathKey = attribute.Key("process.executable.path")
   738  	// The command used to launch the process (i.e. the command name). On Linux based
   739  	// systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows,
   740  	// can be set to the first parameter extracted from `GetCommandLineW`.
   741  	//
   742  	// Type: string
   743  	// Required: See below
   744  	// Stability: stable
   745  	// Examples: 'cmd/otelcol'
   746  	ProcessCommandKey = attribute.Key("process.command")
   747  	// The full command used to launch the process as a single string representing the
   748  	// full command. On Windows, can be set to the result of `GetCommandLineW`. Do not
   749  	// set this if you have to assemble it just for monitoring; use
   750  	// `process.command_args` instead.
   751  	//
   752  	// Type: string
   753  	// Required: See below
   754  	// Stability: stable
   755  	// Examples: 'C:\\cmd\\otecol --config="my directory\\config.yaml"'
   756  	ProcessCommandLineKey = attribute.Key("process.command_line")
   757  	// All the command arguments (including the command/executable itself) as received
   758  	// by the process. On Linux-based systems (and some other Unixoid systems
   759  	// supporting procfs), can be set according to the list of null-delimited strings
   760  	// extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be
   761  	// the full argv vector passed to `main`.
   762  	//
   763  	// Type: string[]
   764  	// Required: See below
   765  	// Stability: stable
   766  	// Examples: 'cmd/otecol', '--config=config.yaml'
   767  	ProcessCommandArgsKey = attribute.Key("process.command_args")
   768  	// The username of the user that owns the process.
   769  	//
   770  	// Type: string
   771  	// Required: No
   772  	// Stability: stable
   773  	// Examples: 'root'
   774  	ProcessOwnerKey = attribute.Key("process.owner")
   775  )
   776  
   777  // The single (language) runtime instance which is monitored.
   778  const (
   779  	// The name of the runtime of this process. For compiled native binaries, this
   780  	// SHOULD be the name of the compiler.
   781  	//
   782  	// Type: string
   783  	// Required: No
   784  	// Stability: stable
   785  	// Examples: 'OpenJDK Runtime Environment'
   786  	ProcessRuntimeNameKey = attribute.Key("process.runtime.name")
   787  	// The version of the runtime of this process, as returned by the runtime without
   788  	// modification.
   789  	//
   790  	// Type: string
   791  	// Required: No
   792  	// Stability: stable
   793  	// Examples: '14.0.2'
   794  	ProcessRuntimeVersionKey = attribute.Key("process.runtime.version")
   795  	// An additional description about the runtime of the process, for example a
   796  	// specific vendor customization of the runtime environment.
   797  	//
   798  	// Type: string
   799  	// Required: No
   800  	// Stability: stable
   801  	// Examples: 'Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0'
   802  	ProcessRuntimeDescriptionKey = attribute.Key("process.runtime.description")
   803  )
   804  
   805  // A service instance.
   806  const (
   807  	// Logical name of the service.
   808  	//
   809  	// Type: string
   810  	// Required: Always
   811  	// Stability: stable
   812  	// Examples: 'shoppingcart'
   813  	// Note: MUST be the same for all instances of horizontally scaled services. If
   814  	// the value was not specified, SDKs MUST fallback to `unknown_service:`
   815  	// concatenated with [`process.executable.name`](process.md#process), e.g.
   816  	// `unknown_service:bash`. If `process.executable.name` is not available, the
   817  	// value MUST be set to `unknown_service`.
   818  	ServiceNameKey = attribute.Key("service.name")
   819  	// A namespace for `service.name`.
   820  	//
   821  	// Type: string
   822  	// Required: No
   823  	// Stability: stable
   824  	// Examples: 'Shop'
   825  	// Note: A string value having a meaning that helps to distinguish a group of
   826  	// services, for example the team name that owns a group of services.
   827  	// `service.name` is expected to be unique within the same namespace. If
   828  	// `service.namespace` is not specified in the Resource then `service.name` is
   829  	// expected to be unique for all services that have no explicit namespace defined
   830  	// (so the empty/unspecified namespace is simply one more valid namespace). Zero-
   831  	// length namespace string is assumed equal to unspecified namespace.
   832  	ServiceNamespaceKey = attribute.Key("service.namespace")
   833  	// The string ID of the service instance.
   834  	//
   835  	// Type: string
   836  	// Required: No
   837  	// Stability: stable
   838  	// Examples: '627cc493-f310-47de-96bd-71410b7dec09'
   839  	// Note: MUST be unique for each instance of the same
   840  	// `service.namespace,service.name` pair (in other words
   841  	// `service.namespace,service.name,service.instance.id` triplet MUST be globally
   842  	// unique). The ID helps to distinguish instances of the same service that exist
   843  	// at the same time (e.g. instances of a horizontally scaled service). It is
   844  	// preferable for the ID to be persistent and stay the same for the lifetime of
   845  	// the service instance, however it is acceptable that the ID is ephemeral and
   846  	// changes during important lifetime events for the service (e.g. service
   847  	// restarts). If the service has no inherent unique ID that can be used as the
   848  	// value of this attribute it is recommended to generate a random Version 1 or
   849  	// Version 4 RFC 4122 UUID (services aiming for reproducible UUIDs may also use
   850  	// Version 5, see RFC 4122 for more recommendations).
   851  	ServiceInstanceIDKey = attribute.Key("service.instance.id")
   852  	// The version string of the service API or implementation.
   853  	//
   854  	// Type: string
   855  	// Required: No
   856  	// Stability: stable
   857  	// Examples: '2.0.0'
   858  	ServiceVersionKey = attribute.Key("service.version")
   859  )
   860  
   861  // The telemetry SDK used to capture data recorded by the instrumentation libraries.
   862  const (
   863  	// The name of the telemetry SDK as defined above.
   864  	//
   865  	// Type: string
   866  	// Required: No
   867  	// Stability: stable
   868  	// Examples: 'opentelemetry'
   869  	TelemetrySDKNameKey = attribute.Key("telemetry.sdk.name")
   870  	// The language of the telemetry SDK.
   871  	//
   872  	// Type: Enum
   873  	// Required: No
   874  	// Stability: stable
   875  	TelemetrySDKLanguageKey = attribute.Key("telemetry.sdk.language")
   876  	// The version string of the telemetry SDK.
   877  	//
   878  	// Type: string
   879  	// Required: No
   880  	// Stability: stable
   881  	// Examples: '1.2.3'
   882  	TelemetrySDKVersionKey = attribute.Key("telemetry.sdk.version")
   883  	// The version string of the auto instrumentation agent, if used.
   884  	//
   885  	// Type: string
   886  	// Required: No
   887  	// Stability: stable
   888  	// Examples: '1.2.3'
   889  	TelemetryAutoVersionKey = attribute.Key("telemetry.auto.version")
   890  )
   891  
   892  var (
   893  	// cpp
   894  	TelemetrySDKLanguageCPP = TelemetrySDKLanguageKey.String("cpp")
   895  	// dotnet
   896  	TelemetrySDKLanguageDotnet = TelemetrySDKLanguageKey.String("dotnet")
   897  	// erlang
   898  	TelemetrySDKLanguageErlang = TelemetrySDKLanguageKey.String("erlang")
   899  	// go
   900  	TelemetrySDKLanguageGo = TelemetrySDKLanguageKey.String("go")
   901  	// java
   902  	TelemetrySDKLanguageJava = TelemetrySDKLanguageKey.String("java")
   903  	// nodejs
   904  	TelemetrySDKLanguageNodejs = TelemetrySDKLanguageKey.String("nodejs")
   905  	// php
   906  	TelemetrySDKLanguagePHP = TelemetrySDKLanguageKey.String("php")
   907  	// python
   908  	TelemetrySDKLanguagePython = TelemetrySDKLanguageKey.String("python")
   909  	// ruby
   910  	TelemetrySDKLanguageRuby = TelemetrySDKLanguageKey.String("ruby")
   911  	// webjs
   912  	TelemetrySDKLanguageWebjs = TelemetrySDKLanguageKey.String("webjs")
   913  )
   914  
   915  // Resource describing the packaged software running the application code. Web engines are typically executed using process.runtime.
   916  const (
   917  	// The name of the web engine.
   918  	//
   919  	// Type: string
   920  	// Required: Always
   921  	// Stability: stable
   922  	// Examples: 'WildFly'
   923  	WebEngineNameKey = attribute.Key("webengine.name")
   924  	// The version of the web engine.
   925  	//
   926  	// Type: string
   927  	// Required: No
   928  	// Stability: stable
   929  	// Examples: '21.0.0'
   930  	WebEngineVersionKey = attribute.Key("webengine.version")
   931  	// Additional description of the web engine (e.g. detailed version and edition
   932  	// information).
   933  	//
   934  	// Type: string
   935  	// Required: No
   936  	// Stability: stable
   937  	// Examples: 'WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) - 2.2.2.Final'
   938  	WebEngineDescriptionKey = attribute.Key("webengine.description")
   939  )
   940  

View as plain text