update semantic conventions to v1.19 (#965)

* update semantic conventions to v1.19
* updating semconv readme
* dropping attribute values
I can't find any usage of the various AttributeValues being used, and other SIGs
no longer generate them, so removing them
* removing semconv usage from API
allow deprecations of moved/removed attributes so that we don't break things across different
semconv versions (similar to how java does it, except I moved them into a file which is
imported
This commit is contained in:
Brett McBride 2023-04-27 08:13:26 +10:00 committed by GitHub
parent 80ac91fddd
commit 9bccde9f03
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 867 additions and 1386 deletions

View File

@ -0,0 +1,26 @@
# Semantic Convention generation script and templates
## Usage
To update semantic conventions, modify `semconv.sh`'s `SEMCONV_VERSION` and `GENERATOR_VERSION` values, then run:
```shell
./semconv.sh
```
## Backwards compatibility
If attributes have been removed in an update, you can add them back in via `templates/<class>_deprecations.php.partial` files,
the contents will be included in the generated output. Please remember to mark them as deprecated to discourage their future
use.
After generating new sementic conventions, you can locate removed attributes via:
```shell
diff <(grep "public const" src/SemConv/ResourceAttributes.php | sort -u) \
<(git show main:src/SemConv/ResourceAttributes.php | grep "public const" | sort -u) \
| grep '^>' \
| grep -v SCHEMA_URL
```
Use this output as a basis for updating the relevant deprecations file and generate a second time to include them in the final output.

View File

@ -12,10 +12,10 @@ SPEC_DIR="${ROOT_DIR}/var/opentelemetry-specification"
CODE_DIR="${ROOT_DIR}/src/SemConv"
# freeze the spec & generator tools versions to make SemanticAttributes generation reproducible
SEMCONV_VERSION=${SEMCONV_VERSION:=1.12.0}
SEMCONV_VERSION=${SEMCONV_VERSION:=1.19.0}
SPEC_VERSION=v$SEMCONV_VERSION
SCHEMA_URL=https://opentelemetry.io/schemas/$SEMCONV_VERSION
GENERATOR_VERSION=0.11.0
GENERATOR_VERSION=0.18.0
cd "${SCRIPT_DIR}" || exit
@ -23,24 +23,24 @@ rm -rf "${SPEC_DIR}" || true
mkdir "${SPEC_DIR}"
cd "${SPEC_DIR}" || exit
git init
git init -b main
git remote add origin https://github.com/open-telemetry/opentelemetry-specification.git
git fetch origin "$SPEC_VERSION"
git reset --hard FETCH_HEAD
cd "${SCRIPT_DIR}" || exit
rm -rf "${CODE_DIR}" || true
mkdir -p "${CODE_DIR}"
git checkout HEAD "${CODE_DIR}/composer.json"
find "${CODE_DIR}" -name "*.php" -exec rm -f {} \;
# Trace
docker run --rm \
-v "${SPEC_DIR}/semantic_conventions/trace:/source" \
-v "${SPEC_DIR}/semantic_conventions:/source" \
-v "${SCRIPT_DIR}/templates:/templates" \
-v "${CODE_DIR}:/output" \
-u "${UID}" \
otel/semconvgen:$GENERATOR_VERSION \
--only span,event,attribute_group,scope \
-f /source code \
--template /templates/Attributes.php.j2 \
--output "/output/TraceAttributes.php" \
@ -48,27 +48,14 @@ docker run --rm \
-Dclass="Trace" \
-DschemaUrl=$SCHEMA_URL
docker run --rm \
-v "${SPEC_DIR}/semantic_conventions/trace:/source" \
-v "${SCRIPT_DIR}/templates:/templates" \
-v "${CODE_DIR}:/"output \
-u "${UID}" \
otel/semconvgen:$GENERATOR_VERSION \
-f /source code \
--template /templates/AttributeValues.php.j2 \
--output "/output/TraceAttributeValues.php" \
-Dnamespace="OpenTelemetry\\SemConv" \
-Dclass="Trace" \
-DschemaUrl=$SCHEMA_URL
# Resource
docker run --rm \
-v "${SPEC_DIR}/semantic_conventions/resource:/source" \
-v "${SPEC_DIR}/semantic_conventions:/source" \
-v "${SCRIPT_DIR}/templates:/templates" \
-v "${CODE_DIR}:/output" \
-u "${UID}" \
otel/semconvgen:$GENERATOR_VERSION \
--only resource \
-f /source code \
--template /templates/Attributes.php.j2 \
--output "/output/ResourceAttributes.php" \
@ -76,17 +63,4 @@ docker run --rm \
-Dclass="Resource" \
-DschemaUrl=$SCHEMA_URL
docker run --rm \
-v "${SPEC_DIR}/semantic_conventions/resource:/source" \
-v "${SCRIPT_DIR}/templates:/templates" \
-v "${CODE_DIR}:/output" \
-u "${UID}" \
otel/semconvgen:$GENERATOR_VERSION \
-f /source code \
--template /templates/AttributeValues.php.j2 \
--output "/output/ResourceAttributeValues.php" \
-Dnamespace="OpenTelemetry\\SemConv" \
-Dclass="Resource" \
-DschemaUrl=$SCHEMA_URL
rm -rf "${SPEC_DIR}" || true

View File

@ -19,10 +19,10 @@ interface {{ class }}Attributes
*
* {{ attribute.note | render_markdown(code="`{0}`", paragraph="{0}", link="{1}") | trim("\n")| regex_replace(pattern="\n", replace="\n * ") }}
{%- endif %}
{%- if attribute.examples or attribute.deprecated %}
{%- if attribute.examples or attribute.stability == "deprecated" %}
*
{%- if attribute.deprecated %}
* @deprecated {{ attribute.deprecated | render_markdown(code="`{0}`", paragraph="{0}", link="{{@link {0} {1}}}") | regex_replace(pattern="\n", replace="\n * ") }}
{%- if (attribute.stability | string()) == "StabilityLevel.DEPRECATED" %}
* @deprecated {{attribute.brief}}.
{%- endif %}
{%- for example in attribute.examples if example %}
* @example {{ example }}
@ -32,5 +32,7 @@ interface {{ class }}Attributes
public const {{ attribute.fqn | to_const_name }} = '{{ attribute.fqn }}';
{% if not loop.last %}{# blank line #}{% endif %}
{%- endfor -%}
{# add our own deprecations for moved/removed attributes, so we don't break things #}
{% include class|lower + "_deprecations.php.partial" ignore missing without context %}
}
{# blank line #}

View File

@ -0,0 +1,9 @@
/**
* @deprecated
*/
public const BROWSER_USER_AGENT = 'browser.user_agent';
/**
* @deprecated
*/
public const FAAS_ID = 'faas.id';

View File

@ -0,0 +1,89 @@
/**
* @deprecated
*/
public const FAAS_EXECUTION = 'faas.execution';
/**
* @deprecated
*/
public const HTTP_HOST = 'http.host';
/**
* @deprecated
*/
public const HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED = 'http.request_content_length_uncompressed';
/**
* @deprecated
*/
public const HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED = 'http.response_content_length_uncompressed';
/**
* @deprecated
*/
public const HTTP_RETRY_COUNT = 'http.retry_count';
/**
* @deprecated
*/
public const HTTP_SERVER_NAME = 'http.server_name';
/**
* @deprecated
*/
public const HTTP_USER_AGENT = 'http.user_agent';
/**
* @deprecated
*/
public const MESSAGING_CONVERSATION_ID = 'messaging.conversation_id';
/**
* @deprecated
*/
public const MESSAGING_DESTINATION = 'messaging.destination';
/**
* @deprecated
*/
public const MESSAGING_KAFKA_PARTITION = 'messaging.kafka.partition';
/**
* @deprecated
*/
public const MESSAGING_KAFKA_TOMBSTONE = 'messaging.kafka.tombstone';
/**
* @deprecated
*/
public const MESSAGING_PROTOCOL = 'messaging.protocol';
/**
* @deprecated
*/
public const MESSAGING_PROTOCOL_VERSION = 'messaging.protocol_version';
/**
* @deprecated
*/
public const MESSAGING_RABBITMQ_ROUTING_KEY = 'messaging.rabbitmq.routing_key';
/**
* @deprecated
*/
public const MESSAGING_TEMP_DESTINATION = 'messaging.temp_destination';
/**
* @deprecated
*/
public const MESSAGING_URL = 'messaging.url';
/**
* @deprecated
*/
public const NET_HOST_IP = 'net.host.ip';
/**
* @deprecated
*/
public const NET_PEER_IP = 'net.peer.ip';

View File

@ -5,7 +5,6 @@ declare(strict_types=1);
namespace OpenTelemetry\API\Trace;
use Closure;
use OpenTelemetry\SemConv\TraceAttributes;
use Throwable;
/**
@ -35,7 +34,7 @@ function trace(SpanInterface $span, Closure $closure, iterable $args = [])
return $c(...$a, ...($a = []));
} catch (Throwable $e) {
$s->setStatus(StatusCode::STATUS_ERROR, $e->getMessage());
$s->recordException($e, [TraceAttributes::EXCEPTION_ESCAPED => true]);
$s->recordException($e, ['exception.escaped' => true]);
throw $e;
} finally {

View File

@ -13,7 +13,6 @@
"require": {
"php": "^7.4 || ^8.0",
"open-telemetry/context": "^1.0",
"open-telemetry/sem-conv": "^1.0",
"psr/log": "^1.1|^2.0|^3.0",
"symfony/polyfill-php80": "^1.26",
"symfony/polyfill-php81": "^1.26",

View File

@ -1 +1,11 @@
# OpenTelemetry Semantic Conventions
Common semantic conventions used by OpenTelemetry implementations across all languages.
See https://opentelemetry.io/docs/concepts/semantic-conventions/.
## Installation
```shell
composer require open-telemetry/sem-conv
```

View File

@ -1,304 +0,0 @@
<?php
// DO NOT EDIT, this is an Auto-generated file from script/semantic-convention/templates/AttributeValues.php.j2
declare(strict_types=1);
namespace OpenTelemetry\SemConv;
interface ResourceAttributeValues
{
/**
* The URL of the OpenTelemetry schema for these keys and values.
*/
public const SCHEMA_URL = 'https://opentelemetry.io/schemas/1.12.0';
/**
* @see ResourceAttributes::CLOUD_PROVIDER Alibaba Cloud
*/
public const CLOUD_PROVIDER_ALIBABA_CLOUD = 'alibaba_cloud';
/**
* @see ResourceAttributes::CLOUD_PROVIDER Amazon Web Services
*/
public const CLOUD_PROVIDER_AWS = 'aws';
/**
* @see ResourceAttributes::CLOUD_PROVIDER Microsoft Azure
*/
public const CLOUD_PROVIDER_AZURE = 'azure';
/**
* @see ResourceAttributes::CLOUD_PROVIDER Google Cloud Platform
*/
public const CLOUD_PROVIDER_GCP = 'gcp';
/**
* @see ResourceAttributes::CLOUD_PROVIDER Tencent Cloud
*/
public const CLOUD_PROVIDER_TENCENT_CLOUD = 'tencent_cloud';
/**
* @see ResourceAttributes::CLOUD_PLATFORM Alibaba Cloud Elastic Compute Service
*/
public const CLOUD_PLATFORM_ALIBABA_CLOUD_ECS = 'alibaba_cloud_ecs';
/**
* @see ResourceAttributes::CLOUD_PLATFORM Alibaba Cloud Function Compute
*/
public const CLOUD_PLATFORM_ALIBABA_CLOUD_FC = 'alibaba_cloud_fc';
/**
* @see ResourceAttributes::CLOUD_PLATFORM AWS Elastic Compute Cloud
*/
public const CLOUD_PLATFORM_AWS_EC2 = 'aws_ec2';
/**
* @see ResourceAttributes::CLOUD_PLATFORM AWS Elastic Container Service
*/
public const CLOUD_PLATFORM_AWS_ECS = 'aws_ecs';
/**
* @see ResourceAttributes::CLOUD_PLATFORM AWS Elastic Kubernetes Service
*/
public const CLOUD_PLATFORM_AWS_EKS = 'aws_eks';
/**
* @see ResourceAttributes::CLOUD_PLATFORM AWS Lambda
*/
public const CLOUD_PLATFORM_AWS_LAMBDA = 'aws_lambda';
/**
* @see ResourceAttributes::CLOUD_PLATFORM AWS Elastic Beanstalk
*/
public const CLOUD_PLATFORM_AWS_ELASTIC_BEANSTALK = 'aws_elastic_beanstalk';
/**
* @see ResourceAttributes::CLOUD_PLATFORM AWS App Runner
*/
public const CLOUD_PLATFORM_AWS_APP_RUNNER = 'aws_app_runner';
/**
* @see ResourceAttributes::CLOUD_PLATFORM Azure Virtual Machines
*/
public const CLOUD_PLATFORM_AZURE_VM = 'azure_vm';
/**
* @see ResourceAttributes::CLOUD_PLATFORM Azure Container Instances
*/
public const CLOUD_PLATFORM_AZURE_CONTAINER_INSTANCES = 'azure_container_instances';
/**
* @see ResourceAttributes::CLOUD_PLATFORM Azure Kubernetes Service
*/
public const CLOUD_PLATFORM_AZURE_AKS = 'azure_aks';
/**
* @see ResourceAttributes::CLOUD_PLATFORM Azure Functions
*/
public const CLOUD_PLATFORM_AZURE_FUNCTIONS = 'azure_functions';
/**
* @see ResourceAttributes::CLOUD_PLATFORM Azure App Service
*/
public const CLOUD_PLATFORM_AZURE_APP_SERVICE = 'azure_app_service';
/**
* @see ResourceAttributes::CLOUD_PLATFORM Google Cloud Compute Engine (GCE)
*/
public const CLOUD_PLATFORM_GCP_COMPUTE_ENGINE = 'gcp_compute_engine';
/**
* @see ResourceAttributes::CLOUD_PLATFORM Google Cloud Run
*/
public const CLOUD_PLATFORM_GCP_CLOUD_RUN = 'gcp_cloud_run';
/**
* @see ResourceAttributes::CLOUD_PLATFORM Google Cloud Kubernetes Engine (GKE)
*/
public const CLOUD_PLATFORM_GCP_KUBERNETES_ENGINE = 'gcp_kubernetes_engine';
/**
* @see ResourceAttributes::CLOUD_PLATFORM Google Cloud Functions (GCF)
*/
public const CLOUD_PLATFORM_GCP_CLOUD_FUNCTIONS = 'gcp_cloud_functions';
/**
* @see ResourceAttributes::CLOUD_PLATFORM Google Cloud App Engine (GAE)
*/
public const CLOUD_PLATFORM_GCP_APP_ENGINE = 'gcp_app_engine';
/**
* @see ResourceAttributes::CLOUD_PLATFORM Tencent Cloud Cloud Virtual Machine (CVM)
*/
public const CLOUD_PLATFORM_TENCENT_CLOUD_CVM = 'tencent_cloud_cvm';
/**
* @see ResourceAttributes::CLOUD_PLATFORM Tencent Cloud Elastic Kubernetes Service (EKS)
*/
public const CLOUD_PLATFORM_TENCENT_CLOUD_EKS = 'tencent_cloud_eks';
/**
* @see ResourceAttributes::CLOUD_PLATFORM Tencent Cloud Serverless Cloud Function (SCF)
*/
public const CLOUD_PLATFORM_TENCENT_CLOUD_SCF = 'tencent_cloud_scf';
/**
* @see ResourceAttributes::AWS_ECS_LAUNCHTYPE ec2
*/
public const AWS_ECS_LAUNCHTYPE_EC2 = 'ec2';
/**
* @see ResourceAttributes::AWS_ECS_LAUNCHTYPE fargate
*/
public const AWS_ECS_LAUNCHTYPE_FARGATE = 'fargate';
/**
* @see ResourceAttributes::HOST_ARCH AMD64
*/
public const HOST_ARCH_AMD64 = 'amd64';
/**
* @see ResourceAttributes::HOST_ARCH ARM32
*/
public const HOST_ARCH_ARM32 = 'arm32';
/**
* @see ResourceAttributes::HOST_ARCH ARM64
*/
public const HOST_ARCH_ARM64 = 'arm64';
/**
* @see ResourceAttributes::HOST_ARCH Itanium
*/
public const HOST_ARCH_IA64 = 'ia64';
/**
* @see ResourceAttributes::HOST_ARCH 32-bit PowerPC
*/
public const HOST_ARCH_PPC32 = 'ppc32';
/**
* @see ResourceAttributes::HOST_ARCH 64-bit PowerPC
*/
public const HOST_ARCH_PPC64 = 'ppc64';
/**
* @see ResourceAttributes::HOST_ARCH IBM z/Architecture
*/
public const HOST_ARCH_S390X = 's390x';
/**
* @see ResourceAttributes::HOST_ARCH 32-bit x86
*/
public const HOST_ARCH_X86 = 'x86';
/**
* @see ResourceAttributes::OS_TYPE Microsoft Windows
*/
public const OS_TYPE_WINDOWS = 'windows';
/**
* @see ResourceAttributes::OS_TYPE Linux
*/
public const OS_TYPE_LINUX = 'linux';
/**
* @see ResourceAttributes::OS_TYPE Apple Darwin
*/
public const OS_TYPE_DARWIN = 'darwin';
/**
* @see ResourceAttributes::OS_TYPE FreeBSD
*/
public const OS_TYPE_FREEBSD = 'freebsd';
/**
* @see ResourceAttributes::OS_TYPE NetBSD
*/
public const OS_TYPE_NETBSD = 'netbsd';
/**
* @see ResourceAttributes::OS_TYPE OpenBSD
*/
public const OS_TYPE_OPENBSD = 'openbsd';
/**
* @see ResourceAttributes::OS_TYPE DragonFly BSD
*/
public const OS_TYPE_DRAGONFLYBSD = 'dragonflybsd';
/**
* @see ResourceAttributes::OS_TYPE HP-UX (Hewlett Packard Unix)
*/
public const OS_TYPE_HPUX = 'hpux';
/**
* @see ResourceAttributes::OS_TYPE AIX (Advanced Interactive eXecutive)
*/
public const OS_TYPE_AIX = 'aix';
/**
* @see ResourceAttributes::OS_TYPE SunOS, Oracle Solaris
*/
public const OS_TYPE_SOLARIS = 'solaris';
/**
* @see ResourceAttributes::OS_TYPE IBM z/OS
*/
public const OS_TYPE_Z_OS = 'z_os';
/**
* @see ResourceAttributes::TELEMETRY_SDK_LANGUAGE cpp
*/
public const TELEMETRY_SDK_LANGUAGE_CPP = 'cpp';
/**
* @see ResourceAttributes::TELEMETRY_SDK_LANGUAGE dotnet
*/
public const TELEMETRY_SDK_LANGUAGE_DOTNET = 'dotnet';
/**
* @see ResourceAttributes::TELEMETRY_SDK_LANGUAGE erlang
*/
public const TELEMETRY_SDK_LANGUAGE_ERLANG = 'erlang';
/**
* @see ResourceAttributes::TELEMETRY_SDK_LANGUAGE go
*/
public const TELEMETRY_SDK_LANGUAGE_GO = 'go';
/**
* @see ResourceAttributes::TELEMETRY_SDK_LANGUAGE java
*/
public const TELEMETRY_SDK_LANGUAGE_JAVA = 'java';
/**
* @see ResourceAttributes::TELEMETRY_SDK_LANGUAGE nodejs
*/
public const TELEMETRY_SDK_LANGUAGE_NODEJS = 'nodejs';
/**
* @see ResourceAttributes::TELEMETRY_SDK_LANGUAGE php
*/
public const TELEMETRY_SDK_LANGUAGE_PHP = 'php';
/**
* @see ResourceAttributes::TELEMETRY_SDK_LANGUAGE python
*/
public const TELEMETRY_SDK_LANGUAGE_PYTHON = 'python';
/**
* @see ResourceAttributes::TELEMETRY_SDK_LANGUAGE ruby
*/
public const TELEMETRY_SDK_LANGUAGE_RUBY = 'ruby';
/**
* @see ResourceAttributes::TELEMETRY_SDK_LANGUAGE webjs
*/
public const TELEMETRY_SDK_LANGUAGE_WEBJS = 'webjs';
/**
* @see ResourceAttributes::TELEMETRY_SDK_LANGUAGE swift
*/
public const TELEMETRY_SDK_LANGUAGE_SWIFT = 'swift';
}

View File

@ -11,12 +11,12 @@ interface ResourceAttributes
/**
* The URL of the OpenTelemetry schema for these keys and values.
*/
public const SCHEMA_URL = 'https://opentelemetry.io/schemas/1.12.0';
public const SCHEMA_URL = 'https://opentelemetry.io/schemas/1.19.0';
/**
* Array of brand name and version separated by a space.
*
* This value is intended to be taken from the UA client hints API (navigator.userAgentData.brands).
* This value is intended to be taken from the UA client hints API (`navigator.userAgentData.brands`).
*
* @example Not A;Brand 99
* @example Chromium 99
@ -27,8 +27,8 @@ interface ResourceAttributes
/**
* The platform on which the browser is running.
*
* This value is intended to be taken from the UA client hints API (navigator.userAgentData.platform). If unavailable, the legacy `navigator.platform` API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the values to be consistent.
* The list of possible values is defined in the W3C User-Agent Client Hints specification. Note that some (but not all) of these values can overlap with values in the os.type and os.name attributes. However, for consistency, the values in the `browser.platform` attribute should capture the exact value that the user agent provides.
* This value is intended to be taken from the UA client hints API (`navigator.userAgentData.platform`). If unavailable, the legacy `navigator.platform` API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the values to be consistent.
* The list of possible values is defined in the W3C User-Agent Client Hints specification. Note that some (but not all) of these values can overlap with values in the `os.type` and `os.name` attributes. However, for consistency, the values in the `browser.platform` attribute should capture the exact value that the user agent provides.
*
* @example Windows
* @example macOS
@ -36,6 +36,25 @@ interface ResourceAttributes
*/
public const BROWSER_PLATFORM = 'browser.platform';
/**
* A boolean that is true if the browser is running on a mobile device.
*
* This value is intended to be taken from the UA client hints API (`navigator.userAgentData.mobile`). If unavailable, this attribute SHOULD be left unset.
*/
public const BROWSER_MOBILE = 'browser.mobile';
/**
* Preferred language of the user using the browser.
*
* This value is intended to be taken from the Navigator API `navigator.language`.
*
* @example en
* @example en-US
* @example fr
* @example fr-FR
*/
public const BROWSER_LANGUAGE = 'browser.language';
/**
* Full user-agent string provided by the browser.
*
@ -43,7 +62,7 @@ interface ResourceAttributes
*
* @example Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36
*/
public const BROWSER_USER_AGENT = 'browser.user_agent';
public const USER_AGENT_ORIGINAL = 'user_agent.original';
/**
* Name of the cloud provider.
@ -68,6 +87,31 @@ interface ResourceAttributes
*/
public const CLOUD_REGION = 'cloud.region';
/**
* Cloud provider-specific native identifier of the monitored cloud resource (e.g. an ARN on AWS, a fully qualified resource ID on Azure, a full resource name on GCP).
*
* On some cloud providers, it may not be possible to determine the full ID at startup,
* so it may be necessary to set `cloud.resource_id` as a span attribute instead.The exact value to use for `cloud.resource_id` depends on the cloud provider.
* The following well-known definitions MUST be used if you set this attribute and they apply:<ul>
* <li><strong>AWS Lambda:</strong> The function ARN.
* Take care not to use the &quot;invoked ARN&quot; directly but replace any
* alias suffix
* with the resolved function version, as the same runtime instance may be invokable with
* multiple different aliases.</li>
* <li><strong>GCP:</strong> The URI of the resource</li>
* <li><strong>Azure:</strong> The Fully Qualified Resource ID of the invoked function,
* <em>not</em> the function app, having the form
* `/subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>`.
* This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share
* a TracerProvider.</li>
* </ul>
*
* @example arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function
* @example //run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID
* @example /subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>
*/
public const CLOUD_RESOURCE_ID = 'cloud.resource_id';
/**
* Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running.
*
@ -167,6 +211,27 @@ interface ResourceAttributes
*/
public const AWS_LOG_STREAM_ARNS = 'aws.log.stream.arns';
/**
* Time and date the release was created.
*
* @example 2022-10-23T18:00:42Z
*/
public const HEROKU_RELEASE_CREATION_TIMESTAMP = 'heroku.release.creation_timestamp';
/**
* Commit hash for the current release.
*
* @example e6134959463efd8966b20e75b913cafe3f5ec
*/
public const HEROKU_RELEASE_COMMIT = 'heroku.release.commit';
/**
* Unique identifier for the application.
*
* @example 2daa2797-e42b-4624-9322-ec3f968df4da
*/
public const HEROKU_APP_ID = 'heroku.app.id';
/**
* Container name used by container runtime.
*
@ -266,7 +331,7 @@ interface ResourceAttributes
* can also be seen in the resource JSON for the function).
* This means that a span attribute MUST be used, as an Azure function
* app can host multiple functions that would usually share
* a TracerProvider (see also the `faas.id` attribute).</li>
* a TracerProvider (see also the `cloud.resource_id` attribute).</li>
* </ul>
*
* @example my-function
@ -274,28 +339,6 @@ interface ResourceAttributes
*/
public const FAAS_NAME = 'faas.name';
/**
* The unique ID of the single function that this runtime instance executes.
*
* On some cloud providers, it may not be possible to determine the full ID at startup,
* so consider setting `faas.id` as a span attribute instead.The exact value to use for `faas.id` depends on the cloud provider:<ul>
* <li><strong>AWS Lambda:</strong> The function ARN.
* Take care not to use the &quot;invoked ARN&quot; directly but replace any
* alias suffix
* with the resolved function version, as the same runtime instance may be invokable with
* multiple different aliases.</li>
* <li><strong>GCP:</strong> The URI of the resource</li>
* <li><strong>Azure:</strong> The Fully Qualified Resource ID of the invoked function,
* <em>not</em> the function app, having the form
* `/subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>`.
* This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share
* a TracerProvider.</li>
* </ul>
*
* @example arn:aws:lambda:us-west-2:123456789012:function:my-function
*/
public const FAAS_ID = 'faas.id';
/**
* The immutable version of the function being executed.
*
@ -326,18 +369,18 @@ interface ResourceAttributes
public const FAAS_INSTANCE = 'faas.instance';
/**
* The amount of memory available to the serverless function in MiB.
* The amount of memory available to the serverless function converted to Bytes.
*
* It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this information.
* It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this information (which must be multiplied by 1,048,576).
*
* @example 128
* @example 134217728
*/
public const FAAS_MAX_MEMORY = 'faas.max_memory';
/**
* Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider.
* Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For non-containerized systems, this should be the `machine-id`. See the table below for the sources to use to determine the `machine-id` based on operating system.
*
* @example opentelemetry-test
* @example fdbf79e8af94cb7f9e8df36789187052
*/
public const HOST_ID = 'host.id';
@ -559,6 +602,13 @@ interface ResourceAttributes
*/
public const PROCESS_PID = 'process.pid';
/**
* Parent Process identifier (PID).
*
* @example 111
*/
public const PROCESS_PARENT_PID = 'process.parent_pid';
/**
* The name of the process executable. On Linux based systems, can be set to the `Name` in `proc/[pid]/status`. On Windows, can be set to the base name of `GetProcessImageFileNameW`.
*
@ -703,4 +753,44 @@ interface ResourceAttributes
* @example WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) - 2.2.2.Final
*/
public const WEBENGINE_DESCRIPTION = 'webengine.description';
/**
* The name of the instrumentation scope - (`InstrumentationScope.Name` in OTLP).
*
* @example io.opentelemetry.contrib.mongodb
*/
public const OTEL_SCOPE_NAME = 'otel.scope.name';
/**
* The version of the instrumentation scope - (`InstrumentationScope.Version` in OTLP).
*
* @example 1.0.0
*/
public const OTEL_SCOPE_VERSION = 'otel.scope.version';
/**
* Deprecated, use the `otel.scope.name` attribute.
*
* @deprecated Deprecated, use the `otel.scope.name` attribute..
* @example io.opentelemetry.contrib.mongodb
*/
public const OTEL_LIBRARY_NAME = 'otel.library.name';
/**
* Deprecated, use the `otel.scope.version` attribute.
*
* @deprecated Deprecated, use the `otel.scope.version` attribute..
* @example 1.0.0
*/
public const OTEL_LIBRARY_VERSION = 'otel.library.version';
/**
* @deprecated
*/
public const BROWSER_USER_AGENT = 'browser.user_agent';
/**
* @deprecated
*/
public const FAAS_ID = 'faas.id';
}

View File

@ -1,741 +0,0 @@
<?php
// DO NOT EDIT, this is an Auto-generated file from script/semantic-convention/templates/AttributeValues.php.j2
declare(strict_types=1);
namespace OpenTelemetry\SemConv;
interface TraceAttributeValues
{
/**
* The URL of the OpenTelemetry schema for these keys and values.
*/
public const SCHEMA_URL = 'https://opentelemetry.io/schemas/1.12.0';
/**
* @see TraceAttributes::OPENTRACING_REF_TYPE The parent Span depends on the child Span in some capacity
*/
public const OPENTRACING_REF_TYPE_CHILD_OF = 'child_of';
/**
* @see TraceAttributes::OPENTRACING_REF_TYPE The parent Span does not depend in any way on the result of the child Span
*/
public const OPENTRACING_REF_TYPE_FOLLOWS_FROM = 'follows_from';
/**
* @see TraceAttributes::DB_SYSTEM Some other SQL database. Fallback only. See notes
*/
public const DB_SYSTEM_OTHER_SQL = 'other_sql';
/**
* @see TraceAttributes::DB_SYSTEM Microsoft SQL Server
*/
public const DB_SYSTEM_MSSQL = 'mssql';
/**
* @see TraceAttributes::DB_SYSTEM MySQL
*/
public const DB_SYSTEM_MYSQL = 'mysql';
/**
* @see TraceAttributes::DB_SYSTEM Oracle Database
*/
public const DB_SYSTEM_ORACLE = 'oracle';
/**
* @see TraceAttributes::DB_SYSTEM IBM Db2
*/
public const DB_SYSTEM_DB2 = 'db2';
/**
* @see TraceAttributes::DB_SYSTEM PostgreSQL
*/
public const DB_SYSTEM_POSTGRESQL = 'postgresql';
/**
* @see TraceAttributes::DB_SYSTEM Amazon Redshift
*/
public const DB_SYSTEM_REDSHIFT = 'redshift';
/**
* @see TraceAttributes::DB_SYSTEM Apache Hive
*/
public const DB_SYSTEM_HIVE = 'hive';
/**
* @see TraceAttributes::DB_SYSTEM Cloudscape
*/
public const DB_SYSTEM_CLOUDSCAPE = 'cloudscape';
/**
* @see TraceAttributes::DB_SYSTEM HyperSQL DataBase
*/
public const DB_SYSTEM_HSQLDB = 'hsqldb';
/**
* @see TraceAttributes::DB_SYSTEM Progress Database
*/
public const DB_SYSTEM_PROGRESS = 'progress';
/**
* @see TraceAttributes::DB_SYSTEM SAP MaxDB
*/
public const DB_SYSTEM_MAXDB = 'maxdb';
/**
* @see TraceAttributes::DB_SYSTEM SAP HANA
*/
public const DB_SYSTEM_HANADB = 'hanadb';
/**
* @see TraceAttributes::DB_SYSTEM Ingres
*/
public const DB_SYSTEM_INGRES = 'ingres';
/**
* @see TraceAttributes::DB_SYSTEM FirstSQL
*/
public const DB_SYSTEM_FIRSTSQL = 'firstsql';
/**
* @see TraceAttributes::DB_SYSTEM EnterpriseDB
*/
public const DB_SYSTEM_EDB = 'edb';
/**
* @see TraceAttributes::DB_SYSTEM InterSystems Caché
*/
public const DB_SYSTEM_CACHE = 'cache';
/**
* @see TraceAttributes::DB_SYSTEM Adabas (Adaptable Database System)
*/
public const DB_SYSTEM_ADABAS = 'adabas';
/**
* @see TraceAttributes::DB_SYSTEM Firebird
*/
public const DB_SYSTEM_FIREBIRD = 'firebird';
/**
* @see TraceAttributes::DB_SYSTEM Apache Derby
*/
public const DB_SYSTEM_DERBY = 'derby';
/**
* @see TraceAttributes::DB_SYSTEM FileMaker
*/
public const DB_SYSTEM_FILEMAKER = 'filemaker';
/**
* @see TraceAttributes::DB_SYSTEM Informix
*/
public const DB_SYSTEM_INFORMIX = 'informix';
/**
* @see TraceAttributes::DB_SYSTEM InstantDB
*/
public const DB_SYSTEM_INSTANTDB = 'instantdb';
/**
* @see TraceAttributes::DB_SYSTEM InterBase
*/
public const DB_SYSTEM_INTERBASE = 'interbase';
/**
* @see TraceAttributes::DB_SYSTEM MariaDB
*/
public const DB_SYSTEM_MARIADB = 'mariadb';
/**
* @see TraceAttributes::DB_SYSTEM Netezza
*/
public const DB_SYSTEM_NETEZZA = 'netezza';
/**
* @see TraceAttributes::DB_SYSTEM Pervasive PSQL
*/
public const DB_SYSTEM_PERVASIVE = 'pervasive';
/**
* @see TraceAttributes::DB_SYSTEM PointBase
*/
public const DB_SYSTEM_POINTBASE = 'pointbase';
/**
* @see TraceAttributes::DB_SYSTEM SQLite
*/
public const DB_SYSTEM_SQLITE = 'sqlite';
/**
* @see TraceAttributes::DB_SYSTEM Sybase
*/
public const DB_SYSTEM_SYBASE = 'sybase';
/**
* @see TraceAttributes::DB_SYSTEM Teradata
*/
public const DB_SYSTEM_TERADATA = 'teradata';
/**
* @see TraceAttributes::DB_SYSTEM Vertica
*/
public const DB_SYSTEM_VERTICA = 'vertica';
/**
* @see TraceAttributes::DB_SYSTEM H2
*/
public const DB_SYSTEM_H2 = 'h2';
/**
* @see TraceAttributes::DB_SYSTEM ColdFusion IMQ
*/
public const DB_SYSTEM_COLDFUSION = 'coldfusion';
/**
* @see TraceAttributes::DB_SYSTEM Apache Cassandra
*/
public const DB_SYSTEM_CASSANDRA = 'cassandra';
/**
* @see TraceAttributes::DB_SYSTEM Apache HBase
*/
public const DB_SYSTEM_HBASE = 'hbase';
/**
* @see TraceAttributes::DB_SYSTEM MongoDB
*/
public const DB_SYSTEM_MONGODB = 'mongodb';
/**
* @see TraceAttributes::DB_SYSTEM Redis
*/
public const DB_SYSTEM_REDIS = 'redis';
/**
* @see TraceAttributes::DB_SYSTEM Couchbase
*/
public const DB_SYSTEM_COUCHBASE = 'couchbase';
/**
* @see TraceAttributes::DB_SYSTEM CouchDB
*/
public const DB_SYSTEM_COUCHDB = 'couchdb';
/**
* @see TraceAttributes::DB_SYSTEM Microsoft Azure Cosmos DB
*/
public const DB_SYSTEM_COSMOSDB = 'cosmosdb';
/**
* @see TraceAttributes::DB_SYSTEM Amazon DynamoDB
*/
public const DB_SYSTEM_DYNAMODB = 'dynamodb';
/**
* @see TraceAttributes::DB_SYSTEM Neo4j
*/
public const DB_SYSTEM_NEO4J = 'neo4j';
/**
* @see TraceAttributes::DB_SYSTEM Apache Geode
*/
public const DB_SYSTEM_GEODE = 'geode';
/**
* @see TraceAttributes::DB_SYSTEM Elasticsearch
*/
public const DB_SYSTEM_ELASTICSEARCH = 'elasticsearch';
/**
* @see TraceAttributes::DB_SYSTEM Memcached
*/
public const DB_SYSTEM_MEMCACHED = 'memcached';
/**
* @see TraceAttributes::DB_SYSTEM CockroachDB
*/
public const DB_SYSTEM_COCKROACHDB = 'cockroachdb';
/**
* @see TraceAttributes::NET_TRANSPORT ip_tcp
*/
public const NET_TRANSPORT_IP_TCP = 'ip_tcp';
/**
* @see TraceAttributes::NET_TRANSPORT ip_udp
*/
public const NET_TRANSPORT_IP_UDP = 'ip_udp';
/**
* @see TraceAttributes::NET_TRANSPORT Another IP-based protocol
*/
public const NET_TRANSPORT_IP = 'ip';
/**
* @see TraceAttributes::NET_TRANSPORT Unix Domain socket. See below
*/
public const NET_TRANSPORT_UNIX = 'unix';
/**
* @see TraceAttributes::NET_TRANSPORT Named or anonymous pipe. See note below
*/
public const NET_TRANSPORT_PIPE = 'pipe';
/**
* @see TraceAttributes::NET_TRANSPORT In-process communication
*
* Signals that there is only in-process communication not using a &quot;real&quot; network protocol in cases where network attributes would normally be expected. Usually all other network attributes can be left out in that case.
*/
public const NET_TRANSPORT_INPROC = 'inproc';
/**
* @see TraceAttributes::NET_TRANSPORT Something else (non IP-based)
*/
public const NET_TRANSPORT_OTHER = 'other';
/**
* @see TraceAttributes::DB_CASSANDRA_CONSISTENCY_LEVEL all
*/
public const DB_CASSANDRA_CONSISTENCY_LEVEL_ALL = 'all';
/**
* @see TraceAttributes::DB_CASSANDRA_CONSISTENCY_LEVEL each_quorum
*/
public const DB_CASSANDRA_CONSISTENCY_LEVEL_EACH_QUORUM = 'each_quorum';
/**
* @see TraceAttributes::DB_CASSANDRA_CONSISTENCY_LEVEL quorum
*/
public const DB_CASSANDRA_CONSISTENCY_LEVEL_QUORUM = 'quorum';
/**
* @see TraceAttributes::DB_CASSANDRA_CONSISTENCY_LEVEL local_quorum
*/
public const DB_CASSANDRA_CONSISTENCY_LEVEL_LOCAL_QUORUM = 'local_quorum';
/**
* @see TraceAttributes::DB_CASSANDRA_CONSISTENCY_LEVEL one
*/
public const DB_CASSANDRA_CONSISTENCY_LEVEL_ONE = 'one';
/**
* @see TraceAttributes::DB_CASSANDRA_CONSISTENCY_LEVEL two
*/
public const DB_CASSANDRA_CONSISTENCY_LEVEL_TWO = 'two';
/**
* @see TraceAttributes::DB_CASSANDRA_CONSISTENCY_LEVEL three
*/
public const DB_CASSANDRA_CONSISTENCY_LEVEL_THREE = 'three';
/**
* @see TraceAttributes::DB_CASSANDRA_CONSISTENCY_LEVEL local_one
*/
public const DB_CASSANDRA_CONSISTENCY_LEVEL_LOCAL_ONE = 'local_one';
/**
* @see TraceAttributes::DB_CASSANDRA_CONSISTENCY_LEVEL any
*/
public const DB_CASSANDRA_CONSISTENCY_LEVEL_ANY = 'any';
/**
* @see TraceAttributes::DB_CASSANDRA_CONSISTENCY_LEVEL serial
*/
public const DB_CASSANDRA_CONSISTENCY_LEVEL_SERIAL = 'serial';
/**
* @see TraceAttributes::DB_CASSANDRA_CONSISTENCY_LEVEL local_serial
*/
public const DB_CASSANDRA_CONSISTENCY_LEVEL_LOCAL_SERIAL = 'local_serial';
/**
* @see TraceAttributes::FAAS_TRIGGER A response to some data source operation such as a database or filesystem read/write
*/
public const FAAS_TRIGGER_DATASOURCE = 'datasource';
/**
* @see TraceAttributes::FAAS_TRIGGER To provide an answer to an inbound HTTP request
*/
public const FAAS_TRIGGER_HTTP = 'http';
/**
* @see TraceAttributes::FAAS_TRIGGER A function is set to be executed when messages are sent to a messaging system
*/
public const FAAS_TRIGGER_PUBSUB = 'pubsub';
/**
* @see TraceAttributes::FAAS_TRIGGER A function is scheduled to be executed regularly
*/
public const FAAS_TRIGGER_TIMER = 'timer';
/**
* @see TraceAttributes::FAAS_TRIGGER If none of the others apply
*/
public const FAAS_TRIGGER_OTHER = 'other';
/**
* @see TraceAttributes::FAAS_DOCUMENT_OPERATION When a new object is created
*/
public const FAAS_DOCUMENT_OPERATION_INSERT = 'insert';
/**
* @see TraceAttributes::FAAS_DOCUMENT_OPERATION When an object is modified
*/
public const FAAS_DOCUMENT_OPERATION_EDIT = 'edit';
/**
* @see TraceAttributes::FAAS_DOCUMENT_OPERATION When an object is deleted
*/
public const FAAS_DOCUMENT_OPERATION_DELETE = 'delete';
/**
* @see TraceAttributes::HTTP_FLAVOR HTTP/1.0
*/
public const HTTP_FLAVOR_HTTP_1_0 = '1.0';
/**
* @see TraceAttributes::HTTP_FLAVOR HTTP/1.1
*/
public const HTTP_FLAVOR_HTTP_1_1 = '1.1';
/**
* @see TraceAttributes::HTTP_FLAVOR HTTP/2
*/
public const HTTP_FLAVOR_HTTP_2_0 = '2.0';
/**
* @see TraceAttributes::HTTP_FLAVOR HTTP/3
*/
public const HTTP_FLAVOR_HTTP_3_0 = '3.0';
/**
* @see TraceAttributes::HTTP_FLAVOR SPDY protocol
*/
public const HTTP_FLAVOR_SPDY = 'SPDY';
/**
* @see TraceAttributes::HTTP_FLAVOR QUIC protocol
*/
public const HTTP_FLAVOR_QUIC = 'QUIC';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_TYPE wifi
*/
public const NET_HOST_CONNECTION_TYPE_WIFI = 'wifi';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_TYPE wired
*/
public const NET_HOST_CONNECTION_TYPE_WIRED = 'wired';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_TYPE cell
*/
public const NET_HOST_CONNECTION_TYPE_CELL = 'cell';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_TYPE unavailable
*/
public const NET_HOST_CONNECTION_TYPE_UNAVAILABLE = 'unavailable';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_TYPE unknown
*/
public const NET_HOST_CONNECTION_TYPE_UNKNOWN = 'unknown';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE GPRS
*/
public const NET_HOST_CONNECTION_SUBTYPE_GPRS = 'gprs';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE EDGE
*/
public const NET_HOST_CONNECTION_SUBTYPE_EDGE = 'edge';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE UMTS
*/
public const NET_HOST_CONNECTION_SUBTYPE_UMTS = 'umts';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE CDMA
*/
public const NET_HOST_CONNECTION_SUBTYPE_CDMA = 'cdma';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE EVDO Rel. 0
*/
public const NET_HOST_CONNECTION_SUBTYPE_EVDO_0 = 'evdo_0';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE EVDO Rev. A
*/
public const NET_HOST_CONNECTION_SUBTYPE_EVDO_A = 'evdo_a';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE CDMA2000 1XRTT
*/
public const NET_HOST_CONNECTION_SUBTYPE_CDMA2000_1XRTT = 'cdma2000_1xrtt';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE HSDPA
*/
public const NET_HOST_CONNECTION_SUBTYPE_HSDPA = 'hsdpa';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE HSUPA
*/
public const NET_HOST_CONNECTION_SUBTYPE_HSUPA = 'hsupa';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE HSPA
*/
public const NET_HOST_CONNECTION_SUBTYPE_HSPA = 'hspa';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE IDEN
*/
public const NET_HOST_CONNECTION_SUBTYPE_IDEN = 'iden';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE EVDO Rev. B
*/
public const NET_HOST_CONNECTION_SUBTYPE_EVDO_B = 'evdo_b';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE LTE
*/
public const NET_HOST_CONNECTION_SUBTYPE_LTE = 'lte';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE EHRPD
*/
public const NET_HOST_CONNECTION_SUBTYPE_EHRPD = 'ehrpd';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE HSPAP
*/
public const NET_HOST_CONNECTION_SUBTYPE_HSPAP = 'hspap';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE GSM
*/
public const NET_HOST_CONNECTION_SUBTYPE_GSM = 'gsm';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE TD-SCDMA
*/
public const NET_HOST_CONNECTION_SUBTYPE_TD_SCDMA = 'td_scdma';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE IWLAN
*/
public const NET_HOST_CONNECTION_SUBTYPE_IWLAN = 'iwlan';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE 5G NR (New Radio)
*/
public const NET_HOST_CONNECTION_SUBTYPE_NR = 'nr';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE 5G NRNSA (New Radio Non-Standalone)
*/
public const NET_HOST_CONNECTION_SUBTYPE_NRNSA = 'nrnsa';
/**
* @see TraceAttributes::NET_HOST_CONNECTION_SUBTYPE LTE CA
*/
public const NET_HOST_CONNECTION_SUBTYPE_LTE_CA = 'lte_ca';
/**
* @see TraceAttributes::MESSAGING_DESTINATION_KIND A message sent to a queue
*/
public const MESSAGING_DESTINATION_KIND_QUEUE = 'queue';
/**
* @see TraceAttributes::MESSAGING_DESTINATION_KIND A message sent to a topic
*/
public const MESSAGING_DESTINATION_KIND_TOPIC = 'topic';
/**
* @see TraceAttributes::FAAS_INVOKED_PROVIDER Alibaba Cloud
*/
public const FAAS_INVOKED_PROVIDER_ALIBABA_CLOUD = 'alibaba_cloud';
/**
* @see TraceAttributes::FAAS_INVOKED_PROVIDER Amazon Web Services
*/
public const FAAS_INVOKED_PROVIDER_AWS = 'aws';
/**
* @see TraceAttributes::FAAS_INVOKED_PROVIDER Microsoft Azure
*/
public const FAAS_INVOKED_PROVIDER_AZURE = 'azure';
/**
* @see TraceAttributes::FAAS_INVOKED_PROVIDER Google Cloud Platform
*/
public const FAAS_INVOKED_PROVIDER_GCP = 'gcp';
/**
* @see TraceAttributes::FAAS_INVOKED_PROVIDER Tencent Cloud
*/
public const FAAS_INVOKED_PROVIDER_TENCENT_CLOUD = 'tencent_cloud';
/**
* @see TraceAttributes::RPC_SYSTEM gRPC
*/
public const RPC_SYSTEM_GRPC = 'grpc';
/**
* @see TraceAttributes::RPC_SYSTEM Java RMI
*/
public const RPC_SYSTEM_JAVA_RMI = 'java_rmi';
/**
* @see TraceAttributes::RPC_SYSTEM .NET WCF
*/
public const RPC_SYSTEM_DOTNET_WCF = 'dotnet_wcf';
/**
* @see TraceAttributes::RPC_SYSTEM Apache Dubbo
*/
public const RPC_SYSTEM_APACHE_DUBBO = 'apache_dubbo';
/**
* @see TraceAttributes::MESSAGING_OPERATION receive
*/
public const MESSAGING_OPERATION_RECEIVE = 'receive';
/**
* @see TraceAttributes::MESSAGING_OPERATION process
*/
public const MESSAGING_OPERATION_PROCESS = 'process';
/**
* @see TraceAttributes::MESSAGING_ROCKETMQ_MESSAGE_TYPE Normal message
*/
public const MESSAGING_ROCKETMQ_MESSAGE_TYPE_NORMAL = 'normal';
/**
* @see TraceAttributes::MESSAGING_ROCKETMQ_MESSAGE_TYPE FIFO message
*/
public const MESSAGING_ROCKETMQ_MESSAGE_TYPE_FIFO = 'fifo';
/**
* @see TraceAttributes::MESSAGING_ROCKETMQ_MESSAGE_TYPE Delay message
*/
public const MESSAGING_ROCKETMQ_MESSAGE_TYPE_DELAY = 'delay';
/**
* @see TraceAttributes::MESSAGING_ROCKETMQ_MESSAGE_TYPE Transaction message
*/
public const MESSAGING_ROCKETMQ_MESSAGE_TYPE_TRANSACTION = 'transaction';
/**
* @see TraceAttributes::MESSAGING_ROCKETMQ_CONSUMPTION_MODEL Clustering consumption model
*/
public const MESSAGING_ROCKETMQ_CONSUMPTION_MODEL_CLUSTERING = 'clustering';
/**
* @see TraceAttributes::MESSAGING_ROCKETMQ_CONSUMPTION_MODEL Broadcasting consumption model
*/
public const MESSAGING_ROCKETMQ_CONSUMPTION_MODEL_BROADCASTING = 'broadcasting';
/**
* @see TraceAttributes::RPC_GRPC_STATUS_CODE OK
*/
public const RPC_GRPC_STATUS_CODE_OK = '0';
/**
* @see TraceAttributes::RPC_GRPC_STATUS_CODE CANCELLED
*/
public const RPC_GRPC_STATUS_CODE_CANCELLED = '1';
/**
* @see TraceAttributes::RPC_GRPC_STATUS_CODE UNKNOWN
*/
public const RPC_GRPC_STATUS_CODE_UNKNOWN = '2';
/**
* @see TraceAttributes::RPC_GRPC_STATUS_CODE INVALID_ARGUMENT
*/
public const RPC_GRPC_STATUS_CODE_INVALID_ARGUMENT = '3';
/**
* @see TraceAttributes::RPC_GRPC_STATUS_CODE DEADLINE_EXCEEDED
*/
public const RPC_GRPC_STATUS_CODE_DEADLINE_EXCEEDED = '4';
/**
* @see TraceAttributes::RPC_GRPC_STATUS_CODE NOT_FOUND
*/
public const RPC_GRPC_STATUS_CODE_NOT_FOUND = '5';
/**
* @see TraceAttributes::RPC_GRPC_STATUS_CODE ALREADY_EXISTS
*/
public const RPC_GRPC_STATUS_CODE_ALREADY_EXISTS = '6';
/**
* @see TraceAttributes::RPC_GRPC_STATUS_CODE PERMISSION_DENIED
*/
public const RPC_GRPC_STATUS_CODE_PERMISSION_DENIED = '7';
/**
* @see TraceAttributes::RPC_GRPC_STATUS_CODE RESOURCE_EXHAUSTED
*/
public const RPC_GRPC_STATUS_CODE_RESOURCE_EXHAUSTED = '8';
/**
* @see TraceAttributes::RPC_GRPC_STATUS_CODE FAILED_PRECONDITION
*/
public const RPC_GRPC_STATUS_CODE_FAILED_PRECONDITION = '9';
/**
* @see TraceAttributes::RPC_GRPC_STATUS_CODE ABORTED
*/
public const RPC_GRPC_STATUS_CODE_ABORTED = '10';
/**
* @see TraceAttributes::RPC_GRPC_STATUS_CODE OUT_OF_RANGE
*/
public const RPC_GRPC_STATUS_CODE_OUT_OF_RANGE = '11';
/**
* @see TraceAttributes::RPC_GRPC_STATUS_CODE UNIMPLEMENTED
*/
public const RPC_GRPC_STATUS_CODE_UNIMPLEMENTED = '12';
/**
* @see TraceAttributes::RPC_GRPC_STATUS_CODE INTERNAL
*/
public const RPC_GRPC_STATUS_CODE_INTERNAL = '13';
/**
* @see TraceAttributes::RPC_GRPC_STATUS_CODE UNAVAILABLE
*/
public const RPC_GRPC_STATUS_CODE_UNAVAILABLE = '14';
/**
* @see TraceAttributes::RPC_GRPC_STATUS_CODE DATA_LOSS
*/
public const RPC_GRPC_STATUS_CODE_DATA_LOSS = '15';
/**
* @see TraceAttributes::RPC_GRPC_STATUS_CODE UNAUTHENTICATED
*/
public const RPC_GRPC_STATUS_CODE_UNAUTHENTICATED = '16';
/**
* @see TraceAttributes::MESSAGE_TYPE sent
*/
public const MESSAGE_TYPE_SENT = 'SENT';
/**
* @see TraceAttributes::MESSAGE_TYPE received
*/
public const MESSAGE_TYPE_RECEIVED = 'RECEIVED';
}

File diff suppressed because it is too large Load Diff