如何创建多值标签指标规?

时间:2019-01-17 18:45:28

标签: spring-boot spring-micrometer

已经读过https://github.com/fluent/fluent-plugin-s3,但没有运气。

我发现的所有示例仅显示了如何创建像这样的单个值标签:

{
  "name" : "jvm.gc.memory.allocated",
  "measurements" : [ {
    "statistic" : "COUNT",
    "value" : 1.98180864E8
  } ],
  "availableTags" : [ {
    "tag" : "stack",
    "values" : [ "prod" ]
  }, {
    "tag" : "region",
    "values" : [ "us-east-1" ]
  } ]
}

但是我需要这样创建一个多值标签:

availableTags: [
{
    tag: "method",
    values: [
        "POST",
        "GET"
    ]
},

到目前为止,我的代码:

    List<Tag> tags = new ArrayList<Tag>();
    tags.add( Tag.of("test", "John") );
    tags.add( Tag.of("test", "Doo") );
    tags.add( Tag.of("test", "Foo Bar") );
    Metrics.gauge("my.metric", tags, new AtomicLong(3) );

如您所见,我认为我可以重复键,但事实并非如此,Tag.of的第二个参数是字符串,而不是字符串数组。

1 个答案:

答案 0 :(得分:0)

我认为这不是这些计量库的作者的真正意图-为度量标准提供多值标签。

指标标签的全部目的是提供一个“判别器”-稍后可用于检索其标签具有特定的单个值的指标。

通常,此值用于度量存储系统,例如Prometheus,DataDog,InfluxDB等。而且,在此之上,Grafana可以在其查询中包含单个标记值。

我看到的这种请求的唯一可能用例是,有可能以一种更方便的方式查看执行器中的指标值,但这又不是全部功能的重点,因此,我怀疑底线是否完全可能。