0

已经读过这个,但没有幸运。

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

{
  "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是字符串而不是字符串数组。

4

1 回答 1

0

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

指标标签的全部意义在于提供一个“鉴别器”——稍后可以使用它来检索其标签具有特定、单一值的指标。

通常,该值用于度量存储系统,如 Prometheus、DataDog、InfluxDB 等。在此之上,Grafana 可以在其查询中合并单个标签值。

我看到的这种请求的唯一可能用例是,可以以一种更方便的方式查看执行器中的指标值,但这又不是这里整个功能的重点,所以,底部我怀疑它是否可能。

于 2019-01-18T11:02:52.677 回答