You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wa...@apache.org on 2022/04/26 02:56:29 UTC

[skywalking] branch master updated: Chore: polish and add missing MAL test case (#8947)

This is an automated email from the ASF dual-hosted git repository.

wankai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new 4e29ba5e54 Chore: polish and add missing MAL test case (#8947)
4e29ba5e54 is described below

commit 4e29ba5e544f4a0b37d92f0ac628820d62fb4e6b
Author: Wan Kai <wa...@foxmail.com>
AuthorDate: Tue Apr 26 10:56:15 2022 +0800

    Chore: polish and add missing MAL test case (#8947)
---
 .../oap/meter/analyzer/dsl/ArithmeticTest.java     | 62 ++++++++--------
 .../oap/meter/analyzer/dsl/FunctionTest.java       | 72 +++++++++---------
 .../oap/meter/analyzer/dsl/IncreaseTest.java       | 30 ++++----
 .../oap/meter/analyzer/dsl/TagFilterTest.java      | 86 +++++++++++++++++++---
 4 files changed, 156 insertions(+), 94 deletions(-)

diff --git a/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/ArithmeticTest.java b/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/ArithmeticTest.java
index b75d9772ac..86e170e27a 100644
--- a/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/ArithmeticTest.java
+++ b/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/ArithmeticTest.java
@@ -56,144 +56,144 @@ public class ArithmeticTest {
         return Arrays.asList(new Object[][] {
             {
                 "plus-scalar-1",
-                of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(
+                of("http_success_request", SampleFamilyBuilder.newBuilder(
                     Sample.builder()
                           .labels(of("idc", "t1"))
                           .value(1600592418480.0)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build(),
                     Sample.builder()
                           .labels(of("idc", "t2"))
                           .value(1600592418481.0)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build()
                 ).build()),
-                "1000 + instance_cpu_percentage.tagEqual('idc','t1')",
+                "1000 + http_success_request.tagEqual('idc','t1')",
                 Result.success(SampleFamilyBuilder.newBuilder(
                     Sample.builder()
                           .labels(of("idc", "t1"))
                           .value(1600592419480.0)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build()
                 ).build()),
                 false,
                 },
             {
                 "plus-scalar",
-                of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(
+                of("http_success_request", SampleFamilyBuilder.newBuilder(
                     Sample.builder()
                           .labels(of("idc", "t1"))
                           .value(1600592418480.0)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build(),
                     Sample.builder()
                           .labels(of("idc", "t2"))
                           .value(1600592418481.0)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build()
                 ).build()),
-                "instance_cpu_percentage.tagEqual('idc','t1') + 1000",
+                "http_success_request.tagEqual('idc','t1') + 1000",
                 Result.success(SampleFamilyBuilder.newBuilder(
                     Sample.builder()
                           .labels(of("idc", "t1"))
                           .value(1600592419480.0)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build()
                 ).build()),
                 false,
                 },
             {
                 "minus-scalar",
-                of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(
+                of("http_success_request", SampleFamilyBuilder.newBuilder(
                     Sample.builder()
                           .labels(of("idc", "t1"))
                           .value(1600592418480.0)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build(),
                     Sample.builder()
                           .labels(of("idc", "t2"))
                           .value(1600592418481.0)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build()
                 ).build()),
-                "instance_cpu_percentage.tagEqual('idc','t1') - 1000",
+                "http_success_request.tagEqual('idc','t1') - 1000",
                 Result.success(SampleFamilyBuilder.newBuilder(
                     Sample.builder()
                           .labels(of("idc", "t1"))
                           .value(1600592417480.0)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build()
                 ).build()),
                 false,
                 },
             {
                 "multiply-scalar",
-                of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(
+                of("http_success_request", SampleFamilyBuilder.newBuilder(
                     Sample.builder()
                           .labels(of("idc", "t1"))
                           .value(1600592418480.0)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build(),
                     Sample.builder()
                           .labels(of("idc", "t2"))
                           .value(1600592418481.0)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build()
                 ).build()),
-                "instance_cpu_percentage.tagEqual('idc','t1') * 1000",
+                "http_success_request.tagEqual('idc','t1') * 1000",
                 Result.success(SampleFamilyBuilder.newBuilder(
                     Sample.builder()
                           .labels(of("idc", "t1"))
                           .value(1600592418480000.0)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build()
                 ).build()),
                 false,
                 },
             {
                 "divide-scalar",
-                of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(
+                of("http_success_request", SampleFamilyBuilder.newBuilder(
                     Sample.builder()
                           .labels(of("idc", "t1"))
                           .value(1600592418480.0)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build(),
                     Sample.builder()
                           .labels(of("idc", "t2"))
                           .value(1600592418481.0)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build()
                 ).build()),
-                "instance_cpu_percentage.tagEqual('idc','t1') / 10",
+                "http_success_request.tagEqual('idc','t1') / 10",
                 Result.success(SampleFamilyBuilder.newBuilder(
                     Sample.builder()
                           .labels(of("idc", "t1"))
                           .value(160059241848.0)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build()
                 ).build()),
                 false,
                 },
             {
                 "divide-zero",
-                of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(
+                of("http_success_request", SampleFamilyBuilder.newBuilder(
                     Sample.builder()
                           .labels(of("idc", "t1"))
                           .value(1600592418480.0)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build(),
                     Sample.builder()
                           .labels(of("idc", "t2"))
                           .value(1600592418481.0)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build()
                 ).build()),
-                "instance_cpu_percentage.tagEqual('idc','t1') / 0",
+                "http_success_request.tagEqual('idc','t1') / 0",
                 Result.success(SampleFamilyBuilder.newBuilder(
                     Sample.builder()
                           .labels(of("idc", "t1"))
                           .value(Double.POSITIVE_INFINITY)
-                          .name("instance_cpu_percentage")
+                          .name("http_success_request")
                           .build()
                 ).build()),
                 false,
@@ -484,4 +484,4 @@ public class ArithmeticTest {
         }
         assertThat(r, is(want));
     }
-}
\ No newline at end of file
+}
diff --git a/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/FunctionTest.java b/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/FunctionTest.java
index fa95d4f465..a1a28a7c55 100644
--- a/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/FunctionTest.java
+++ b/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/FunctionTest.java
@@ -56,70 +56,70 @@ public class FunctionTest {
         return Arrays.asList(new Object[][] {
             {
                 "tag-override",
-                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'] })",
-                Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("svc", "product", "instance", "10.0.0.1")).name("instance_cpu_percentage").build()).build()),
+                of("http_success_request", SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us")).name("http_success_request").build()).build()),
+                "http_success_request.tag({ ['svc':'product', 'instance':'10.0.0.1'] })",
+                Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("svc", "product", "instance", "10.0.0.1")).name("http_success_request").build()).build()),
                 false,
             },
             {
                 "tag-add",
-                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' })",
-                Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us", "az", "az1")).name("instance_cpu_percentage").build()).build()),
+                of("http_success_request", SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us")).name("http_success_request").build()).build()),
+                "http_success_request.tag({tags -> tags.az = 'az1' })",
+                Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us", "az", "az1")).name("http_success_request").build()).build()),
                 false,
             },
             {
                 "tag-remove",
-                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') })",
-                Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(ImmutableMap.of()).name("instance_cpu_percentage").build()).build()),
+                of("http_success_request", SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us")).name("http_success_request").build()).build()),
+                "http_success_request.tag({tags -> tags.remove('region') })",
+                Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(ImmutableMap.of()).name("http_success_request").build()).build()),
                 false,
             },
             {
                 "tag-update",
-                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'} })",
-                Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "zh")).name("instance_cpu_percentage").build()).build()),
+                of("http_success_request", SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us")).name("http_success_request").build()).build()),
+                "http_success_request.tag({tags -> if (tags['region'] == 'us') {tags.region = 'zh'} })",
+                Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "zh")).name("http_success_request").build()).build()),
                 false,
             },
             {
                 "tag-append",
-                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})",
-                Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "prefix::us")).name("instance_cpu_percentage").build()).build()),
+                of("http_success_request", SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "us")).name("http_success_request").build()).build()),
+                "http_success_request.tag({tags -> tags.region = 'prefix::' + tags.region})",
+                Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().labels(of("region", "prefix::us")).name("http_success_request").build()).build()),
                 false,
                 },
             {
                 "histogram",
-                of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(
-                    Sample.builder().labels(of("le", "0.025")).value(100).name("instance_cpu_percentage").build(),
-                    Sample.builder().labels(of("le", "1.25")).value(300).name("instance_cpu_percentage").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).name("instance_cpu_percentage").build()).build()
+                of("http_success_request", SampleFamilyBuilder.newBuilder(
+                    Sample.builder().labels(of("le", "0.025")).value(100).name("http_success_request").build(),
+                    Sample.builder().labels(of("le", "1.25")).value(300).name("http_success_request").build(),
+                    Sample.builder().labels(of("le", "0.75")).value(122).name("http_success_request").build(),
+                    Sample.builder().labels(of("le", String.valueOf(Integer.MAX_VALUE))).value(410).name("http_success_request").build()).build()
                 ),
-                "instance_cpu_percentage.histogram()",
+                "http_success_request.histogram()",
                 Result.success(SampleFamilyBuilder.newBuilder(
-                    Sample.builder().labels(of("le", "0")).value(100).name("instance_cpu_percentage").build(),
-                    Sample.builder().labels(of("le", "25")).value(22).name("instance_cpu_percentage").build(),
-                    Sample.builder().labels(of("le", "750")).value(178).name("instance_cpu_percentage").build(),
-                    Sample.builder().labels(of("le", "1250")).value(110).name("instance_cpu_percentage").build()).build()
+                    Sample.builder().labels(of("le", "0")).value(100).name("http_success_request").build(),
+                    Sample.builder().labels(of("le", "25")).value(22).name("http_success_request").build(),
+                    Sample.builder().labels(of("le", "750")).value(178).name("http_success_request").build(),
+                    Sample.builder().labels(of("le", "1250")).value(110).name("http_success_request").build()).build()
                 ),
                 false,
             },
             {
                 "histogram_percentile",
-                of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(
-                    Sample.builder().labels(of("le", "0.025")).value(100).name("instance_cpu_percentage").build(),
-                    Sample.builder().labels(of("le", "1.25")).value(300).name("instance_cpu_percentage").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).name("instance_cpu_percentage").build()).build()
+                of("http_success_request", SampleFamilyBuilder.newBuilder(
+                    Sample.builder().labels(of("le", "0.025")).value(100).name("http_success_request").build(),
+                    Sample.builder().labels(of("le", "1.25")).value(300).name("http_success_request").build(),
+                    Sample.builder().labels(of("le", "0.75")).value(122).name("http_success_request").build(),
+                    Sample.builder().labels(of("le", String.valueOf(Integer.MAX_VALUE))).value(410).name("http_success_request").build()).build()
                 ),
-                "instance_cpu_percentage.histogram().histogram_percentile([75,99])",
+                "http_success_request.histogram().histogram_percentile([75,99])",
                 Result.success(SampleFamilyBuilder.newBuilder(
-                    Sample.builder().labels(of("le", "0")).value(100).name("instance_cpu_percentage").build(),
-                    Sample.builder().labels(of("le", "25")).value(22).name("instance_cpu_percentage").build(),
-                    Sample.builder().labels(of("le", "750")).value(178).name("instance_cpu_percentage").build(),
-                    Sample.builder().labels(of("le", "1250")).value(110).name("instance_cpu_percentage").build()).build()
+                    Sample.builder().labels(of("le", "0")).value(100).name("http_success_request").build(),
+                    Sample.builder().labels(of("le", "25")).value(22).name("http_success_request").build(),
+                    Sample.builder().labels(of("le", "750")).value(178).name("http_success_request").build(),
+                    Sample.builder().labels(of("le", "1250")).value(110).name("http_success_request").build()).build()
                 ),
                 false,
             },
@@ -144,4 +144,4 @@ public class FunctionTest {
         }
         assertThat(r, is(want));
     }
-}
\ No newline at end of file
+}
diff --git a/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/IncreaseTest.java b/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/IncreaseTest.java
index 1187926a57..922bb30cec 100644
--- a/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/IncreaseTest.java
+++ b/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/IncreaseTest.java
@@ -62,27 +62,27 @@ public class IncreaseTest {
                 asList(
                     of("http_success_request", SampleFamilyBuilder.newBuilder(
                         Sample.builder().name("http_success_request").labels(of("svc", "product"))
-                            .timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(50).name("http_success_request").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"))
-                            .timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(150).name("http_success_request").build()
+                              .timestamp(parse("2020-09-11T11:11:01.00Z").toEpochMilli()).value(150).name("http_success_request").build()
                     ).build()),
                     of("http_success_request", SampleFamilyBuilder.newBuilder(
                         Sample.builder().name("http_success_request").labels(of("svc", "product"))
-                            .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(80).name("http_success_request").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"))
-                            .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(250).name("http_success_request").build()
+                              .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(500).name("http_success_request").build()
                     ).build()),
                     of("http_success_request", SampleFamilyBuilder.newBuilder(
                         Sample.builder().name("http_success_request").labels(of("svc", "product"))
-                            .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(90).name("http_success_request").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"))
-                            .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(280).name("http_success_request").build()
+                              .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(810).name("http_success_request").build()
                     ).build()),
                     of("http_success_request", SampleFamilyBuilder.newBuilder(
                         Sample.builder().name("http_success_request").labels(of("svc", "product"))
-                            .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(130).name("http_success_request").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"))
-                            .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(330).name("http_success_request").build()
+                              .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(1900).name("http_success_request").build()
                     ).build())
                 ),
                 "http_success_request.increase('PT5M')",
@@ -95,21 +95,21 @@ public class IncreaseTest {
                     ).build()),
                     Result.success(SampleFamilyBuilder.newBuilder(
                         Sample.builder().name("http_success_request").labels(of("svc", "product"))
-                            .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(30).name("http_success_request").build(),
+                            .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(280).name("http_success_request").build(),
                         Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
-                            .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(100).name("http_success_request").build()
+                            .timestamp(parse("2020-09-11T11:13:41.00Z").toEpochMilli()).value(350).name("http_success_request").build()
                     ).build()),
                     Result.success(SampleFamilyBuilder.newBuilder(
                         Sample.builder().name("http_success_request").labels(of("svc", "product"))
-                            .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(40).name("http_success_request").build(),
+                            .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(330).name("http_success_request").build(),
                         Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
-                            .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(130).name("http_success_request").build()
+                            .timestamp(parse("2020-09-11T11:16:31.00Z").toEpochMilli()).value(660).name("http_success_request").build()
                     ).build()),
                     Result.success(SampleFamilyBuilder.newBuilder(
                         Sample.builder().name("http_success_request").labels(of("svc", "product"))
-                            .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(50).name("http_success_request").build(),
+                            .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(1050).name("http_success_request").build(),
                         Sample.builder().name("http_success_request").labels(of("svc", "catalog"))
-                            .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(80).name("http_success_request").build()
+                            .timestamp(parse("2020-09-11T11:19:31.02Z").toEpochMilli()).value(1400).name("http_success_request").build()
                     ).build())
                 ),
                 false,
@@ -252,4 +252,4 @@ public class IncreaseTest {
             assertThat(r, is(want.get(i)));
         }
     }
-}
\ No newline at end of file
+}
diff --git a/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/TagFilterTest.java b/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/TagFilterTest.java
index 0c977e0cc3..a520cb7739 100644
--- a/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/TagFilterTest.java
+++ b/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/TagFilterTest.java
@@ -53,22 +53,84 @@ public class TagFilterTest {
 
     @Parameterized.Parameters(name = "{index}: {0}")
     public static Collection<Object[]> data() {
+        final SampleFamily sf =
+            SampleFamilyBuilder.newBuilder(
+                Sample.builder().labels(of("idc", "t2")).value(50).name("http_success_request").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)
+                      .name("http_success_request")
+                      .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"))
+                      .name("http_success_request")
+                      .value(3)
+                      .build()
+            ).build();
         return Arrays.asList(new Object[][] {
             {
-                "default",
-                of("instance_cpu_percentage", SampleFamily.EMPTY),
-                "instance_cpu_percentage",
-                Result.fail("Parsed result is an EMPTY sample family"),
+                "tagEqual",
+                of("http_success_request", sf),
+                "http_success_request.tagEqual('idc', 't3')",
+                Result.success(SampleFamilyBuilder.newBuilder(
+                    Sample.builder()
+                          .labels(of("idc", "t3", "region", "cn", "svc", "catalog"))
+                          .value(50)
+                          .name("http_success_request")
+                          .build(),
+                    Sample.builder()
+                          .labels(of("idc", "t3", "region", "cn", "instance", "10.0.0.1"))
+                          .name("http_success_request")
+                          .value(3)
+                          .build()
+                ).build()),
                 false,
-            },
+                },
             {
-                "single-value",
-                of("instance_cpu_percentage", SampleFamilyBuilder.newBuilder(Sample.builder().value(1600592418480.0).name("instance_cpu_percentage").build()).build()),
-                "instance_cpu_percentage",
-                Result.success(SampleFamilyBuilder.newBuilder(Sample.builder().value(1600592418480.0).name("instance_cpu_percentage").build()).build()),
+                "tagNotEqual",
+                of("http_success_request", sf),
+                "http_success_request.tagNotEqual('idc', 't1')",
+                Result.success(SampleFamilyBuilder.newBuilder(
+                    Sample.builder().labels(of("idc", "t2")).value(50).name("http_success_request").build(),
+                    Sample.builder()
+                          .labels(of("idc", "t3", "region", "cn", "svc", "catalog"))
+                          .value(50)
+                          .name("http_success_request")
+                          .build(),
+                    Sample.builder()
+                          .labels(of("idc", "t3", "region", "cn", "instance", "10.0.0.1"))
+                          .name("http_success_request")
+                          .value(3)
+                          .build()
+                ).build()),
                 false,
-            },
-        });
+                },
+            {
+                "tagMatch",
+                of("http_success_request", sf),
+                "http_success_request.tagMatch('idc', 't1|t2|t3')",
+                Result.success(sf),
+                false,
+                },
+            {
+                "tagNotMatch",
+                of("http_success_request", sf),
+                "http_success_request.tagNotMatch('idc', 't1|t3')",
+                Result.success(SampleFamilyBuilder.newBuilder(
+                    Sample.builder().labels(of("idc", "t2")).value(50).name("http_success_request").build()).build()),
+                false,
+                },
+            });
     }
 
     @Test
@@ -89,4 +151,4 @@ public class TagFilterTest {
         }
         assertThat(r, is(want));
     }
-}
\ No newline at end of file
+}