有没有办法可以将 opentelemetry span 导出到 prometheus?

Is there a way we can export opentelemetry spans to prometheus?

有没有一种方法可以将 node.js 应用程序中的 opentelemetry 跟踪和跨度导出到 prometheus?或者我们应该使用直方图来记录跨度持续时间,还有比这更好的方法吗?

要在节点中导出跨度,您应该使用跨度导出器,例如

https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-exporter-zipkin

https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-exporter-jaeger

https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-trace-otlp-http

Prometheus 是指标导出器,因此这仅适用于指标。目前,这些指标是实验性的,也在过程或重构中。但是你仍然可以通过检查这个简单的例子来尝试它们 https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/prometheus.

典型的分析工具无需创建指标即可分析跨度持续时间。因此,只有跨度就足以在跨度持续时间内拥有平均/或 95 分位数等。

为了更好地了解指标类型以及根据您的需要使用哪一种,我鼓励您开始阅读此处的规范 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#counter - 从计数器开始并检查提到的直方图。

您可以使用 spanmetricsprocessor 从 span 获取指标,然后使用 prometheus exporter 将其公开给 prometheus