OpenTelemetry
Grafana k6 可以使用实验性的 OpenTelemetry 输出 --out experimental-opentelemetry
,将测试运行指标以 OpenTelemetry (OTEL) 指标格式 推送到 OTEL 指标收集器或支持 OTEL 指标格式的指标后端。
如有任何反馈、错误或建议,请随时在 k6 仓库中 直接提交 issue。我们也欢迎贡献!
指标映射
k6 会将所有 k6 指标类型 转换为等效的 OTEL 指标类型,并将所有 k6 标签转换为 OTEL 属性。如果可能,单位也会随指标一起传递。
k6 指标 | OpenTelemetry 指标 |
---|---|
Counter | Float64CounterOption |
Gauge | Float64ObservableGauge |
Rate | 拆分为两个名为 metric_name.occurred 和 metric_name.total 的 Int64Counter 计数器。metric_name.occurred 仅计算非零出现次数,而 metric_name.total 记录正负出现次数的总和。未来可能会有所改变,详情请参阅 k6#4573。 |
Trend | Float64Histogram |
运行 k6 测试
您可以在运行测试时使用 --out experimental-opentelemetry
选项来使用此扩展
K6_OTEL_GRPC_EXPORTER_INSECURE=true K6_OTEL_METRIC_PREFIX=k6_ k6 run --tag test-id=123 -o experimental-opentelemetry examples/script.js
配置
可以配置以下选项
名称 | 值 |
---|---|
K6_OTEL_SERVICE_NAME | 用于指标导出的服务名称。默认值为 k6 。 |
K6_OTEL_SERVICE_VERSION | 用于指标导出的服务版本。默认为 k6 版本,例如 v0.54.0 。 |
K6_OTEL_METRIC_PREFIX | 指标前缀。默认为空。 |
K6_OTEL_FLUSH_INTERVAL | 从 k6 指标引擎刷新指标的频率。默认值为 1s 。 |
K6_OTEL_EXPORT_INTERVAL | 配置指标导出之间的间隔时间。默认值为 10s 。 |
K6_OTEL_HEADERS | 配置符合 W3C Correlation-Context 格式的请求头,不包含额外的分号分隔元数据(即“k1=v1,k2=v2”)。将这些请求头传递给 exporter。 |
K6_OTEL_TLS_INSECURE_SKIP_VERIFY | 禁用服务器证书验证。 |
K6_OTEL_TLS_CERTIFICATE | 配置 TLS 凭据的根 CA 证书文件路径。如果未提供但 TLS 已启用,则使用主机的根 CA 集合。 |
K6_OTEL_TLS_CLIENT_CERTIFICATE | 配置客户端证书文件路径。 |
K6_OTEL_TLS_CLIENT_KEY | 配置客户端密钥文件路径。 |
K6_OTEL_EXPORTER_TYPE | 配置要使用的 exporter 类型。有效选项为 http 和 grpc 。默认值为 grpc 。 |
K6_OTEL_GRPC_EXPORTER_INSECURE | 禁用 gRPC exporter 的客户端传输安全。 |
K6_OTEL_GRPC_EXPORTER_ENDPOINT | 配置 gRPC exporter 端点。默认值为 localhost:4317 。 |
K6_OTEL_HTTP_EXPORTER_INSECURE | 禁用 HTTP exporter 的客户端传输安全。 |
K6_OTEL_HTTP_EXPORTER_ENDPOINT | 配置 HTTP exporter 端点。必须仅为主机和端口,不带方案。默认值为 localhost:4318 。 |
K6_OTEL_HTTP_EXPORTER_URL_PATH | 配置 HTTP exporter 路径。默认值为 /v1/metrics 。 |
您还可以使用 OpenTelemetry SDK 配置环境变量来配置 OpenTelemetry 输出,例如 gRPC exporter 配置。K6_OTEL_*
环境变量优先于 OpenTelemetry SDK 配置环境变量。