未验证 提交 db1d655b 编写于 作者: W wankai123 提交者: GitHub

Fix: MAL function would miss samples name after creating new samples. (#6864)

上级 b117689b
...@@ -28,6 +28,7 @@ Release Notes. ...@@ -28,6 +28,7 @@ Release Notes.
* Support WeLink as a channel of alarm notification. * Support WeLink as a channel of alarm notification.
* Fix: Some defensive codes didn't work in `PercentileFunction combine`. * Fix: Some defensive codes didn't work in `PercentileFunction combine`.
* CVE: fix Jetty vulnerability. https://nvd.nist.gov/vuln/detail/CVE-2019-17638 * CVE: fix Jetty vulnerability. https://nvd.nist.gov/vuln/detail/CVE-2019-17638
* Fix: MAL function would miss samples name after creating new samples.
#### UI #### UI
* Add logo for kong plugin. * Add logo for kong plugin.
......
...@@ -212,7 +212,7 @@ public class SampleFamily { ...@@ -212,7 +212,7 @@ public class SampleFamily {
} }
if (by == null) { if (by == null) {
double result = Arrays.stream(samples).mapToDouble(Sample::getValue).average().orElse(0.0D); double result = Arrays.stream(samples).mapToDouble(Sample::getValue).average().orElse(0.0D);
return SampleFamily.build(this.context, InternalOps.newSample(ImmutableMap.of(), samples[0].timestamp, result)); return SampleFamily.build(this.context, InternalOps.newSample(samples[0].name, ImmutableMap.of(), samples[0].timestamp, result));
} }
return SampleFamily.build( return SampleFamily.build(
...@@ -221,6 +221,7 @@ public class SampleFamily { ...@@ -221,6 +221,7 @@ public class SampleFamily {
.collect(groupingBy(it -> InternalOps.getLabels(by, it), mapping(identity(), toList()))) .collect(groupingBy(it -> InternalOps.getLabels(by, it), mapping(identity(), toList())))
.entrySet().stream() .entrySet().stream()
.map(entry -> InternalOps.newSample( .map(entry -> InternalOps.newSample(
entry.getValue().get(0).getName(),
entry.getKey(), entry.getKey(),
entry.getValue().get(0).getTimestamp(), entry.getValue().get(0).getTimestamp(),
entry.getValue().stream().mapToDouble(Sample::getValue).average().orElse(0.0D) entry.getValue().stream().mapToDouble(Sample::getValue).average().orElse(0.0D)
...@@ -236,7 +237,7 @@ public class SampleFamily { ...@@ -236,7 +237,7 @@ public class SampleFamily {
} }
if (by == null) { if (by == null) {
double result = Arrays.stream(samples).mapToDouble(s -> s.value).reduce(aggregator).orElse(0.0D); double result = Arrays.stream(samples).mapToDouble(s -> s.value).reduce(aggregator).orElse(0.0D);
return SampleFamily.build(this.context, InternalOps.newSample(ImmutableMap.of(), samples[0].timestamp, result)); return SampleFamily.build(this.context, InternalOps.newSample(samples[0].name, ImmutableMap.of(), samples[0].timestamp, result));
} }
return SampleFamily.build( return SampleFamily.build(
this.context, this.context,
...@@ -244,6 +245,7 @@ public class SampleFamily { ...@@ -244,6 +245,7 @@ public class SampleFamily {
.collect(groupingBy(it -> InternalOps.getLabels(by, it), mapping(identity(), toList()))) .collect(groupingBy(it -> InternalOps.getLabels(by, it), mapping(identity(), toList())))
.entrySet().stream() .entrySet().stream()
.map(entry -> InternalOps.newSample( .map(entry -> InternalOps.newSample(
entry.getValue().get(0).getName(),
entry.getKey(), entry.getKey(),
entry.getValue().get(0).getTimestamp(), entry.getValue().get(0).getTimestamp(),
entry.getValue().stream().mapToDouble(Sample::getValue).reduce(aggregator).orElse(0.0D) entry.getValue().stream().mapToDouble(Sample::getValue).reduce(aggregator).orElse(0.0D)
...@@ -355,7 +357,7 @@ public class SampleFamily { ...@@ -355,7 +357,7 @@ public class SampleFamily {
.putAll(Maps.filterKeys(s.labels, key -> !Objects.equals(key, le))) .putAll(Maps.filterKeys(s.labels, key -> !Objects.equals(key, le)))
.put("le", String.valueOf((long) ((Double.parseDouble(this.context.histogramType == HistogramType.ORDINARY ? s.labels.get(le) : preLe.get())) * scale))).build(); .put("le", String.valueOf((long) ((Double.parseDouble(this.context.histogramType == HistogramType.ORDINARY ? s.labels.get(le) : preLe.get())) * scale))).build();
preLe.set(s.labels.get(le)); preLe.set(s.labels.get(le));
return InternalOps.newSample(ll, s.timestamp, r); return InternalOps.newSample(s.name, ll, s.timestamp, r);
}) })
).toArray(Sample[]::new) ).toArray(Sample[]::new)
); );
...@@ -539,11 +541,12 @@ public class SampleFamily { ...@@ -539,11 +541,12 @@ public class SampleFamily {
} }
} }
private static Sample newSample(ImmutableMap<String, String> labels, long timestamp, double newValue) { private static Sample newSample(String name, ImmutableMap<String, String> labels, long timestamp, double newValue) {
return Sample.builder() return Sample.builder()
.value(newValue) .value(newValue)
.labels(labels) .labels(labels)
.timestamp(timestamp) .timestamp(timestamp)
.name(name)
.build(); .build();
} }
......
...@@ -57,27 +57,27 @@ public class AggregationTest { ...@@ -57,27 +57,27 @@ public class AggregationTest {
{ {
"sum", "sum",
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1")).value(50).build(), Sample.builder().labels(of("idc", "t1")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t2")).value(3).build() Sample.builder().labels(of("idc", "t2")).value(3).name("http_success_request").build()
).build()), ).build()),
"http_success_request.sum()", "http_success_request.sum()",
Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(ImmutableMap.of()).value(53).build()).build()), Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(ImmutableMap.of()).value(53).name("http_success_request").build()).build()),
false, false,
}, },
{ {
"sum-by", "sum-by",
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1")).value(50).build(), Sample.builder().labels(of("idc", "t1")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3", "region", "cn", "svc", "catalog")).value(50).build(), Sample.builder().labels(of("idc", "t3", "region", "cn", "svc", "catalog")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1", "region", "us", "svc", "product")).value(50).build(), Sample.builder().labels(of("idc", "t1", "region", "us", "svc", "product")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1", "region", "us", "instance", "10.0.0.1")).value(50).build(), Sample.builder().labels(of("idc", "t1", "region", "us", "instance", "10.0.0.1")).name("http_success_request").value(50).build(),
Sample.builder().labels(of("idc", "t3", "region", "cn", "instance", "10.0.0.1")).value(3).build() Sample.builder().labels(of("idc", "t3", "region", "cn", "instance", "10.0.0.1")).name("http_success_request").value(3).build()
).build()), ).build()),
"http_success_request.sum(by = ['region', 'idc'])", "http_success_request.sum(by = ['region', 'idc'])",
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1", "region", "")).value(50).build(), Sample.builder().labels(of("idc", "t1", "region", "")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1", "region", "us")).value(100).build(), Sample.builder().labels(of("idc", "t1", "region", "us")).value(100).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3", "region", "cn")).value(53).build() Sample.builder().labels(of("idc", "t3", "region", "cn")).value(53).name("http_success_request").build()
).build()), ).build()),
false, false,
}, },
...@@ -85,57 +85,56 @@ public class AggregationTest { ...@@ -85,57 +85,56 @@ public class AggregationTest {
{ {
"min", "min",
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t3")).value(100).build(), Sample.builder().labels(of("idc", "t3")).value(100).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1")).value(50).build(), Sample.builder().labels(of("idc", "t1")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t2")).value(3).build() Sample.builder().labels(of("idc", "t2")).value(3).name("http_success_request").build()
).build()), ).build()),
"http_success_request.min()", "http_success_request.min()",
Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(ImmutableMap.of()).value(3).build()).build()), Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(ImmutableMap.of()).value(3).name("http_success_request").build()).build()),
false, false,
}, },
{ {
"min-by", "min-by",
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1")).value(50).build(), Sample.builder().labels(of("idc", "t1")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3", "region", "cn", "svc", "catalog")).value(50).build(), Sample.builder().labels(of("idc", "t3", "region", "cn", "svc", "catalog")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1", "region", "us", "svc", "product")).value(50).build(), Sample.builder().labels(of("idc", "t1", "region", "us", "svc", "product")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1", "region", "us", "instance", "10.0.0.1")).value(100).build(), Sample.builder().labels(of("idc", "t1", "region", "us", "instance", "10.0.0.1")).value(100).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3", "region", "cn", "instance", "10.0.0.1")).value(3).build() Sample.builder().labels(of("idc", "t3", "region", "cn", "instance", "10.0.0.1")).value(3).name("http_success_request").build()
).build()), ).build()),
"http_success_request.min(by = ['region', 'idc'])", "http_success_request.min(by = ['region', 'idc'])",
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1", "region", "")).value(50).build(), Sample.builder().labels(of("idc", "t1", "region", "")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1", "region", "us")).value(50).build(), Sample.builder().labels(of("idc", "t1", "region", "us")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3", "region", "cn")).value(3).build() Sample.builder().labels(of("idc", "t3", "region", "cn")).value(3).name("http_success_request").build()
).build()), ).build()),
false, false,
}, },
{ {
"max", "max",
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t3")).value(100).build(), Sample.builder().labels(of("idc", "t3")).value(100).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1")).value(50).build(), Sample.builder().labels(of("idc", "t1")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t2")).value(3).build() Sample.builder().labels(of("idc", "t2")).value(3).name("http_success_request").build()
).build()), ).build()),
"http_success_request.max()", "http_success_request.max()",
Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(ImmutableMap.of()).value(100).build()).build()), Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(ImmutableMap.of()).value(100).name("http_success_request").build()).build()),
false, false,
}, },
{ {
"max-by", "max-by",
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1")).value(50).build(), Sample.builder().labels(of("idc", "t1")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3", "region", "cn", "svc", "catalog")).value(50).build(), Sample.builder().labels(of("idc", "t3", "region", "cn", "svc", "catalog")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1", "region", "us", "svc", "product")).value(50).build(), Sample.builder().labels(of("idc", "t1", "region", "us", "svc", "product")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1", "region", "us", "instance", "10.0.0.1")).value(100).build(), Sample.builder().labels(of("idc", "t1", "region", "us", "instance", "10.0.0.1")).value(100).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3", "region", "cn", "instance", "10.0.0.1")).value(3).build() Sample.builder().labels(of("idc", "t3", "region", "cn", "instance", "10.0.0.1")).value(3).name("http_success_request").build()
).build()), ).build()),
"http_success_request.max(by = ['region', 'idc'])", "http_success_request.max(by = ['region', 'idc'])",
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1", "region", "")).value(50).build(), Sample.builder().labels(of("idc", "t1", "region", "")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1", "region", "us")).value(100).build(), Sample.builder().labels(of("idc", "t1", "region", "us")).value(100).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3", "region", "cn")).value(50).build() Sample.builder().labels(of("idc", "t3", "region", "cn")).value(50).name("http_success_request").build()
).build()), ).build()),
false, false,
}, },
...@@ -143,28 +142,28 @@ public class AggregationTest { ...@@ -143,28 +142,28 @@ public class AggregationTest {
{ {
"avg", "avg",
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t3")).value(100).build(), Sample.builder().labels(of("idc", "t3")).value(100).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1")).value(50).build(), Sample.builder().labels(of("idc", "t1")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t2")).value(3).build() Sample.builder().labels(of("idc", "t2")).value(3).name("http_success_request").build()
).build()), ).build()),
"http_success_request.avg()", "http_success_request.avg()",
Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(ImmutableMap.of()).value(51).build()).build()), Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(ImmutableMap.of()).value(51).name("http_success_request").build()).build()),
false, false,
}, },
{ {
"avg-by", "avg-by",
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1")).value(50).build(), Sample.builder().labels(of("idc", "t1")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3", "region", "cn", "svc", "catalog")).value(51).build(), Sample.builder().labels(of("idc", "t3", "region", "cn", "svc", "catalog")).value(51).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1", "region", "us", "svc", "product")).value(50).build(), Sample.builder().labels(of("idc", "t1", "region", "us", "svc", "product")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1", "region", "us", "instance", "10.0.0.1")).value(100).build(), Sample.builder().labels(of("idc", "t1", "region", "us", "instance", "10.0.0.1")).value(100).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3", "region", "cn", "instance", "10.0.0.1")).value(3).build() Sample.builder().labels(of("idc", "t3", "region", "cn", "instance", "10.0.0.1")).value(3).name("http_success_request").build()
).build()), ).build()),
"http_success_request.avg(by = ['region', 'idc'])", "http_success_request.avg(by = ['region', 'idc'])",
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1", "region", "")).value(50).build(), Sample.builder().labels(of("idc", "t1", "region", "")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1", "region", "us")).value(75).build(), Sample.builder().labels(of("idc", "t1", "region", "us")).value(75).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3", "region", "cn")).value(27).build() Sample.builder().labels(of("idc", "t3", "region", "cn")).value(27).name("http_success_request").build()
).build()), ).build()),
false, false,
}, },
......
...@@ -77,10 +77,10 @@ public class AnalyzerTest { ...@@ -77,10 +77,10 @@ public class AnalyzerTest {
ImmutableMap<String, SampleFamily> input = ImmutableMap.of( ImmutableMap<String, SampleFamily> input = ImmutableMap.of(
"http_success_request", SampleFamilyBuilder.newBuilder( "http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1")).value(50).build(), Sample.builder().labels(of("idc", "t1")).value(50).build(),
Sample.builder().labels(of("idc", "t3", "region", "cn", "svc", "catalog")).value(51).build(), Sample.builder().labels(of("idc", "t3", "region", "cn", "svc", "catalog")).value(51).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1", "region", "us", "svc", "product")).value(50).build(), Sample.builder().labels(of("idc", "t1", "region", "us", "svc", "product")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1", "region", "us", "instance", "10.0.0.1")).value(100).build(), Sample.builder().labels(of("idc", "t1", "region", "us", "instance", "10.0.0.1")).value(100).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3", "region", "cn", "instance", "10.0.0.1")).value(3).build() Sample.builder().labels(of("idc", "t3", "region", "cn", "instance", "10.0.0.1")).value(3).name("http_success_request").build()
).build() ).build()
); );
...@@ -120,10 +120,10 @@ public class AnalyzerTest { ...@@ -120,10 +120,10 @@ public class AnalyzerTest {
ImmutableMap<String, SampleFamily> input = ImmutableMap.of( ImmutableMap<String, SampleFamily> input = ImmutableMap.of(
"http_success_request", SampleFamilyBuilder.newBuilder( "http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1")).value(50).build(), Sample.builder().labels(of("idc", "t1")).value(50).build(),
Sample.builder().labels(of("idc", "t3", "region", "cn", "svc", "catalog")).value(51).build(), Sample.builder().labels(of("idc", "t3", "region", "cn", "svc", "catalog")).value(51).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1", "region", "us", "svc", "product")).value(50).build(), Sample.builder().labels(of("idc", "t1", "region", "us", "svc", "product")).value(50).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t1", "region", "us", "instance", "10.0.0.1")).value(100).build(), Sample.builder().labels(of("idc", "t1", "region", "us", "instance", "10.0.0.1")).value(100).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3", "region", "cn", "instance", "10.0.0.1")).value(3).build() Sample.builder().labels(of("idc", "t3", "region", "cn", "instance", "10.0.0.1")).value(3).name("http_success_request").build()
).build() ).build()
); );
...@@ -170,20 +170,24 @@ public class AnalyzerTest { ...@@ -170,20 +170,24 @@ public class AnalyzerTest {
Sample.builder() Sample.builder()
.labels(of("le", "0.025", "service", "service1", "instance", "instance1")) .labels(of("le", "0.025", "service", "service1", "instance", "instance1"))
.value(100) .value(100)
.name("instance_cpu_percentage")
.build(), .build(),
Sample.builder() Sample.builder()
.labels(of("le", "1.25", "service", "service1", "instance", "instance1")) .labels(of("le", "1.25", "service", "service1", "instance", "instance1"))
.value(300) .value(300)
.name("instance_cpu_percentage")
.build(), .build(),
Sample.builder() Sample.builder()
.labels(of("le", "0.75", "service", "service1", "instance", "instance2")) .labels(of("le", "0.75", "service", "service1", "instance", "instance2"))
.value(122) .value(122)
.name("instance_cpu_percentage")
.build(), .build(),
Sample.builder() Sample.builder()
.labels(of("le", String.valueOf(Integer.MAX_VALUE), "service", "service1", "instance", .labels(of("le", String.valueOf(Integer.MAX_VALUE), "service", "service1", "instance",
"instance2" "instance2"
)) ))
.value(410) .value(410)
.name("instance_cpu_percentage")
.build() .build()
).build() ).build()
); );
......
...@@ -63,9 +63,9 @@ public class BasicTest { ...@@ -63,9 +63,9 @@ public class BasicTest {
}, },
{ {
"single-value", "single-value",
of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(Sample.builder().value(1600592418480.0).build()).build()), of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(Sample.builder().value(1600592418480.0).name("instance_cpu_percentage").build()).build()),
"instance_cpu_percentage", "instance_cpu_percentage",
Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().value(1600592418480.0).build()).build()), Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().value(1600592418480.0).name("instance_cpu_percentage").build()).build()),
false, false,
}, },
}); });
......
...@@ -56,70 +56,70 @@ public class FunctionTest { ...@@ -56,70 +56,70 @@ public class FunctionTest {
return Arrays.asList(new Object[][] { return Arrays.asList(new Object[][] {
{ {
"tag-override", "tag-override",
of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us")).build()).build()), of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us")).name("instance_cpu_percentage").build()).build()),
"instance_cpu_percentage.tag({ ['svc':'product', 'instance':'10.0.0.1'] })", "instance_cpu_percentage.tag({ ['svc':'product', 'instance':'10.0.0.1'] })",
Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("svc", "product", "instance", "10.0.0.1")).build()).build()), Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("svc", "product", "instance", "10.0.0.1")).name("instance_cpu_percentage").build()).build()),
false, false,
}, },
{ {
"tag-add", "tag-add",
of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us")).build()).build()), of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us")).name("instance_cpu_percentage").build()).build()),
"instance_cpu_percentage.tag({tags -> tags.az = 'az1' })", "instance_cpu_percentage.tag({tags -> tags.az = 'az1' })",
Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us", "az", "az1")).build()).build()), Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us", "az", "az1")).name("instance_cpu_percentage").build()).build()),
false, false,
}, },
{ {
"tag-remove", "tag-remove",
of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us")).build()).build()), of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us")).name("instance_cpu_percentage").build()).build()),
"instance_cpu_percentage.tag({tags -> tags.remove('region') })", "instance_cpu_percentage.tag({tags -> tags.remove('region') })",
Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(ImmutableMap.of()).build()).build()), Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(ImmutableMap.of()).name("instance_cpu_percentage").build()).build()),
false, false,
}, },
{ {
"tag-update", "tag-update",
of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us")).build()).build()), of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us")).name("instance_cpu_percentage").build()).build()),
"instance_cpu_percentage.tag({tags -> if (tags['region'] == 'us') {tags.region = 'zh'} })", "instance_cpu_percentage.tag({tags -> if (tags['region'] == 'us') {tags.region = 'zh'} })",
Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "zh")).build()).build()), Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "zh")).name("instance_cpu_percentage").build()).build()),
false, false,
}, },
{ {
"tag-append", "tag-append",
of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us")).build()).build()), of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us")).name("instance_cpu_percentage").build()).build()),
"instance_cpu_percentage.tag({tags -> tags.region = 'prefix::' + tags.region})", "instance_cpu_percentage.tag({tags -> tags.region = 'prefix::' + tags.region})",
Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "prefix::us")).build()).build()), Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "prefix::us")).name("instance_cpu_percentage").build()).build()),
false, false,
}, },
{ {
"histogram", "histogram",
of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder( of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("le", "0.025")).value(100).build(), Sample.builder().labels(of("le", "0.025")).value(100).name("instance_cpu_percentage").build(),
Sample.builder().labels(of("le", "1.25")).value(300).build(), Sample.builder().labels(of("le", "1.25")).value(300).name("instance_cpu_percentage").build(),
Sample.builder().labels(of("le", "0.75")).value(122).build(), Sample.builder().labels(of("le", "0.75")).value(122).name("instance_cpu_percentage").build(),
Sample.builder().labels(of("le", String.valueOf(Integer.MAX_VALUE))).value(410).build()).build() Sample.builder().labels(of("le", String.valueOf(Integer.MAX_VALUE))).value(410).name("instance_cpu_percentage").build()).build()
), ),
"instance_cpu_percentage.histogram()", "instance_cpu_percentage.histogram()",
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("le", "0")).value(100).build(), Sample.builder().labels(of("le", "0")).value(100).name("instance_cpu_percentage").build(),
Sample.builder().labels(of("le", "25")).value(22).build(), Sample.builder().labels(of("le", "25")).value(22).name("instance_cpu_percentage").build(),
Sample.builder().labels(of("le", "750")).value(178).build(), Sample.builder().labels(of("le", "750")).value(178).name("instance_cpu_percentage").build(),
Sample.builder().labels(of("le", "1250")).value(110).build()).build() Sample.builder().labels(of("le", "1250")).value(110).name("instance_cpu_percentage").build()).build()
), ),
false, false,
}, },
{ {
"histogram_percentile", "histogram_percentile",
of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder( of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("le", "0.025")).value(100).build(), Sample.builder().labels(of("le", "0.025")).value(100).name("instance_cpu_percentage").build(),
Sample.builder().labels(of("le", "1.25")).value(300).build(), Sample.builder().labels(of("le", "1.25")).value(300).name("instance_cpu_percentage").build(),
Sample.builder().labels(of("le", "0.75")).value(122).build(), Sample.builder().labels(of("le", "0.75")).value(122).name("instance_cpu_percentage").build(),
Sample.builder().labels(of("le", String.valueOf(Integer.MAX_VALUE))).value(410).build()).build() Sample.builder().labels(of("le", String.valueOf(Integer.MAX_VALUE))).value(410).name("instance_cpu_percentage").build()).build()
), ),
"instance_cpu_percentage.histogram().histogram_percentile([75,99])", "instance_cpu_percentage.histogram().histogram_percentile([75,99])",
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("le", "0")).value(100).build(), Sample.builder().labels(of("le", "0")).value(100).name("instance_cpu_percentage").build(),
Sample.builder().labels(of("le", "25")).value(22).build(), Sample.builder().labels(of("le", "25")).value(22).name("instance_cpu_percentage").build(),
Sample.builder().labels(of("le", "750")).value(178).build(), Sample.builder().labels(of("le", "750")).value(178).name("instance_cpu_percentage").build(),
Sample.builder().labels(of("le", "1250")).value(110).build()).build() Sample.builder().labels(of("le", "1250")).value(110).name("instance_cpu_percentage").build()).build()
), ),
false, false,
}, },
......
...@@ -62,54 +62,54 @@ public class IncreaseTest { ...@@ -62,54 +62,54 @@ public class IncreaseTest {
asList( asList(
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(50).build(), .timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(50).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(150).build() .timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(150).name("http_success_request").build()
).build()), ).build()),
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(80).build(), .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(80).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(250).build() .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(250).name("http_success_request").build()
).build()), ).build()),
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(90).build(), .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(90).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(280).build() .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(280).name("http_success_request").build()
).build()), ).build()),
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(130).build(), .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(130).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(330).build() .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(330).name("http_success_request").build()
).build()) ).build())
), ),
"http_success_request.increase('PT5M')", "http_success_request.increase('PT5M')",
asList( asList(
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(0).build(), .timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(0).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(0).build() .timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(0).name("http_success_request").build()
).build()), ).build()),
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(30).build(), .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(30).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(100).build() .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(100).name("http_success_request").build()
).build()), ).build()),
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(40).build(), .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(40).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(130).build() .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(130).name("http_success_request").build()
).build()), ).build()),
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(50).build(), .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(50).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(80).build() .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(80).name("http_success_request").build()
).build()) ).build())
), ),
false, false,
...@@ -119,54 +119,54 @@ public class IncreaseTest { ...@@ -119,54 +119,54 @@ public class IncreaseTest {
asList( asList(
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(50).build(), .timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(50).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(150).build() .timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(150).name("http_success_request").build()
).build()), ).build()),
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(330).build(), .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(330).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(500).build() .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(500).name("http_success_request").build()
).build()), ).build()),
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(380).build(), .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(380).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(810).build() .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(810).name("http_success_request").build()
).build()), ).build()),
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(1380).build(), .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(1380).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(1900).build() .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(1900).name("http_success_request").build()
).build()) ).build())
), ),
"http_success_request.rate('PT5M')", "http_success_request.rate('PT5M')",
asList( asList(
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(0).build(), .timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(0).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(0).build() .timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(0).name("http_success_request").build()
).build()), ).build()),
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(1.75D).build(), .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(1.75D).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(2.1875D).build() .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(2.1875D).name("http_success_request").build()
).build()), ).build()),
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(1D).build(), .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(1D).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(2D).build() .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(2D).name("http_success_request").build()
).build()), ).build()),
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(3D).build(), .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(3D).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(4D).build() .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(4D).name("http_success_request").build()
).build()) ).build())
), ),
false, false,
...@@ -176,54 +176,54 @@ public class IncreaseTest { ...@@ -176,54 +176,54 @@ public class IncreaseTest {
asList( asList(
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(50).build(), .timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(50).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(150).build() .timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(150).name("http_success_request").build()
).build()), ).build()),
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(330).build(), .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(330).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(500).build() .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(500).name("http_success_request").build()
).build()), ).build()),
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(500).build(), .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(500).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(840).build() .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(840).name("http_success_request").build()
).build()), ).build()),
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(1040).build(), .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(1040).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(1560).build() .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(1560).name("http_success_request").build()
).build()) ).build())
), ),
"http_success_request.irate()", "http_success_request.irate()",
asList( asList(
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(0).build(), .timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(0).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(0).build() .timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(0).name("http_success_request").build()
).build()), ).build()),
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(1.75D).build(), .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(1.75D).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(2.1875D).build() .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(2.1875D).name("http_success_request").build()
).build()), ).build()),
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(1D).build(), .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(1D).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(2D).build() .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(2D).name("http_success_request").build()
).build()), ).build()),
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().name("http_success_request").labels(of("svc", "product")) Sample.builder().name("http_success_request").labels(of("svc", "product"))
.timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(3D).build(), .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(3D).name("http_success_request").build(),
Sample.builder().name("http_success_request").labels(of("svc", "catalog")) Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
.timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(4D).build() .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(4D).name("http_success_request").build()
).build()) ).build())
), ),
false, false,
......
...@@ -75,6 +75,7 @@ public class K8sTagTest { ...@@ -75,6 +75,7 @@ public class K8sTagTest {
"my-nginx-5dc4865748-mbczh" "my-nginx-5dc4865748-mbczh"
)) ))
.value(2) .value(2)
.name("container_cpu_usage_seconds_total")
.build(), .build(),
Sample.builder() Sample.builder()
.labels( .labels(
...@@ -83,6 +84,7 @@ public class K8sTagTest { ...@@ -83,6 +84,7 @@ public class K8sTagTest {
"kube-state-metrics-6f979fd498-z7xwx" "kube-state-metrics-6f979fd498-z7xwx"
)) ))
.value(1) .value(1)
.name("container_cpu_usage_seconds_total")
.build() .build()
).build()), ).build()),
"container_cpu_usage_seconds_total.retagByK8sMeta('service' , K8sRetagType.Pod2Service , 'pod' , 'namespace')", "container_cpu_usage_seconds_total.retagByK8sMeta('service' , K8sRetagType.Pod2Service , 'pod' , 'namespace')",
...@@ -95,6 +97,7 @@ public class K8sTagTest { ...@@ -95,6 +97,7 @@ public class K8sTagTest {
"service", "nginx-service.default" "service", "nginx-service.default"
)) ))
.value(2) .value(2)
.name("container_cpu_usage_seconds_total")
.build(), .build(),
Sample.builder() Sample.builder()
.labels( .labels(
...@@ -104,6 +107,7 @@ public class K8sTagTest { ...@@ -104,6 +107,7 @@ public class K8sTagTest {
"service", "kube-state-metrics.kube-system" "service", "kube-state-metrics.kube-system"
)) ))
.value(1) .value(1)
.name("container_cpu_usage_seconds_total")
.build() .build()
).build()), ).build()),
false, false,
...@@ -118,6 +122,7 @@ public class K8sTagTest { ...@@ -118,6 +122,7 @@ public class K8sTagTest {
"my-nginx-5dc4865748-no-pod" "my-nginx-5dc4865748-no-pod"
)) ))
.value(2) .value(2)
.name("container_cpu_usage_seconds_total")
.build(), .build(),
Sample.builder() Sample.builder()
.labels( .labels(
...@@ -126,6 +131,7 @@ public class K8sTagTest { ...@@ -126,6 +131,7 @@ public class K8sTagTest {
"kube-state-metrics-6f979fd498-z7xwx" "kube-state-metrics-6f979fd498-z7xwx"
)) ))
.value(1) .value(1)
.name("container_cpu_usage_seconds_total")
.build() .build()
).build()), ).build()),
"container_cpu_usage_seconds_total.retagByK8sMeta('service' , K8sRetagType.Pod2Service , 'pod' , 'namespace')", "container_cpu_usage_seconds_total.retagByK8sMeta('service' , K8sRetagType.Pod2Service , 'pod' , 'namespace')",
...@@ -137,6 +143,7 @@ public class K8sTagTest { ...@@ -137,6 +143,7 @@ public class K8sTagTest {
"my-nginx-5dc4865748-no-pod" , "service", Retag.BLANK "my-nginx-5dc4865748-no-pod" , "service", Retag.BLANK
)) ))
.value(2) .value(2)
.name("container_cpu_usage_seconds_total")
.build(), .build(),
Sample.builder() Sample.builder()
.labels( .labels(
...@@ -146,6 +153,7 @@ public class K8sTagTest { ...@@ -146,6 +153,7 @@ public class K8sTagTest {
"service", "kube-state-metrics.kube-system" "service", "kube-state-metrics.kube-system"
)) ))
.value(1) .value(1)
.name("container_cpu_usage_seconds_total")
.build() .build()
).build()), ).build()),
false, false,
...@@ -160,6 +168,7 @@ public class K8sTagTest { ...@@ -160,6 +168,7 @@ public class K8sTagTest {
"my-nginx-5dc4865748-no-service" "my-nginx-5dc4865748-no-service"
)) ))
.value(2) .value(2)
.name("container_cpu_usage_seconds_total")
.build(), .build(),
Sample.builder() Sample.builder()
.labels( .labels(
...@@ -168,6 +177,7 @@ public class K8sTagTest { ...@@ -168,6 +177,7 @@ public class K8sTagTest {
"kube-state-metrics-6f979fd498-z7xwx" "kube-state-metrics-6f979fd498-z7xwx"
)) ))
.value(1) .value(1)
.name("container_cpu_usage_seconds_total")
.build() .build()
).build()), ).build()),
"container_cpu_usage_seconds_total.retagByK8sMeta('service' , K8sRetagType.Pod2Service , 'pod' , 'namespace')", "container_cpu_usage_seconds_total.retagByK8sMeta('service' , K8sRetagType.Pod2Service , 'pod' , 'namespace')",
...@@ -179,6 +189,7 @@ public class K8sTagTest { ...@@ -179,6 +189,7 @@ public class K8sTagTest {
"my-nginx-5dc4865748-no-service" , "service", Retag.BLANK "my-nginx-5dc4865748-no-service" , "service", Retag.BLANK
)) ))
.value(2) .value(2)
.name("container_cpu_usage_seconds_total")
.build(), .build(),
Sample.builder() Sample.builder()
.labels( .labels(
...@@ -188,6 +199,7 @@ public class K8sTagTest { ...@@ -188,6 +199,7 @@ public class K8sTagTest {
"service", "kube-state-metrics.kube-system" "service", "kube-state-metrics.kube-system"
)) ))
.value(1) .value(1)
.name("container_cpu_usage_seconds_total")
.build() .build()
).build()), ).build()),
false, false,
......
...@@ -63,9 +63,9 @@ public class TagFilterTest { ...@@ -63,9 +63,9 @@ public class TagFilterTest {
}, },
{ {
"single-value", "single-value",
of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(Sample.builder().value(1600592418480.0).build()).build()), of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(Sample.builder().value(1600592418480.0).name("instance_cpu_percentage").build()).build()),
"instance_cpu_percentage", "instance_cpu_percentage",
Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().value(1600592418480.0).build()).build()), Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().value(1600592418480.0).name("instance_cpu_percentage").build()).build()),
false, false,
}, },
}); });
......
...@@ -56,84 +56,84 @@ public class ValueFilterTest { ...@@ -56,84 +56,84 @@ public class ValueFilterTest {
{ {
"valueEqual", "valueEqual",
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1")).value(2).build(), Sample.builder().labels(of("idc", "t1")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t2")).value(2).build(), Sample.builder().labels(of("idc", "t2")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3")).value(1).build() Sample.builder().labels(of("idc", "t3")).value(1).name("http_success_request").build()
).build()), ).build()),
"http_success_request.valueEqual(1)", "http_success_request.valueEqual(1)",
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t3")).value(1).build() Sample.builder().labels(of("idc", "t3")).value(1).name("http_success_request").build()
).build()), ).build()),
false, false,
}, },
{ {
"valueNotEqual", "valueNotEqual",
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1")).value(2).build(), Sample.builder().labels(of("idc", "t1")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t2")).value(2).build(), Sample.builder().labels(of("idc", "t2")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3")).value(1).build() Sample.builder().labels(of("idc", "t3")).value(1).name("http_success_request").build()
).build()), ).build()),
"http_success_request.valueNotEqual(1)", "http_success_request.valueNotEqual(1)",
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1")).value(2).build(), Sample.builder().labels(of("idc", "t1")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t2")).value(2).build() Sample.builder().labels(of("idc", "t2")).value(2).name("http_success_request").build()
).build()), ).build()),
false, false,
}, },
{ {
"valueGreater", "valueGreater",
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1")).value(2).build(), Sample.builder().labels(of("idc", "t1")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t2")).value(2).build(), Sample.builder().labels(of("idc", "t2")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3")).value(1).build() Sample.builder().labels(of("idc", "t3")).value(1).name("http_success_request").build()
).build()), ).build()),
"http_success_request.valueGreater(1)", "http_success_request.valueGreater(1)",
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1")).value(2).build(), Sample.builder().labels(of("idc", "t1")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t2")).value(2).build() Sample.builder().labels(of("idc", "t2")).value(2).name("http_success_request").build()
).build()), ).build()),
false, false,
}, },
{ {
"valueGreaterEqual", "valueGreaterEqual",
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1")).value(2).build(), Sample.builder().labels(of("idc", "t1")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t2")).value(2).build(), Sample.builder().labels(of("idc", "t2")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3")).value(1).build() Sample.builder().labels(of("idc", "t3")).value(1).name("http_success_request").build()
).build()), ).build()),
"http_success_request.valueGreaterEqual(1)", "http_success_request.valueGreaterEqual(1)",
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1")).value(2).build(), Sample.builder().labels(of("idc", "t1")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t2")).value(2).build(), Sample.builder().labels(of("idc", "t2")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3")).value(1).build() Sample.builder().labels(of("idc", "t3")).value(1).name("http_success_request").build()
).build()), ).build()),
false, false,
}, },
{ {
"valueLess", "valueLess",
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1")).value(2).build(), Sample.builder().labels(of("idc", "t1")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t2")).value(2).build(), Sample.builder().labels(of("idc", "t2")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3")).value(1).build() Sample.builder().labels(of("idc", "t3")).value(1).name("http_success_request").build()
).build()), ).build()),
"http_success_request.valueLess(2)", "http_success_request.valueLess(2)",
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t3")).value(1).build() Sample.builder().labels(of("idc", "t3")).value(1).name("http_success_request").build()
).build()), ).build()),
false, false,
}, },
{ {
"valueLessEqual", "valueLessEqual",
of("http_success_request", SampleFamilyBuilder.newBuilder( of("http_success_request", SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1")).value(2).build(), Sample.builder().labels(of("idc", "t1")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t2")).value(2).build(), Sample.builder().labels(of("idc", "t2")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3")).value(1).build() Sample.builder().labels(of("idc", "t3")).value(1).name("http_success_request").build()
).build()), ).build()),
"http_success_request.valueLessEqual(2)", "http_success_request.valueLessEqual(2)",
Result.success(SampleFamilyBuilder.newBuilder( Result.success(SampleFamilyBuilder.newBuilder(
Sample.builder().labels(of("idc", "t1")).value(2).build(), Sample.builder().labels(of("idc", "t1")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t2")).value(2).build(), Sample.builder().labels(of("idc", "t2")).value(2).name("http_success_request").build(),
Sample.builder().labels(of("idc", "t3")).value(1).build() Sample.builder().labels(of("idc", "t3")).value(1).name("http_success_request").build()
).build()), ).build()),
false, false,
}, },
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册