我们之前在一个项目中使用了opentelemetry-cpp v1.8.1(目前是metrics)。关于influxdb中存在的元数据,一切都运行得很好。来自UpDownCounter的指标数据具有_field标记“counter”,这符合我们的预期。最近,我们升级到了1.11.0。我没有在代码中做任何更改,但现在每个指标都有_field标记,显示“gauge”,即使原始metricInstrument是UpDownCounter类型。有人知道这种行为的原因吗?有可能解决这个问题吗?提前感谢!
我试着在本地调试otel库,把它放到了OtlpHttpClient::Session(.)中形成json的地方。观察该字符串并不能帮助找到metricData包含“counter”或“gauge”之类的内容的位置。
1条答案
按热度按时间2vuwiymt1#
对于称为UpDown的计数器,只有
gauge
类型是合适的。比较OpenMetrics spec中的以下定义:规格:规格可能会随时间增加、减少或保持不变。
柜台:必须从0开始,随时间单调非递减。可以重置为0。如果存在,相应的创建时间也必须设置为重置的时间戳。
我认为相关的变化是1.10更新日志中的这一行:
[EXPORTER] set is_monotonic仅适用于仪器类型kCounter #2171