如何在 Datadog Dashboard Widget 中显示正确的货币价值

How to display correct monetary value in Datadog Dashboard Widget

我在 Springboot Java 应用程序中创建了自定义 Datadog 指标,并打开了管理端点。

我正在增加一个双精度值的 MeterRegistry 计数器(与订单的货币价值相关) 当我使用 /management/metrics 端点时,我可以看到存储了正确的值。

然而,当我在我的 Datadog 仪表板中创建一个小部件时,它只显示数据的小数点前的值。例如,订单值为 61.67,而在 Datadog 中显示为 61,因此它甚至没有进行任何舍入!

有什么方法可以在 Datadog 仪表板小部件中显示计数器的原始值吗?

提前致谢

  1. 首先,我会使用 API
  2. 检查 Datadog 中存储了哪些指标
  3. 其次,我会检查您发送的指标类型https://app.datadoghq.com/metric/summary?metric=<my-metric>不确定计数器类型是否可以有十进制值,也许计量器会更合适。
  4. 最后,要显示值,您可以使用查询值小部件,例如下面代码段中的小部件。确保:
    • 取最后一个值(这里是聚合器:last)
    • Select感兴趣的小数位数(此处精度:3)
    • Select 正确的 space 聚合,如果您从多个地方(即多个标签)收到此指标(此处 avg:my_metric{*})
{
  "viz": "query_value",
  "requests": [
    {
      "q": "avg:nginx.logs.request.count{*}.as_count()",
      "type": null,
      "style": {
        "palette": "dog_classic",
        "type": "solid",
        "width": "normal"
      },
      "aggregator": "last",
      "conditional_formats": [
        {
          "comparator": ">",
          "palette": "white_on_red",
          "value": null
        },
        {
          "comparator": ">=",
          "palette": "white_on_yellow",
          "value": null
        },
        {
          "comparator": "<",
          "palette": "white_on_green",
          "value": null
        }
      ]
    }
  ],
  "autoscale": true,
  "precision": "3"
}

旁注:我也将它用于 Kafka(仅作为参考),但您的情况不需要它:

ENTRYPOINT ["java","-javaagent:dd-java-agent.jar","-Ddd.agent.host=localhost","-Ddd.jmxfetch.statsd.host=localhost","-Ddd.trace.global.tags=env:kafka","-Ddd.agent.port=8126","-Ddd.service.name=KafkaProducer","-Ddd.logs.injection=true","-Ddd.trace.analytics.enabled=true","-Ddd.kafka.analytics.enabled=true","-Ddd.servlet.analytics.enabled=true","-Ddd.spring-web.analytics.enabled=true","-jar","target/KafkaConsumer-0.0.1-SNAPSHOT.jar"]