应用标准指标

应用标准指标由 Inherent gRPC 运行时在应用进程内生成,不依赖代理工作负载。Application SDK 创建 gRPC Client 和 Server 时自动接入采集;控制面自动注入指标端点和 Prometheus 抓取声明,业务代码不需要手动注册 /metrics。Telemetry API 负责开启指标并定制作用域和标签,不负责定义指标本身。

指标类型

类型 语义
COUNTER 进程生命周期内严格递增;Prometheus 使用 _total 计数器。
DISTRIBUTION 把观测值写入固定区间;Prometheus 暴露 histogram 的 _bucket_sum_count

标准指标

启用 prometheus provider 后,Client 和 Server 默认生成以下指标:

标准指标 Prometheus 指标 类型 必须提供的原因
REQUEST_COUNT dubbo_inherent_requests_total COUNTER 表示吞吐量;结合状态标签计算成功率和错误率。
REQUEST_DURATION dubbo_inherent_request_duration_seconds DISTRIBUTION 表示端到端 RPC 延迟,用于分位数和 SLO。
REQUEST_SIZE dubbo_inherent_request_size_bytes DISTRIBUTION 发现大请求及其带来的序列化、内存和带宽压力。
RESPONSE_SIZE dubbo_inherent_response_size_bytes DISTRIBUTION 发现大响应及其带来的内存和带宽压力。

不单独提供错误计数:REQUEST_COUNTgrpc_response_status 分组后已经能准确计算错误率,重复指标只会增加存储和查询成本。

标准标签

四个标准指标使用相同标签:

标签 保留原因
reporter clientserver 区分观测侧,避免把两端计数误当成一次请求。
grpc_service gRPC service 全名 定位服务,同时避免使用 Pod 等高基数身份。
grpc_method gRPC method 名 定位具体操作。
grpc_response_status 标准 gRPC status code 区分成功和失败并计算错误率。

Prometheus 发现阶段附加的 namespacepodinstance 不属于应用标准标签。Telemetry tags 只允许对上述标准标签执行 REMOVE;未知标签会被拒绝。

配置方式见指标任务