Skip to content

Commit 28299f1

Browse files
authored
Null labels means label is not present (#2766)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
1 parent 3b7080d commit 28299f1

2 files changed

Lines changed: 18 additions & 1 deletion

File tree

api/metrics/src/main/java/io/opentelemetry/api/metrics/common/ArrayBackedLabels.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ static Labels empty() {
2222
}
2323

2424
static Labels sortAndFilterToLabels(Object... data) {
25-
return new ArrayBackedLabels(sortAndFilter(data, /* filterNullValues= */ false));
25+
return new ArrayBackedLabels(sortAndFilter(data, /* filterNullValues= */ true));
2626
}
2727

2828
@Override

api/metrics/src/test/java/io/opentelemetry/api/metrics/common/LabelsTest.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,23 @@ void orderIndependentEquality() {
7474
assertThat(one).isEqualTo(two);
7575
}
7676

77+
@Test
78+
void nullValueEquivalentWithMissing() {
79+
Labels one =
80+
Labels.of(
81+
"key3", "value3",
82+
"key4", null,
83+
"key1", "value1",
84+
"key2", "value2");
85+
Labels two =
86+
Labels.of(
87+
"key2", "value2",
88+
"key3", "value3",
89+
"key1", "value1");
90+
91+
assertThat(one).isEqualTo(two);
92+
}
93+
7794
@Test
7895
void deduplication() {
7996
Labels one =

0 commit comments

Comments
 (0)