本文档介绍 PTS 支持输出到 Prometheus 的压测指标,供用户接入时使用参考。
标签
默认标签
PTS 输出的所有压测指标均包含以下三个标签:
instance:施压机的 IP 地址。
job:PTS 压测任务 ID,如 job-xxx。
region:压测任务运行所在的地域,如 ap-guangzhou。
其他标签
部分压测指标包含的其他标签:
method:请求方法名称,以 HTTP 协议为例,method 为 GET、POST、PUT 等。
proto:协议名称,以 HTTP 协议为例,proto 为 HTTP/1.1、HTTP/2 等。
service:服务名,以 HTTP 协议为例,service 为请求 url,如 http://httpbin.org/get 等。
status:响应状态码,以 HTTP 协议为例,状态码包括 200、404、500 等。
result:响应详情,通过 result 判断请求成果或失败。
请求正常,result 标签值为 ok。
请求失败,result 标签携带错误码和描述。
详细的错误码手册:错误代码手册。
check:检查名,标签值为用户设置的检查点名称。
注意:
在 websocket 中,event 对应 method 标签,包括:
上行消息:sendPing、sendPong、sendMessage、sendBinaryMessage。
下行消息:ping、pong、message、binaryMessage、error、open、close。
指标
metric name | type | labels | help info | description |
pts_engine_req_total | counter | method, proto, service, status, result, instance, job, region | Total number of requests sent to server | 请求总次数 |
pts_engine_req_duration_seconds | histogram | method, proto, service, status, result, instance, job, region | Duration of request(second) | 每次请求耗时 |
pts_engine_req_max_duration_seconds | gauge | method, proto, service, status, result, instance, job, region | Max duration of request(second) | 请求最大耗时 |
pts_engine_req_min_duration_seconds | gauge | method, proto, service, status, result, instance, job, region | Min duration of request(second) | 请求最小耗时 |
pts_engine_req_send_duration_seconds | histogram | method, proto, service, status, result, instance, job, region | Duration of request sending(second) | 发送请求耗时 |
pts_engine_req_wait_duration_seconds | histogram | method, proto, service, status, result, instance, job, region | Duration of request waiting(second) | 读取第一个响应字节耗时 |
pts_engine_req_receive_duration_seconds | histogram | method, proto, service, status, result, instance, job, region | Duration of request receiving(second) | 读取完整响应耗时 |
pts_engine_req_block_duration_seconds | histogram | method, proto, service, status, result, instance, job, region | Duration of request blocked(second) | 发起请求之前被阻塞耗时 |
pts_engine_req_connect_duration_seconds | histogram | method, proto, service, status, result, instance, job, region | Duration of request connecting(second) | 与远程主机建立连接耗时 |
pts_engine_req_tls_handshake_duration_seconds | histogram | method, proto, service, status, result, instance, job, region | Duration of request tls handshaking(second) | 与远程主机握手耗时 |
pts_engine_req_dns_lookup_duration_seconds | histogram | method, proto, service, status, result, instance, job, region | Duration of request dns lookup(second) | DNS 寻址耗时 |
pts_engine_send_bytes_total | counter | method, proto, service, status, result, instance, job, region | Total number of bytes sent | 发送字节数 |
pts_engine_receive_bytes_total | counter | method, proto, service, status, result, instance, job, region | Total number of bytes received | 接收字节数 |
pts_engine_checks_total | counter | check, result, instance, job, region | Total number of checks in requests | 检查点执行总次数 |
container_cpu_usage_seconds_total | counter | instance, job, region | Cumulative cpu time consumed | 累计 CPU 占用时间 |
container_memory_usage_bytes | gauge | instance, job, region | Current memory usage, including all memory regardless of when it was accessed | 当前内存使用量 |
container_network_receive_bytes_total | counter | instance, job, region | Cumulative count of bytes received | 累计接收字节数 |
container_network_transmit_bytes_total | counter | instance, job, region | Cumulative count of bytes transmitted | 累计发送字节数 |
kube_pod_resource_cpu_limits | gauge | instance, job, region | CPU limit in cores | CPU 核心上限 |
kube_pod_resource_mem_limits | gauge | instance, job, region | Memory limit in bytes | 内存上限 |
注意:
histogram 指标的 bucket 为 {0.001, 0.002, 0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2, 5, 10, 25, 50}。