c++ opentelemetry-cpp:每个指标数据都有_field“gauge”而不是“counter”

gev0vcfq  于 2023-10-20  发布在  其他
关注(0)|答案(1)|浏览(138)

我们之前在一个项目中使用了opentelemetry-cpp v1.8.1(目前是metrics)。关于influxdb中存在的元数据,一切都运行得很好。来自UpDownCounter的指标数据具有_field标记“counter”,这符合我们的预期。最近,我们升级到了1.11.0。我没有在代码中做任何更改,但现在每个指标都有_field标记,显示“gauge”,即使原始metricInstrument是UpDownCounter类型。有人知道这种行为的原因吗?有可能解决这个问题吗?提前感谢!
我试着在本地调试otel库,把它放到了OtlpHttpClient::Session(.)中形成json的地方。观察该字符串并不能帮助找到metricData包含“counter”或“gauge”之类的内容的位置。

2vuwiymt

2vuwiymt1#

对于称为UpDown的计数器,只有gauge类型是合适的。比较OpenMetrics spec中的以下定义:

规格:规格可能会随时间增加、减少或保持不变。
柜台:必须从0开始,随时间单调非递减。可以重置为0。如果存在,相应的创建时间也必须设置为重置的时间戳。

我认为相关的变化是1.10更新日志中的这一行:
[EXPORTER] set is_monotonic仅适用于仪器类型kCounter #2171

相关问题