|
29 | 29 | import com.uber.m3.util.Duration;
|
30 | 30 | import io.micrometer.core.instrument.Metrics;
|
31 | 31 | import io.micrometer.core.instrument.Tag;
|
| 32 | +import java.util.HashMap; |
32 | 33 | import java.util.Map;
|
33 | 34 | import java.util.concurrent.ConcurrentHashMap;
|
34 | 35 | import java.util.concurrent.TimeUnit;
|
@@ -98,10 +99,18 @@ public void reportHistogramDurationSamples(
|
98 | 99 | }
|
99 | 100 |
|
100 | 101 | private Iterable<Tag> getTags(Map<String, String> tags) {
|
101 |
| - return ImmutableList.of( |
102 |
| - Tag.of(MetricsTag.ACTIVITY_TYPE, Strings.nullToEmpty(tags.get(MetricsTag.ACTIVITY_TYPE))), |
103 |
| - Tag.of(MetricsTag.DOMAIN, Strings.nullToEmpty(tags.get(MetricsTag.DOMAIN))), |
104 |
| - Tag.of(MetricsTag.TASK_LIST, Strings.nullToEmpty(tags.get(MetricsTag.TASK_LIST))), |
105 |
| - Tag.of(MetricsTag.WORKFLOW_TYPE, Strings.nullToEmpty(tags.get(MetricsTag.WORKFLOW_TYPE)))); |
| 102 | + // TODO: not sure why we have to fill empty values, maybe we can remove them |
| 103 | + final HashMap<String, String> tmpMap = new HashMap<>(tags); |
| 104 | + tmpMap.put(MetricsTag.ACTIVITY_TYPE, Strings.nullToEmpty(tags.get(MetricsTag.ACTIVITY_TYPE))); |
| 105 | + tmpMap.put(MetricsTag.DOMAIN, Strings.nullToEmpty(tags.get(MetricsTag.DOMAIN))); |
| 106 | + tmpMap.put(MetricsTag.TASK_LIST, Strings.nullToEmpty(tags.get(MetricsTag.TASK_LIST))); |
| 107 | + tmpMap.put(MetricsTag.WORKFLOW_TYPE, Strings.nullToEmpty(tags.get(MetricsTag.WORKFLOW_TYPE))); |
| 108 | + |
| 109 | + final ImmutableList.Builder<Tag> builder = ImmutableList.<Tag>builder(); |
| 110 | + for (Map.Entry<String, String> entry : tmpMap.entrySet()) { |
| 111 | + final Tag tag = Tag.of(entry.getKey(), entry.getValue()); |
| 112 | + builder.add(tag); |
| 113 | + } |
| 114 | + return builder.build(); |
106 | 115 | }
|
107 | 116 | }
|
0 commit comments