Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Link to proposal for gRPC metrics #627

Merged
merged 15 commits into from
Mar 26, 2024
81 changes: 0 additions & 81 deletions docs/rpc/grpc.md

This file was deleted.

6 changes: 3 additions & 3 deletions docs/rpc/rpc-metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ metrics can be filtered for finer grain analysis.
> for at least six months after it starts emitting both sets of conventions.
> * SHOULD drop the environment variable in the next major version.

Maintainers of gRPC have decided to create a different [spec](https://github.com/grpc/proposal/blob/master/A66-otel-stats.md) due to limitations on what information can be recorded by the various implementations of gRPC and differences in concepts such as a `call` and an `attempt` compared to other RPC systems.
joaopgrassi marked this conversation as resolved.
Show resolved Hide resolved

## Metric instruments

The following metric instruments MUST be used to describe RPC operations. They
Expand Down Expand Up @@ -223,7 +225,7 @@ measurements.
| [`network.type`](../attributes-registry/network.md) | string | [OSI network layer](https://osi-model.com/network-layer/) or non-OSI equivalent. [2] | `ipv4`; `ipv6` | Recommended |
| [`rpc.method`](../attributes-registry/rpc.md) | string | The name of the (logical) method being called, must be equal to the $method part in the span name. [3] | `exampleMethod` | Recommended |
| [`rpc.service`](../attributes-registry/rpc.md) | string | The full (logical) name of the service being called, including its package name, if applicable. [4] | `myservice.EchoService` | Recommended |
| [`rpc.system`](../attributes-registry/rpc.md) | string | A string identifying the remoting system. See below for a list of well-known identifiers. | `grpc` | Required |
| [`rpc.system`](../attributes-registry/rpc.md) | string | A string identifying the remoting system. See below for a list of well-known identifiers. | `connect_rpc` | Required |
| [`server.address`](../attributes-registry/server.md) | string | Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. [5] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | Recommended |
| [`server.port`](../attributes-registry/server.md) | int | Server port number. [6] | `80`; `8080`; `443` | Recommended |

Expand Down Expand Up @@ -263,7 +265,6 @@ different processes could be listening on TCP port 12345 and UDP port 12345.

| Value | Description |
|---|---|
| `grpc` | gRPC |
| `java_rmi` | Java RMI |
| `dotnet_wcf` | .NET WCF |
| `apache_dubbo` | Apache Dubbo |
Expand All @@ -285,7 +286,6 @@ One process can expose multiple RPC endpoints and thus have multiple RPC service
More specific Semantic Conventions are defined for the following RPC technologies:

* [Connect](connect-rpc.md): Semantic Conventions for *Connect RPC*.
* [gRPC](grpc.md): Semantic Conventions for *gRPC*.
* [JSON-RPC](json-rpc.md): Semantic Conventions for *JSON-RPC*.

[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md
Expand Down
Loading