Skip to content

Commit a532f28

Browse files
committed
Update README.md
1 parent 9c476fd commit a532f28

File tree

1 file changed

+32
-31
lines changed

1 file changed

+32
-31
lines changed

docs/rpc/README.md

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -13,74 +13,75 @@ This document defines semantic conventions for remote procedure calls (RPC).
1313
> [v1.37.0 of this document](https://github.com/open-telemetry/semantic-conventions/blob/v1.37.0/docs/rpc/README.md)
1414
> (or prior):
1515
>
16-
> * SHOULD NOT change the version of the RPC conventions that they emit by
16+
> - SHOULD NOT change the version of the RPC conventions that they emit by
1717
> default in their existing major version. Conventions include (but are not
1818
> limited to) attributes, metric and span names, and unit of measure.
19-
> * SHOULD introduce an environment variable `OTEL_SEMCONV_STABILITY_OPT_IN`
19+
> - SHOULD introduce an environment variable `OTEL_SEMCONV_STABILITY_OPT_IN`
2020
> in their existing major version as a comma-separated list of category-specific values
2121
> (e.g., http, databases, rpc). The list of values includes:
22-
> * `rpc` - emit the stable RPC conventions, and stop emitting
22+
> - `rpc` - emit the stable RPC conventions, and stop emitting
2323
> the experimental RPC conventions that the instrumentation emitted
2424
> previously.
25-
> * `rpc/dup` - emit both the experimental and stable RPC conventions,
25+
> - `rpc/dup` - emit both the experimental and stable RPC conventions,
2626
> allowing for a phased rollout of the stable semantic conventions.
27-
> * The default behavior (in the absence of one of these values) is to continue
27+
> - The default behavior (in the absence of one of these values) is to continue
2828
> emitting whatever version of the old experimental RPC conventions
2929
> the instrumentation was emitting previously.
30-
> * Note: `rpc/dup` has higher precedence than `rpc` in case both values are present
31-
> * SHOULD maintain (security patching at a minimum) their existing major version
30+
> - Note: `rpc/dup` has higher precedence than `rpc` in case both values are present
31+
> - SHOULD maintain (security patching at a minimum) their existing major version
3232
> for at least six months after it starts emitting both sets of conventions.
33-
> * MAY drop the environment variable in their next major version and emit only
33+
> - MAY drop the environment variable in their next major version and emit only
3434
> the stable RPC conventions.
3535
3636
The RPC Semantic conventions are designed to cover the logical operation of invoking an operation (function) to run in a remote process.
3737
This remote process call will often travel across the network to reach it's destination.
3838

3939
The details of this invocation can be captured using the following signals:
4040

41-
* [RPC Spans](rpc-spans.md): Semantic Conventions for RPC client and server *spans*.
42-
* [RPC Metrics](rpc-metrics.md): Semantic Conventions for RPC *metrics*.
41+
- [RPC Spans](rpc-spans.md): Semantic Conventions for RPC client and server *spans*.
42+
- [RPC Metrics](rpc-metrics.md): Semantic Conventions for RPC *metrics*.
4343

44-
These generic conventions can be extended based on the [RPC Transport Protocol](#what-is-a-rpc-transport-protocol) being used with the following protocols defined:
44+
These generic conventions can be extended based on the [RPC Protocol](#what-is-a-rpc-protocol) being used with the following protocols defined:
4545

46-
* [gRPC](grpc.md)
47-
* [Http](/docs/http/README.md)
48-
* Triple
49-
* SOAP
50-
* [Connect RPC](connect-rpc.md)
46+
- [gRPC](grpc.md)
47+
- [Http](/docs/http/README.md)
48+
- Triple
49+
- Twirp
50+
- SOAP
51+
- [Connect RPC](connect-rpc.md)
5152

5253
They can also be extended based on the [RPC Framework](#what-is-a-rpc-framework) being used with the following frameworks defined:
5354

54-
* Apache Dubbo
55-
* Dapr
56-
* [Connect RPC](connect-rpc.md)
57-
* WCF
55+
- Apache Dubbo
56+
- Dapr
57+
- [Connect RPC](connect-rpc.md)
58+
- WCF
5859

5960
However should the process being invoked be a member of a more specific domain such as those below,
6061
the corresponding conventions should be followed:
6162

62-
* [Database](/docs/database/README.md)
63-
* [Generative AI](/docs/gen-ai/README.md)
64-
* [Messaging](/docs/messaging/README.md)
63+
- [Database](/docs/database/README.md)
64+
- [Generative AI](/docs/gen-ai/README.md)
65+
- [Messaging](/docs/messaging/README.md)
6566

6667
If your focus is on the network layer calls rather than the logical calls being made,
6768
these RPC documents are not for you but instead what you are after is described via the below conventions:
6869

69-
* Http
70+
- Http
7071

71-
## RPC Transport Protocol vs RPC Framework
72+
## RPC Protocol vs RPC Framework
7273

73-
### What is a RPC Transport Protocol?
74+
### What is a RPC Protocol?
7475

75-
A RPC transport protocol describes the manner in which a message is transported from one service to another.
76+
A RPC protocol describes the manner in which a message is transported from one service to another.
7677
This protocol may have the same value as the network protocol ie http or it may differ when,
7778
an implementation of the network protocol is used e.g. gRPC.
7879

7980
These implementations will usually only expose a subset of functionality of the network protocol
8081
and may only be compatible with newer versions of the network protocol ie grpc will not work over http v1.
8182

82-
Another aspect of how the `network.protocol.*` differs to `rpc.transport.protocol.*` is that,
83-
the transport protocol can implement additional client side functionality such as retry, caching, cancellation etc.
83+
Another aspect of how the `network.protocol.*` differs to `rpc.protocol.*` is that,
84+
the protocol can implement additional client side (application level) functionality such as retry, caching, cancellation etc.
8485

8586
It is expected that these protocols will define protocol specific attributes, for instance gRPC would contain a status attribute.
8687
As such the usage of these attribute/s should be documented via a dedicated protocol page providing complete definitions.
@@ -94,7 +95,7 @@ The framework in addition to providing the api can define properties which are s
9495
to provide additional context. For instance a framework might require a message id to be sent with the message.
9596
The framework doesn't care how it is transported across the network.
9697

97-
It is expected that these attributes are added where appropriate to the corresponding signals defined for the rpc transport protocol,
98+
It is expected that these attributes are added where appropriate to the corresponding signals defined for the rpc protocol,
9899
with a general "if applicable for the rpc framework" condition placed on the requirement level.
99100

100101
A framework may have its own page when the framework defines its own signals which require the inclusion of framework specific
@@ -104,6 +105,6 @@ attributes for the signal to have value & meaning.
104105

105106
Specifications defined by maintainers of RPC systems:
106107

107-
* [gRPC](https://github.com/grpc/proposal/blob/master/A66-otel-stats.md): Semantic Conventions for *gRPC*.
108+
- [gRPC](https://github.com/grpc/proposal/blob/master/A66-otel-stats.md): Semantic Conventions for *gRPC*.
108109

109110
[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status

0 commit comments

Comments
 (0)