mirror of https://github.com/grpc/grpc.io.git
[OTel Metrics] Update based on A89: Backend Service Metric Label (#1449)
This commit is contained in:
parent
bef166f1e4
commit
f02d127df8
|
|
@ -59,12 +59,12 @@ Refer [A66: OpenTelemetry Metrics] for details.
|
||||||
|
|
||||||
#### Client Per-Attempt Instruments
|
#### Client Per-Attempt Instruments
|
||||||
|
|
||||||
Name | Type | Unit | Labels (disposition) | Description
|
Name | Type | Unit | Labels (disposition) | Description
|
||||||
---------------------------------------------------------- | --------- | --------- | --------------------------------------------------------------------------------------------------- | -----------
|
---------------------------------------------------------- | --------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------- | -----------
|
||||||
grpc.client.attempt.<br>started | Counter | {attempt} | grpc.method (required), grpc.target (required) | The total number of RPC attempts started, including those that have not completed.
|
grpc.client.attempt.<br>started | Counter | {attempt} | grpc.method (required), grpc.target (required) | The total number of RPC attempts started, including those that have not completed.
|
||||||
grpc.client.attempt.<br>duration | Histogram | s | grpc.method (required), grpc.target (required), grpc.status (required), grpc.lb.locality (optional) | End-to-end time taken to complete an RPC attempt including the time it takes to pick a subchannel.
|
grpc.client.attempt.<br>duration | Histogram | s | grpc.method (required), grpc.target (required), grpc.status (required), grpc.lb.locality (optional), grpc.lb.backend_service (optional) | End-to-end time taken to complete an RPC attempt including the time it takes to pick a subchannel.
|
||||||
grpc.client.attempt.<br>sent_total_compressed_message_size | Histogram | By | grpc.method (required), grpc.target (required), grpc.status (required), grpc.lb.locality (optional) | Total bytes (compressed but not encrypted) sent across all request messages (metadata excluded) per RPC attempt; does not include grpc or transport framing bytes.
|
grpc.client.attempt.<br>sent_total_compressed_message_size | Histogram | By | grpc.method (required), grpc.target (required), grpc.status (required), grpc.lb.locality (optional), grpc.lb.backend_service (optional) | Total bytes (compressed but not encrypted) sent across all request messages (metadata excluded) per RPC attempt; does not include grpc or transport framing bytes.
|
||||||
grpc.client.attempt.<br>rcvd_total_compressed_message_size | Histogram | By | grpc.method (required), grpc.target (required), grpc.status (required), grpc.lb.locality (optional) | Total bytes (compressed but not encrypted) received across all response messages (metadata excluded) per RPC attempt; does not include grpc or transport framing bytes.
|
grpc.client.attempt.<br>rcvd_total_compressed_message_size | Histogram | By | grpc.method (required), grpc.target (required), grpc.status (required), grpc.lb.locality (optional), grpc.lb.backend_service (optional) | Total bytes (compressed but not encrypted) received across all response messages (metadata excluded) per RPC attempt; does not include grpc or transport framing bytes.
|
||||||
|
|
||||||
Refer [A66: OpenTelemetry Metrics] for details.
|
Refer [A66: OpenTelemetry Metrics] for details.
|
||||||
|
|
||||||
|
|
@ -83,12 +83,12 @@ Refer [A66: OpenTelemetry Metrics] for details.
|
||||||
|
|
||||||
#### Weighted Round Robin LB Policy Instruments
|
#### Weighted Round Robin LB Policy Instruments
|
||||||
|
|
||||||
Name | Type | Unit | Labels (disposition) | Description
|
Name | Type | Unit | Labels (disposition) | Description
|
||||||
---------------------------------------------- | --------- | ---------- | --------------------------------------------------- | -----------
|
---------------------------------------------- | --------- | ---------- | --------------------------------------------------------------------------------------- | -----------
|
||||||
grpc.lb.wrr.<br>rr_fallback | Counter | {update} | grpc.target (required), grpc.lb.locality (optional) | EXPERIMENTAL: Number of scheduler updates in which there were not enough endpoints with valid weight, which caused the WRR policy to fall back to RR behavior.
|
grpc.lb.wrr.<br>rr_fallback | Counter | {update} | grpc.target (required), grpc.lb.locality (optional), grpc.lb.backend_service (optional) | EXPERIMENTAL: Number of scheduler updates in which there were not enough endpoints with valid weight, which caused the WRR policy to fall back to RR behavior.
|
||||||
grpc.lb.wrr.<br>endpoint_weight_not_yet_usable | Counter | {endpoint} | grpc.target (required), grpc.lb.locality (optional) | EXPERIMENTAL: Number of endpoints from each scheduler update that don't yet have usable weight information (i.e., either the load report has not yet been received, or it is within the blackout period).
|
grpc.lb.wrr.<br>endpoint_weight_not_yet_usable | Counter | {endpoint} | grpc.target (required), grpc.lb.locality (optional), grpc.lb.backend_service (optional) | EXPERIMENTAL: Number of endpoints from each scheduler update that don't yet have usable weight information (i.e., either the load report has not yet been received, or it is within the blackout period).
|
||||||
grpc.lb.wrr.<br>endpoint_weight_stale | Counter | {endpoint} | grpc.target (required), grpc.lb.locality (optional) | EXPERIMENTAL: Number of endpoints from each scheduler update whose latest weight is older than the expiration period.
|
grpc.lb.wrr.<br>endpoint_weight_stale | Counter | {endpoint} | grpc.target (required), grpc.lb.locality (optional), grpc.lb.backend_service (optional) | EXPERIMENTAL: Number of endpoints from each scheduler update whose latest weight is older than the expiration period.
|
||||||
grpc.lb.wrr.<br>endpoint_weights | Histogram | {weight} | grpc.target (required), grpc.lb.locality (optional) | EXPERIMENTAL: Weight of an endpoint recorded every scheduler update.
|
grpc.lb.wrr.<br>endpoint_weights | Histogram | {weight} | grpc.target (required), grpc.lb.locality (optional), grpc.lb.backend_service (optional) | EXPERIMENTAL: Weight of an endpoint recorded every scheduler update.
|
||||||
|
|
||||||
Refer [A78: gRPC OTel Metrics for WRR, Pick First, and XdsClient] for details.
|
Refer [A78: gRPC OTel Metrics for WRR, Pick First, and XdsClient] for details.
|
||||||
|
|
||||||
|
|
@ -126,16 +126,17 @@ with the RPC attempt being observed.
|
||||||
> need to be explicitly enabled from the gRPC OpenTelemetry Plugin API.
|
> need to be explicitly enabled from the gRPC OpenTelemetry Plugin API.
|
||||||
> ([Reference C++ API](https://github.com/grpc/grpc/blob/ccfc163607a15faa16aea179e0a0ea673c2353c6/include/grpcpp/ext/otel_plugin.h#L151))
|
> ([Reference C++ API](https://github.com/grpc/grpc/blob/ccfc163607a15faa16aea179e0a0ea673c2353c6/include/grpcpp/ext/otel_plugin.h#L151))
|
||||||
|
|
||||||
Name | Description
|
Name | Description
|
||||||
---------------------- | -----------
|
----------------------- | -----------
|
||||||
grpc.method | Full gRPC method name, including package, service and method, e.g. "google.bigtable.v2.Bigtable/CheckAndMutateRow".
|
grpc.method | Full gRPC method name, including package, service and method, e.g. "google.bigtable.v2.Bigtable/CheckAndMutateRow".
|
||||||
grpc.status | gRPC server status code received, e.g. "OK", "CANCELLED", "DEADLINE_EXCEEDED".
|
grpc.status | gRPC server status code received, e.g. "OK", "CANCELLED", "DEADLINE_EXCEEDED".
|
||||||
grpc.target | Canonicalized target URI used when creating gRPC Channel, e.g. "dns:///pubsub.googleapis.com:443", "xds:///helloworld-gke:8000".
|
grpc.target | Canonicalized target URI used when creating gRPC Channel, e.g. "dns:///pubsub.googleapis.com:443", "xds:///helloworld-gke:8000".
|
||||||
grpc.lb.locality | The locality to which the traffic is being sent.
|
grpc.lb.backend_service | The backend service to which the traffic is being sent. This is relevant when a single channel target can be sent to different sets of servers. When using xDS, this will be the cluster name. When not relevant, the value will be the empty string.
|
||||||
grpc.xds.server | For clients, indicates the target of the gRPC channel in which the XdsClient is used. For servers, will be the string "#server".
|
grpc.lb.locality | The locality to which the traffic is being sent.
|
||||||
grpc.xds.authority | The xDS authority. The value will be "#old" for old-style non-xdstp resource names.
|
grpc.xds.server | For clients, indicates the target of the gRPC channel in which the XdsClient is used. For servers, will be the string "#server".
|
||||||
grpc.xds.cache_state | Indicates the cache state of an xDS resource ("requested", "does_not_exist", "acked", "nacked", "nacked_but_cached").
|
grpc.xds.authority | The xDS authority. The value will be "#old" for old-style non-xdstp resource names.
|
||||||
grpc.xds.resource_type | xDS resource type, such as "envoy.config.listener.v3.Listener".
|
grpc.xds.cache_state | Indicates the cache state of an xDS resource ("requested", "does_not_exist", "acked", "nacked", "nacked_but_cached").
|
||||||
|
grpc.xds.resource_type | xDS resource type, such as "envoy.config.listener.v3.Listener".
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
|
|
@ -179,3 +180,4 @@ Python | [Python Example]
|
||||||
[A66: OpenTelemetry Metrics]: https://github.com/grpc/proposal/blob/master/A66-otel-stats.md
|
[A66: OpenTelemetry Metrics]: https://github.com/grpc/proposal/blob/master/A66-otel-stats.md
|
||||||
[A78: gRPC OTel Metrics for WRR, Pick First, and XdsClient]: https://github.com/grpc/proposal/blob/master/A78-grpc-metrics-wrr-pf-xds.md
|
[A78: gRPC OTel Metrics for WRR, Pick First, and XdsClient]: https://github.com/grpc/proposal/blob/master/A78-grpc-metrics-wrr-pf-xds.md
|
||||||
[A79: Non-per-call Metrics Architecture]: https://github.com/grpc/proposal/blob/master/A79-non-per-call-metrics-architecture.md#a79-non-per-call-metrics-architecture
|
[A79: Non-per-call Metrics Architecture]: https://github.com/grpc/proposal/blob/master/A79-non-per-call-metrics-architecture.md#a79-non-per-call-metrics-architecture
|
||||||
|
[A89: Backend Service Metric Label]: https://github.com/grpc/proposal/blob/master/A89-backend-service-metric-label.md
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue