regenerated tables after https://github.com/open-telemetry/build-tools/pull/24 (#1342)
This commit is contained in:
parent
8c2ec07371
commit
4f13d9c80b
|
|
@ -56,15 +56,15 @@ Below is a table of labels that SHOULD be included on metric events and whether
|
|||
or not they should be on the server, client or both.
|
||||
|
||||
<!-- semconv rpc -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| [`rpc.system`](../../trace/semantic_conventions/rpc.md) | string | A string identifying the remoting system. | `grpc`<br>`java_rmi`<br>`wcf` | Yes |
|
||||
| [`rpc.service`](../../trace/semantic_conventions/rpc.md) | string | The full name of the service being called, including its package name, if applicable. | `myservice.EchoService` | Conditional<br>No, but recommended |
|
||||
| [`rpc.method`](../../trace/semantic_conventions/rpc.md) | string | The name of the method being called, must be equal to the $method part in the span name. | `exampleMethod` | Conditional<br>No, but recommended |
|
||||
| [`rpc.system`](../../trace/semantic_conventions/rpc.md) | string | A string identifying the remoting system. | `grpc`; `java_rmi`; `wcf` | Yes |
|
||||
| [`rpc.service`](../../trace/semantic_conventions/rpc.md) | string | The full name of the service being called, including its package name, if applicable. | `myservice.EchoService` | No, but recommended |
|
||||
| [`rpc.method`](../../trace/semantic_conventions/rpc.md) | string | The name of the method being called, must be equal to the $method part in the span name. | `exampleMethod` | No, but recommended |
|
||||
| [`net.peer.ip`](../../trace/semantic_conventions/span-general.md) | string | Remote address of the peer (dotted decimal for IPv4 or [RFC5952](https://tools.ietf.org/html/rfc5952) for IPv6) | `127.0.0.1` | See below |
|
||||
| [`net.peer.name`](../../trace/semantic_conventions/span-general.md) | string | Remote hostname or similar, see note below. | `example.com` | See below |
|
||||
| [`net.peer.port`](../../trace/semantic_conventions/span-general.md) | number | Remote port number. | `80`<br>`8080`<br>`443` | Conditional<br>See below |
|
||||
| [`net.transport`](../../trace/semantic_conventions/span-general.md) | string enum | Transport protocol used. See note below. | `IP.TCP` | Conditional<br>See below |
|
||||
| [`net.peer.port`](../../trace/semantic_conventions/span-general.md) | number | Remote port number. | `80`; `8080`; `443` | See below |
|
||||
| [`net.transport`](../../trace/semantic_conventions/span-general.md) | string | Transport protocol used. See note below. | `IP.TCP` | See below |
|
||||
|
||||
**Additional attribute requirements:** At least one of the following sets of attributes is required:
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ The SDK MUST set a default value for the following attributes if they were not s
|
|||
**Description:** A service instance.
|
||||
|
||||
<!-- semconv service -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `service.name` | string | Logical name of the service. [1] | `shoppingcart` | Yes |
|
||||
| `service.namespace` | string | A namespace for `service.name`. [2] | `Shop` | No |
|
||||
|
|
@ -90,7 +90,7 @@ The identifier `opentelemetry` is reserved and MUST NOT be used in this case.
|
|||
The identifier SHOULD be stable across different versions of an implementation.
|
||||
|
||||
<!-- semconv telemetry -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `telemetry.sdk.name` | string | The name of the telemetry SDK as defined above. | `opentelemetry` | No |
|
||||
| `telemetry.sdk.language` | string | The language of the telemetry SDK. | `cpp` | No |
|
||||
|
|
|
|||
|
|
@ -5,13 +5,13 @@
|
|||
**Description:** A cloud infrastructure (e.g. GCP, Azure, AWS).
|
||||
|
||||
<!-- semconv cloud -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `cloud.provider` | string | Name of the cloud provider. | `gcp` | No |
|
||||
| `cloud.account.id` | string | The cloud account ID used to identify different entities. | `opentelemetry` | No |
|
||||
| `cloud.region` | string | A specific geographical location where different entities can run. | `us-central1` | No |
|
||||
| `cloud.zone` | string | Zones are a sub set of the region connected through low-latency links. [1] | `us-central1-a` | No |
|
||||
| `cloud.infrastructure_service` | string | The cloud infrastructure resource in use. [2] | `aws_ec2`<br>`azure_vm`<br>`gcp_compute_engine` | No |
|
||||
| `cloud.infrastructure_service` | string | The cloud infrastructure resource in use. [2] | `aws_ec2`; `azure_vm`; `gcp_compute_engine` | No |
|
||||
|
||||
**[1]:** In AWS, this is called availability-zone.
|
||||
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@
|
|||
**Description:** Resources used by AWS Elastic Container Service (ECS).
|
||||
|
||||
<!-- semconv aws.ecs -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `aws.ecs.container.arn` | string | The Amazon Resource Name (ARN) of an [ECS container instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). | `arn:aws:ecs:us-west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9` | No |
|
||||
| `aws.ecs.cluster.arn` | string | The ARN of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). | `arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster` | No |
|
||||
| `aws.ecs.launchtype` | string enum | The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. | `EC2`<br>`Fargate` | No |
|
||||
| `aws.ecs.launchtype` | string | The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. | `EC2`; `Fargate` | No |
|
||||
| `aws.ecs.task.arn` | string | The ARN of an [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html). | `arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b` | No |
|
||||
| `aws.ecs.task.family` | string | The task definition family this task definition is a member of. | `opentelemetry-family` | No |
|
||||
|
||||
|
|
|
|||
|
|
@ -5,12 +5,12 @@
|
|||
**Description:** Log attributes for Amazon Web Services.
|
||||
|
||||
<!-- semconv aws.log -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `aws.log.group.names` | string[] | The name(s) of the AWS log group(s) an application is writing to. [1] | `/aws/lambda/my-function`<br>`opentelemetry-service` | No |
|
||||
| `aws.log.group.arns` | string[] | The Amazon Resource Name(s) (ARN) of the AWS log group(s). [2] | `arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*` | No |
|
||||
| `aws.log.stream.names` | string[] | The name(s) of the AWS log stream(s) an application is writing to. | `logs/main/10838bed-421f-43ef-870a-f43feacbbb5b` | No |
|
||||
| `aws.log.stream.arns` | string[] | The ARN(s) of the AWS log stream(s). [3] | `arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b` | No |
|
||||
| `aws.log.group.names` | string[] | The name(s) of the AWS log group(s) an application is writing to. [1] | `[/aws/lambda/my-function, opentelemetry-service]` | No |
|
||||
| `aws.log.group.arns` | string[] | The Amazon Resource Name(s) (ARN) of the AWS log group(s). [2] | `[arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*]` | No |
|
||||
| `aws.log.stream.names` | string[] | The name(s) of the AWS log stream(s) an application is writing to. | `[logs/main/10838bed-421f-43ef-870a-f43feacbbb5b]` | No |
|
||||
| `aws.log.stream.arns` | string[] | The ARN(s) of the AWS log stream(s). [3] | `[arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b]` | No |
|
||||
|
||||
**[1]:** Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group.
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
**Description:** A container instance.
|
||||
|
||||
<!-- semconv container -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `container.name` | string | Container name. | `opentelemetry-autoconf` | No |
|
||||
| `container.id` | string | Container id. Usually a UUID, as for example used to [identify Docker containers](https://docs.docker.com/engine/reference/run/#container-identification). The UUID might be abbreviated. | `a3bf90e006b2` | No |
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
**Description:** The software deployment.
|
||||
|
||||
<!-- semconv deployment -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `deployment.environment` | string | Name of the [deployment environment](https://en.wikipedia.org/wiki/Deployment_environment) (aka deployment tier). | `staging`<br>`production` | No |
|
||||
| `deployment.environment` | string | Name of the [deployment environment](https://en.wikipedia.org/wiki/Deployment_environment) (aka deployment tier). | `staging`; `production` | No |
|
||||
<!-- endsemconv -->
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
**Description:** A serverless instance.
|
||||
|
||||
<!-- semconv faas_resource -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `faas.name` | string | The name of the function being executed. | `my-function` | Yes |
|
||||
| `faas.id` | string | The unique ID of the function being executed. [1] | `arn:aws:lambda:us-west-2:123456789012:function:my-function` | Yes |
|
||||
|
|
|
|||
|
|
@ -5,12 +5,12 @@
|
|||
**Description:** A host is defined as a general computing instance.
|
||||
|
||||
<!-- semconv host -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `host.id` | string | Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. | `opentelemetry-test` | No |
|
||||
| `host.name` | string | Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user. | `opentelemetry-test` | No |
|
||||
| `host.type` | string | Type of host. For Cloud, this must be the machine type. | `n1-standard-1` | No |
|
||||
| `host.image.name` | string | Name of the VM image or OS install the host was instantiated from. | `infra-ami-eks-worker-node-7d4ec78312`<br>`CentOS-8-x86_64-1905` | No |
|
||||
| `host.image.name` | string | Name of the VM image or OS install the host was instantiated from. | `infra-ami-eks-worker-node-7d4ec78312`; `CentOS-8-x86_64-1905` | No |
|
||||
| `host.image.id` | string | VM image ID. For Cloud, this value is from the provider. | `ami-07b06b442921831e5` | No |
|
||||
| `host.image.version` | string | The version string of the VM image as defined in [Version Attributes](README.md#version-attributes). | `0.1` | No |
|
||||
<!-- endsemconv -->
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ Kubernetes object, but "name" is usually more user friendly so can be also set.
|
|||
**Description:** A Kubernetes Cluster.
|
||||
|
||||
<!-- semconv k8s.cluster -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `k8s.cluster.name` | string | The name of the cluster. | `opentelemetry-cluster` | No |
|
||||
<!-- endsemconv -->
|
||||
|
|
@ -35,7 +35,7 @@ a namespace, but not across namespaces.
|
|||
**Description:** A Kubernetes Namespace.
|
||||
|
||||
<!-- semconv k8s.namespace -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `k8s.namespace.name` | string | The name of the namespace that the pod is running in. | `default` | No |
|
||||
<!-- endsemconv -->
|
||||
|
|
@ -50,7 +50,7 @@ containers on your cluster.
|
|||
**Description:** A Kubernetes Pod object.
|
||||
|
||||
<!-- semconv k8s.pod -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `k8s.pod.uid` | string | The UID of the Pod. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | No |
|
||||
| `k8s.pod.name` | string | The name of the Pod. | `opentelemetry-pod-autoconf` | No |
|
||||
|
|
@ -70,7 +70,7 @@ to a running container.
|
|||
**Description:** A container in a [PodTemplate](https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates).
|
||||
|
||||
<!-- semconv k8s.container -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `k8s.container.name` | string | The name of the Container in a Pod template. | `redis` | No |
|
||||
<!-- endsemconv -->
|
||||
|
|
@ -85,7 +85,7 @@ any given time.
|
|||
**Description:** A Kubernetes ReplicaSet object.
|
||||
|
||||
<!-- semconv k8s.replicaset -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `k8s.replicaset.uid` | string | The UID of the ReplicaSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | No |
|
||||
| `k8s.replicaset.name` | string | The name of the ReplicaSet. | `opentelemetry` | No |
|
||||
|
|
@ -102,7 +102,7 @@ distributed among the nodes of a cluster.
|
|||
**Description:** A Kubernetes Deployment object.
|
||||
|
||||
<!-- semconv k8s.deployment -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `k8s.deployment.uid` | string | The UID of the Deployment. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | No |
|
||||
| `k8s.deployment.name` | string | The name of the Deployment. | `opentelemetry` | No |
|
||||
|
|
@ -118,7 +118,7 @@ about the ordering and uniqueness of these Pods.
|
|||
**Description:** A Kubernetes StatefulSet object.
|
||||
|
||||
<!-- semconv k8s.statefulset -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `k8s.statefulset.uid` | string | The UID of the StatefulSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | No |
|
||||
| `k8s.statefulset.name` | string | The name of the StatefulSet. | `opentelemetry` | No |
|
||||
|
|
@ -133,7 +133,7 @@ A DaemonSet ensures that all (or some) Nodes run a copy of a Pod.
|
|||
**Description:** A Kubernetes DaemonSet object.
|
||||
|
||||
<!-- semconv k8s.daemonset -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `k8s.daemonset.uid` | string | The UID of the DaemonSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | No |
|
||||
| `k8s.daemonset.name` | string | The name of the DaemonSet. | `opentelemetry` | No |
|
||||
|
|
@ -149,7 +149,7 @@ successfully terminate.
|
|||
**Description:** A Kubernetes Job object.
|
||||
|
||||
<!-- semconv k8s.job -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `k8s.job.uid` | string | The UID of the Job. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | No |
|
||||
| `k8s.job.name` | string | The name of the Job. | `opentelemetry` | No |
|
||||
|
|
@ -164,7 +164,7 @@ A CronJob creates Jobs on a repeating schedule.
|
|||
**Description:** A Kubernetes CronJob object.
|
||||
|
||||
<!-- semconv k8s.cronjob -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `k8s.cronjob.uid` | string | The UID of the CronJob. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | No |
|
||||
| `k8s.cronjob.name` | string | The name of the CronJob. | `opentelemetry` | No |
|
||||
|
|
|
|||
|
|
@ -7,10 +7,10 @@
|
|||
In case of virtualized environments, this is the operating system as it is observed by the process, i.e., the virtualized guest rather than the underlying host.
|
||||
|
||||
<!-- semconv os -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `os.type` | string | The operating system type. | `WINDOWS` | Yes |
|
||||
| `os.description` | string | Human readable (not intended to be parsed) OS version information, like e.g. reported by `ver` or `lsb_release -a` commands. | `Microsoft Windows [Version 10.0.18363.778]`<br>`Ubuntu 18.04.1 LTS` | No |
|
||||
| `os.description` | string | Human readable (not intended to be parsed) OS version information, like e.g. reported by `ver` or `lsb_release -a` commands. | `Microsoft Windows [Version 10.0.18363.778]`; `Ubuntu 18.04.1 LTS` | No |
|
||||
|
||||
`os.type` MUST be one of the following or, if none of the listed values apply, a custom value:
|
||||
|
||||
|
|
|
|||
|
|
@ -23,14 +23,14 @@
|
|||
**Description:** An operating system process.
|
||||
|
||||
<!-- semconv process -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `process.pid` | number | Process identifier (PID). | `1234` | No |
|
||||
| `process.executable.name` | string | 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`. | `otelcol` | Conditional<br>See below |
|
||||
| `process.executable.path` | string | The full path to the process executable. On Linux based systems, can be set to the target of `proc/[pid]/exe`. On Windows, can be set to the result of `GetProcessImageFileNameW`. | `/usr/bin/cmd/otelcol` | Conditional<br>See below |
|
||||
| `process.command` | string | The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can be set to the first parameter extracted from `GetCommandLineW`. | `cmd/otelcol` | Conditional<br>See below |
|
||||
| `process.command_line` | string | The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. Do not set this if you have to assemble it just for monitoring; use `process.command_args` instead. | `C:\cmd\otecol --config="my directory\config.yaml"` | Conditional<br>See below |
|
||||
| `process.command_args` | string[] | All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. | `cmd/otecol`<br>`--config=config.yaml` | Conditional<br>See below |
|
||||
| `process.executable.name` | string | 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`. | `otelcol` | See below |
|
||||
| `process.executable.path` | string | The full path to the process executable. On Linux based systems, can be set to the target of `proc/[pid]/exe`. On Windows, can be set to the result of `GetProcessImageFileNameW`. | `/usr/bin/cmd/otelcol` | See below |
|
||||
| `process.command` | string | The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can be set to the first parameter extracted from `GetCommandLineW`. | `cmd/otelcol` | See below |
|
||||
| `process.command_line` | string | The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. Do not set this if you have to assemble it just for monitoring; use `process.command_args` instead. | `C:\cmd\otecol --config="my directory\config.yaml"` | See below |
|
||||
| `process.command_args` | string[] | All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. | `[cmd/otecol, --config=config.yaml]` | See below |
|
||||
| `process.owner` | string | The username of the user that owns the process. | `root` | No |
|
||||
<!-- endsemconv -->
|
||||
|
||||
|
|
@ -51,7 +51,7 @@ At least one of `process.executable.name`, `process.executable.path`, `process.c
|
|||
**Description:** The single (language) runtime instance which is monitored.
|
||||
|
||||
<!-- semconv process.runtime -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `process.runtime.name` | string | The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler. | `OpenJDK Runtime Environment` | No |
|
||||
| `process.runtime.version` | string | The version of the runtime of this process, as returned by the runtime without modification. | `14.0.2` | No |
|
||||
|
|
|
|||
|
|
@ -36,15 +36,15 @@ These attributes will usually be the same for all operations performed over the
|
|||
Some database systems may allow a connection to switch to a different `db.user`, for example, and other database systems may not even have the concept of a connection at all.
|
||||
|
||||
<!-- semconv db(tag=connection-level) -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `db.system` | string | An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. | `other_sql` | Yes |
|
||||
| `db.connection_string` | string | The connection string used to connect to the database. It is recommended to remove embedded credentials. | `Server=(localdb)\v11.0;Integrated Security=true;` | No |
|
||||
| `db.user` | string | Username for accessing the database. | `readonly_user`<br>`reporting_user` | No |
|
||||
| [`net.peer.ip`](span-general.md) | string | Remote address of the peer (dotted decimal for IPv4 or [RFC5952](https://tools.ietf.org/html/rfc5952) for IPv6) | `127.0.0.1` | Conditional<br>See below. |
|
||||
| [`net.peer.name`](span-general.md) | string | Remote hostname or similar, see note below. | `example.com` | Conditional<br>See below. |
|
||||
| [`net.peer.port`](span-general.md) | number | Remote port number. | `80`<br>`8080`<br>`443` | Conditional [1] |
|
||||
| [`net.transport`](span-general.md) | string enum | Transport protocol used. See note below. | `IP.TCP` | Conditional [2] |
|
||||
| `db.user` | string | Username for accessing the database. | `readonly_user`; `reporting_user` | No |
|
||||
| [`net.peer.ip`](span-general.md) | string | Remote address of the peer (dotted decimal for IPv4 or [RFC5952](https://tools.ietf.org/html/rfc5952) for IPv6) | `127.0.0.1` | See below. |
|
||||
| [`net.peer.name`](span-general.md) | string | Remote hostname or similar, see note below. | `example.com` | See below. |
|
||||
| [`net.peer.port`](span-general.md) | number | Remote port number. | `80`; `8080`; `443` | Conditional [1] |
|
||||
| [`net.transport`](span-general.md) | string | Transport protocol used. See note below. | `IP.TCP` | Conditional [2] |
|
||||
|
||||
**[1]:** Required if using a port other than the default port for this DBMS.
|
||||
|
||||
|
|
@ -126,9 +126,9 @@ When additional attributes are added that only apply to a specific DBMS, its ide
|
|||
### Connection-level attributes for specific technologies
|
||||
|
||||
<!-- semconv db.mssql(tag=connection-level-tech-specific,remove_constraints) -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `db.jdbc.driver_classname` | string | The fully-qualified class name of the [Java Database Connectivity (JDBC)](https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/) driver used to connect. | `org.postgresql.Driver`<br>`com.microsoft.sqlserver.jdbc.SQLServerDriver` | No |
|
||||
| `db.jdbc.driver_classname` | string | The fully-qualified class name of the [Java Database Connectivity (JDBC)](https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/) driver used to connect. | `org.postgresql.Driver`; `com.microsoft.sqlserver.jdbc.SQLServerDriver` | No |
|
||||
| `db.mssql.instance_name` | string | The Microsoft SQL Server [instance name](https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url?view=sql-server-ver15) connecting to. This name is used to determine the port of a named instance. [1] | `MSSQLSERVER` | No |
|
||||
|
||||
**[1]:** If setting a `db.mssql.instance_name`, `net.peer.port` is no longer required (but still recommended if non-standard).
|
||||
|
|
@ -140,11 +140,11 @@ These attributes may be different for each operation performed, even if the same
|
|||
Usually only one `db.name` will be used per connection though.
|
||||
|
||||
<!-- semconv db(tag=call-level,remove_constraints) -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `db.name` | string | If no [tech-specific attribute](#call-level-attributes-for-specific-technologies) is defined, this attribute is used to report the name of the database being accessed. For commands that switch the database, this should be set to the target database (even if the command fails). [1] | `customers`<br>`main` | Conditional [2] |
|
||||
| `db.statement` | string | The database statement being executed. [3] | `SELECT * FROM wuser_table`<br>`SET mykey "WuValue"` | Conditional<br>Required if applicable. |
|
||||
| `db.operation` | string | The name of the operation being executed, e.g. the [MongoDB command name](https://docs.mongodb.com/manual/reference/command/#database-operations) such as `findAndModify`, or the SQL keyword. [4] | `findAndModify`<br>`HMSET`<br>`SELECT` | Conditional<br>Required, if `db.statement` is not applicable. |
|
||||
| `db.name` | string | If no [tech-specific attribute](#call-level-attributes-for-specific-technologies) is defined, this attribute is used to report the name of the database being accessed. For commands that switch the database, this should be set to the target database (even if the command fails). [1] | `customers`; `main` | Conditional [2] |
|
||||
| `db.statement` | string | The database statement being executed. [3] | `SELECT * FROM wuser_table`; `SET mykey "WuValue"` | Required if applicable. |
|
||||
| `db.operation` | string | The name of the operation being executed, e.g. the [MongoDB command name](https://docs.mongodb.com/manual/reference/command/#database-operations) such as `findAndModify`, or the SQL keyword. [4] | `findAndModify`; `HMSET`; `SELECT` | Required, if `db.statement` is not applicable. |
|
||||
|
||||
**[1]:** In some SQL databases, the database name to be used is called "schema name".
|
||||
|
||||
|
|
@ -168,12 +168,12 @@ For example, when retrieving a document, `db.operation` would be set to (literal
|
|||
### Call-level attributes for specific technologies
|
||||
|
||||
<!-- semconv db.tech(tag=call-level-tech-specific) -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `db.hbase.namespace` | string | The [HBase namespace](https://hbase.apache.org/book.html#_namespace) being accessed. To be used instead of the generic `db.name` attribute. | `default` | Yes |
|
||||
| `db.redis.database_index` | number | The index of the database being accessed as used in the [`SELECT` command](https://redis.io/commands/select), provided as an integer. To be used instead of the generic `db.name` attribute. | `0`<br>`1`<br>`15` | Conditional [1] |
|
||||
| `db.mongodb.collection` | string | The collection being accessed within the database stated in `db.name`. | `customers`<br>`products` | Yes |
|
||||
| `db.sql.table` | string | The name of the primary table that the operation is acting upon, including the schema name (if applicable). [2] | `public.users`<br>`customers` | Conditional<br>Recommended if available. |
|
||||
| `db.redis.database_index` | number | The index of the database being accessed as used in the [`SELECT` command](https://redis.io/commands/select), provided as an integer. To be used instead of the generic `db.name` attribute. | `0`; `1`; `15` | Conditional [1] |
|
||||
| `db.mongodb.collection` | string | The collection being accessed within the database stated in `db.name`. | `customers`; `products` | Yes |
|
||||
| `db.sql.table` | string | The name of the primary table that the operation is acting upon, including the schema name (if applicable). [2] | `public.users`; `customers` | Recommended if available. |
|
||||
|
||||
**[1]:** Required, if other than the default database (`0`).
|
||||
|
||||
|
|
@ -185,14 +185,14 @@ For example, when retrieving a document, `db.operation` would be set to (literal
|
|||
Separated for clarity.
|
||||
|
||||
<!-- semconv db.tech(tag=call-level-tech-specific-cassandra) -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `db.cassandra.keyspace` | string | The name of the keyspace being accessed. To be used instead of the generic `db.name` attribute. | `mykeyspace` | Yes |
|
||||
| `db.cassandra.page_size` | number | The fetch size used for paging, i.e. how many rows will be returned at once. | `5000` | No |
|
||||
| `db.cassandra.consistency_level` | string enum | The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). | `ALL` | No |
|
||||
| `db.cassandra.table` | string | The name of the primary table that the operation is acting upon, including the schema name (if applicable). [1] | `mytable` | Conditional<br>Recommended if available. |
|
||||
| `db.cassandra.consistency_level` | string | The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). | `ALL` | No |
|
||||
| `db.cassandra.table` | string | The name of the primary table that the operation is acting upon, including the schema name (if applicable). [1] | `mytable` | Recommended if available. |
|
||||
| `db.cassandra.idempotence` | boolean | Whether or not the query is idempotent. | | No |
|
||||
| `db.cassandra.speculative_execution_count` | number | The number of times a query was speculatively executed. Not set or `0` if the query was not executed speculatively. | `0`<br>`2` | No |
|
||||
| `db.cassandra.speculative_execution_count` | number | The number of times a query was speculatively executed. Not set or `0` if the query was not executed speculatively. | `0`; `2` | No |
|
||||
| `db.cassandra.coordinator.id` | string | The ID of the coordinating node for a query. | `be13faa2-8574-4d71-926d-27f16cf8a7af` | No |
|
||||
| `db.cassandra.coordinator.dc` | string | The data center of the coordinating node for a query. | `us-west-2` | No |
|
||||
|
||||
|
|
|
|||
|
|
@ -40,10 +40,10 @@ The table below indicates which attributes should be added to the `Event` and
|
|||
their types.
|
||||
|
||||
<!-- semconv exception -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `exception.type` | string | The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it. | `java.net.ConnectException`<br>`OSError` | See below |
|
||||
| `exception.message` | string | The exception message. | `Division by zero`<br>`Can't convert 'int' object to str implicitly` | See below |
|
||||
| `exception.type` | string | The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it. | `java.net.ConnectException`; `OSError` | See below |
|
||||
| `exception.message` | string | The exception message. | `Division by zero`; `Can't convert 'int' object to str implicitly` | See below |
|
||||
| `exception.stacktrace` | string | A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG. | `Exception in thread "main" java.lang.RuntimeException: Test exception\n at com.example.GenerateTrace.methodB(GenerateTrace.java:13)\n at com.example.GenerateTrace.methodA(GenerateTrace.java:9)\n at com.example.GenerateTrace.main(GenerateTrace.java:5)` | No |
|
||||
| `exception.escaped` | boolean | SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span. [1] | | No |
|
||||
|
||||
|
|
|
|||
|
|
@ -28,9 +28,9 @@ Span `name` should be set to the function name being executed. Depending on the
|
|||
If Spans following this convention are produced, a Resource of type `faas` MUST exist following the [Resource semantic convention](../../resource/semantic_conventions/faas.md#function-as-a-service).
|
||||
|
||||
<!-- semconv faas_span -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `faas.trigger` | string enum | Type of the trigger on which the function is executed. | `datasource` | Conditional [1] |
|
||||
| `faas.trigger` | string | Type of the trigger on which the function is executed. | `datasource` | Conditional [1] |
|
||||
| `faas.execution` | string | The execution ID of the current function execution. | `af9d5aa4-a685-4c5f-a22b-444f80b3cc28` | No |
|
||||
|
||||
**[1]:** On FaaS instances, faas.trigger MUST be set on incoming invocations. Clients invoking FaaS instances MUST set `faas.trigger` on outgoing invocations, if it is known to the client. This is, for example, not the case, when the transport layer is abstracted in a FaaS client framework without access to its configuration.
|
||||
|
|
@ -80,7 +80,7 @@ This section describes incoming FaaS invocations as they are reported by the Faa
|
|||
For incoming FaaS spans, the span kind MUST be `Server`.
|
||||
|
||||
<!-- semconv faas_span.in -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `faas.coldstart` | boolean | A boolean that is true if the serverless function is executed for the first time (aka cold-start). | | No |
|
||||
<!-- endsemconv -->
|
||||
|
|
@ -96,7 +96,7 @@ the corresponding [FaaS resource attributes][] and [Cloud resource attributes][]
|
|||
which the invoked FaaS instance reports about itself, if it's instrumented.
|
||||
|
||||
<!-- semconv faas_span.out -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `faas.invoked_name` | string | The name of the invoked function. [1] | `my-function` | Yes |
|
||||
| `faas.invoked_provider` | string | The cloud provider of the invoked function. [2] | `aws` | Yes |
|
||||
|
|
@ -132,12 +132,12 @@ A datasource function is triggered as a response to some data source operation s
|
|||
For `faas` spans with trigger `datasource`, it is recommended to set the following attributes.
|
||||
|
||||
<!-- semconv faas_span.datasource -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `faas.document.collection` | string | The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name. | `myBucketName`<br>`myDbName` | Yes |
|
||||
| `faas.document.collection` | string | The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name. | `myBucketName`; `myDbName` | Yes |
|
||||
| `faas.document.operation` | string | Describes the type of the operation that was performed on the data. | `insert` | Yes |
|
||||
| `faas.document.time` | string | A string containing the time when the data was accessed in the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format expressed in [UTC](https://www.w3.org/TR/NOTE-datetime). | `2020-01-23T13:47:06Z` | Yes |
|
||||
| `faas.document.name` | string | The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name. | `myFile.txt`<br>`myTableName` | No |
|
||||
| `faas.document.name` | string | The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name. | `myFile.txt`; `myTableName` | No |
|
||||
|
||||
`faas.document.operation` MUST be one of the following or, if none of the listed values apply, a custom value:
|
||||
|
||||
|
|
@ -164,7 +164,7 @@ This way, it is possible to correlate each individual message with its execution
|
|||
A function is scheduled to be executed regularly. The following additional attributes are recommended.
|
||||
|
||||
<!-- semconv faas_span.timer -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `faas.time` | string | A string containing the function invocation time in the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format expressed in [UTC](https://www.w3.org/TR/NOTE-datetime). | `2020-01-23T13:47:06Z` | Yes |
|
||||
| `faas.cron` | string | A string containing the schedule period as [Cron Expression](https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm). | `0/5 * * * ? *` | No |
|
||||
|
|
|
|||
|
|
@ -50,14 +50,14 @@ Don't set the span status description if the reason can be inferred from `http.s
|
|||
## Common Attributes
|
||||
|
||||
<!-- semconv http -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `http.method` | string | HTTP request method. | `GET`<br>`POST`<br>`HEAD` | Yes |
|
||||
| `http.method` | string | HTTP request method. | `GET`; `POST`; `HEAD` | Yes |
|
||||
| `http.url` | string | Full HTTP request URL in the form `scheme://host[:port]/path?query[#fragment]`. Usually the fragment is not transmitted over HTTP, but if it is known, it should be included nevertheless. | `https://www.foo.bar/search?q=OpenTelemetry#SemConv` | No |
|
||||
| `http.target` | string | The full request target as passed in a HTTP request line or equivalent. | `/path/12314/?q=ddds#123` | No |
|
||||
| `http.host` | string | The value of the [HTTP host header](https://tools.ietf.org/html/rfc7230#section-5.4). When the header is empty or not present, this attribute should be the same. | `www.example.org` | No |
|
||||
| `http.scheme` | string | The URI scheme identifying the used protocol. | `http`<br>`https` | No |
|
||||
| `http.status_code` | number | [HTTP response status code](https://tools.ietf.org/html/rfc7231#section-6). | `200` | Conditional<br>If and only if one was received/sent. |
|
||||
| `http.scheme` | string | The URI scheme identifying the used protocol. | `http`; `https` | No |
|
||||
| `http.status_code` | number | [HTTP response status code](https://tools.ietf.org/html/rfc7231#section-6). | `200` | If and only if one was received/sent. |
|
||||
| `http.flavor` | string | Kind of HTTP protocol used [1] | `1.0` | No |
|
||||
| `http.user_agent` | string | Value of the [HTTP User-Agent](https://tools.ietf.org/html/rfc7231#section-5.5.3) header sent by the client. | `CERN-LineMode/2.15 libwww/2.17b3` | No |
|
||||
| `http.request_content_length` | number | The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://tools.ietf.org/html/rfc7230#section-3.3.2) header. For requests using transport encoding, this should be the compressed size. | `3495` | No |
|
||||
|
|
@ -166,7 +166,7 @@ If the route does not include the application root, it SHOULD be prepended to th
|
|||
If the route cannot be determined, the `name` attribute MUST be set as defined in the general semantic conventions for HTTP.
|
||||
|
||||
<!-- semconv http.server -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `http.server_name` | string | The primary server name of the matched virtual host. This should be obtained via configuration. If no such configuration can be obtained, this attribute MUST NOT be set ( `net.host.name` should be used instead). [1] | `example.com` | See below |
|
||||
| `http.route` | string | The matched route (path template). | `/users/:userID?` | No |
|
||||
|
|
|
|||
|
|
@ -123,21 +123,21 @@ The following operations related to messages are defined for these semantic conv
|
|||
## Messaging attributes
|
||||
|
||||
<!-- semconv messaging -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `messaging.system` | string | A string identifying the messaging system. | `kafka`<br>`rabbitmq`<br>`activemq` | Yes |
|
||||
| `messaging.destination` | string | The message destination name. This might be equal to the span name but is required nevertheless. | `MyQueue`<br>`MyTopic` | Yes |
|
||||
| `messaging.destination_kind` | string enum | The kind of message destination | `queue` | Conditional [1] |
|
||||
| `messaging.temp_destination` | boolean | A boolean that is true if the message destination is temporary. | | Conditional<br>If missing, it is assumed to be false. |
|
||||
| `messaging.protocol` | string | The name of the transport protocol. | `AMQP`<br>`MQTT` | No |
|
||||
| `messaging.system` | string | A string identifying the messaging system. | `kafka`; `rabbitmq`; `activemq` | Yes |
|
||||
| `messaging.destination` | string | The message destination name. This might be equal to the span name but is required nevertheless. | `MyQueue`; `MyTopic` | Yes |
|
||||
| `messaging.destination_kind` | string | The kind of message destination | `queue` | Conditional [1] |
|
||||
| `messaging.temp_destination` | boolean | A boolean that is true if the message destination is temporary. | | If missing, it is assumed to be false. |
|
||||
| `messaging.protocol` | string | The name of the transport protocol. | `AMQP`; `MQTT` | No |
|
||||
| `messaging.protocol_version` | string | The version of the transport protocol. | `0.9.1` | No |
|
||||
| `messaging.url` | string | Connection string. | `tibjmsnaming://localhost:7222`<br>`https://queue.amazonaws.com/80398EXAMPLE/MyQueue` | No |
|
||||
| `messaging.url` | string | Connection string. | `tibjmsnaming://localhost:7222`; `https://queue.amazonaws.com/80398EXAMPLE/MyQueue` | No |
|
||||
| `messaging.message_id` | string | A value used by the messaging system as an identifier for the message, represented as a string. | `452a7c7c7c7048c2f887f61572b18fc2` | No |
|
||||
| `messaging.conversation_id` | string | The [conversation ID](#conversations) identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID". | `MyConversationId` | No |
|
||||
| `messaging.message_payload_size_bytes` | number | The (uncompressed) size of the message payload in bytes. Also use this attribute if it is unknown whether the compressed or uncompressed payload size is reported. | `2738` | No |
|
||||
| `messaging.message_payload_compressed_size_bytes` | number | The compressed size of the message payload in bytes. | `2048` | No |
|
||||
| [`net.peer.ip`](span-general.md) | string | Remote address of the peer (dotted decimal for IPv4 or [RFC5952](https://tools.ietf.org/html/rfc5952) for IPv6) | `127.0.0.1` | Conditional<br>If available. |
|
||||
| [`net.peer.name`](span-general.md) | string | Remote hostname or similar, see note below. [2] | `example.com` | Conditional<br>If available. |
|
||||
| [`net.peer.ip`](span-general.md) | string | Remote address of the peer (dotted decimal for IPv4 or [RFC5952](https://tools.ietf.org/html/rfc5952) for IPv6) | `127.0.0.1` | If available. |
|
||||
| [`net.peer.name`](span-general.md) | string | Remote hostname or similar, see note below. [2] | `example.com` | If available. |
|
||||
|
||||
**[1]:** Required only if the message destination is either a `queue` or `topic`.
|
||||
|
||||
|
|
@ -162,9 +162,9 @@ These attributes should be set to the broker to which the message is sent/from w
|
|||
For message consumers, the following additional attributes may be set:
|
||||
|
||||
<!-- semconv messaging.consumer -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `messaging.operation` | string enum | A string identifying the kind of message consumption as defined in the [Operation names](#operation-names) section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case. | `receive` | No |
|
||||
| `messaging.operation` | string | A string identifying the kind of message consumption as defined in the [Operation names](#operation-names) section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case. | `receive` | No |
|
||||
|
||||
`messaging.operation` MUST be one of the following:
|
||||
|
||||
|
|
@ -194,13 +194,13 @@ The routing key MUST be provided to the attribute `messaging.rabbitmq.routing_ke
|
|||
For Apache Kafka, the following additional attributes are defined:
|
||||
|
||||
<!-- semconv messaging.kafka -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `messaging.kafka.message_key` | string | Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from `messaging.message_id` in that they're not unique. If the key is `null`, the attribute MUST NOT be set. [1] | `myKey` | No |
|
||||
| `messaging.kafka.consumer_group` | string | Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers. | `my-group` | No |
|
||||
| `messaging.kafka.client_id` | string | Client Id for the Consumer or Producer that is handling the message. | `client-5` | No |
|
||||
| `messaging.kafka.partition` | number | Partition the message is sent to. | `2` | No |
|
||||
| `messaging.kafka.tombstone` | boolean | A boolean that is true if the message is a tombstone. | | Conditional<br>If missing, it is assumed to be false. |
|
||||
| `messaging.kafka.tombstone` | boolean | A boolean that is true if the message is a tombstone. | | If missing, it is assumed to be false. |
|
||||
|
||||
**[1]:** If the key type is not string, it's string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don't include its value.
|
||||
<!-- endsemconv -->
|
||||
|
|
|
|||
|
|
@ -50,15 +50,15 @@ Examples of span names:
|
|||
### Attributes
|
||||
|
||||
<!-- semconv rpc -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `rpc.system` | string | A string identifying the remoting system. | `grpc`<br>`java_rmi`<br>`wcf` | Yes |
|
||||
| `rpc.service` | string | The full name of the service being called, including its package name, if applicable. | `myservice.EchoService` | Conditional<br>No, but recommended |
|
||||
| `rpc.method` | string | The name of the method being called, must be equal to the $method part in the span name. | `exampleMethod` | Conditional<br>No, but recommended |
|
||||
| `rpc.system` | string | A string identifying the remoting system. | `grpc`; `java_rmi`; `wcf` | Yes |
|
||||
| `rpc.service` | string | The full name of the service being called, including its package name, if applicable. | `myservice.EchoService` | No, but recommended |
|
||||
| `rpc.method` | string | The name of the method being called, must be equal to the $method part in the span name. | `exampleMethod` | No, but recommended |
|
||||
| [`net.peer.ip`](span-general.md) | string | Remote address of the peer (dotted decimal for IPv4 or [RFC5952](https://tools.ietf.org/html/rfc5952) for IPv6) | `127.0.0.1` | See below |
|
||||
| [`net.peer.name`](span-general.md) | string | Remote hostname or similar, see note below. | `example.com` | See below |
|
||||
| [`net.peer.port`](span-general.md) | number | Remote port number. | `80`<br>`8080`<br>`443` | Conditional<br>See below |
|
||||
| [`net.transport`](span-general.md) | string enum | Transport protocol used. See note below. | `IP.TCP` | Conditional<br>See below |
|
||||
| [`net.peer.port`](span-general.md) | number | Remote port number. | `80`; `8080`; `443` | See below |
|
||||
| [`net.transport`](span-general.md) | string | Transport protocol used. See note below. | `IP.TCP` | See below |
|
||||
|
||||
**Additional attribute requirements:** At least one of the following sets of attributes is required:
|
||||
|
||||
|
|
@ -101,9 +101,9 @@ For remote procedure calls via [gRPC][], additional conventions are described in
|
|||
### gRPC Attributes
|
||||
|
||||
<!-- semconv rpc.grpc -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `rpc.grpc.status_code` | number enum | The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. | `0`<br>`1`<br>`16` | Yes |
|
||||
| `rpc.grpc.status_code` | number | The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. | `0`; `1`; `16` | Yes |
|
||||
|
||||
`rpc.grpc.status_code` MUST be one of the following:
|
||||
|
||||
|
|
|
|||
|
|
@ -30,11 +30,11 @@ the `net.peer.*` properties of a client are equal to the `net.host.*` properties
|
|||
<a name="nettransport-attribute">
|
||||
|
||||
<!-- semconv network -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `net.transport` | string enum | Transport protocol used. See note below. | `IP.TCP` | No |
|
||||
| `net.transport` | string | Transport protocol used. See note below. | `IP.TCP` | No |
|
||||
| `net.peer.ip` | string | Remote address of the peer (dotted decimal for IPv4 or [RFC5952](https://tools.ietf.org/html/rfc5952) for IPv6) | `127.0.0.1` | No |
|
||||
| `net.peer.port` | number | Remote port number. | `80`<br>`8080`<br>`443` | No |
|
||||
| `net.peer.port` | number | Remote port number. | `80`; `8080`; `443` | No |
|
||||
| `net.peer.name` | string | Remote hostname or similar, see note below. | `example.com` | No |
|
||||
| `net.host.ip` | string | Like `net.peer.ip` but for the host IP. Useful in case of a multi-IP host. | `192.168.0.1` | No |
|
||||
| `net.host.port` | number | Like `net.peer.port` but for the host port. | `35555` | No |
|
||||
|
|
@ -81,7 +81,7 @@ Users can define what the name of a service is based on their particular semanti
|
|||
Instrumentations SHOULD provide a way for users to configure this name.
|
||||
|
||||
<!-- semconv peer -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `peer.service` | string | The [`service.name`](../../resource/semantic_conventions/README.md#service) of the remote service. SHOULD be equal to the actual `service.name` resource attribute of the remote service if any. | `AuthTokenCache` | No |
|
||||
<!-- endsemconv -->
|
||||
|
|
@ -96,7 +96,7 @@ Examples of `peer.service` that users may specify:
|
|||
These attributes may be used for any operation with an authenticated and/or authorized enduser.
|
||||
|
||||
<!-- semconv identity -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `enduser.id` | string | Username or client_id extracted from the access token or [Authorization](https://tools.ietf.org/html/rfc7235#section-4.2) header in the inbound request from outside the system. | `username` | No |
|
||||
| `enduser.role` | string | Actual/assumed role the client is making the request under extracted from token or application security context. | `admin` | No |
|
||||
|
|
@ -145,7 +145,7 @@ These attributes may be used for any operation to store information about
|
|||
a thread that started a span.
|
||||
|
||||
<!-- semconv thread -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `thread.id` | number | Current "managed" thread ID (as opposed to OS thread ID). | `42` | No |
|
||||
| `thread.name` | string | Current thread name. | `main` | No |
|
||||
|
|
@ -171,7 +171,7 @@ The attributes listed below allow to report this unit of code and therefore to p
|
|||
about the span.
|
||||
|
||||
<!-- semconv code -->
|
||||
| Attribute | Type | Description | Example | Required |
|
||||
| Attribute | Type | Description | Examples | Required |
|
||||
|---|---|---|---|---|
|
||||
| `code.function` | string | The method or function name, or equivalent (usually rightmost part of the code unit's name). | `serveRequest` | No |
|
||||
| `code.namespace` | string | The "namespace" within which `code.function` is defined. Usually the qualified class or module name, such that `code.namespace` + some separator + `code.function` form a unique identifier for the code unit. | `com.example.MyHttpService` | No |
|
||||
|
|
|
|||
Loading…
Reference in New Issue