...

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

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

View as plain text