1
1
package datadog.trace.common.metrics
2
2
3
+ import datadog.trace.api.Config
4
+ import datadog.trace.api.ProcessTags
3
5
import datadog.trace.api.WellKnownTags
4
6
import datadog.trace.api.Pair
5
7
import datadog.trace.test.util.DDSpecification
@@ -9,13 +11,18 @@ import org.msgpack.core.MessageUnpacker
9
11
import java.nio.ByteBuffer
10
12
import java.util.concurrent.atomic.AtomicLongArray
11
13
14
+ import static datadog.trace.api.config.GeneralConfig.EXPERIMENTAL_COLLECT_PROCESS_TAGS_ENABLED
12
15
import static java.util.concurrent.TimeUnit.MILLISECONDS
13
16
import static java.util.concurrent.TimeUnit.SECONDS
14
17
15
18
class SerializingMetricWriterTest extends DDSpecification {
16
19
17
- def " should produce correct message #iterationIndex" () {
20
+ def " should produce correct message #iterationIndex with process tags enabled #withProcessTags " () {
18
21
setup :
22
+ if (withProcessTags) {
23
+ injectSysConfig(EXPERIMENTAL_COLLECT_PROCESS_TAGS_ENABLED , " true" )
24
+ }
25
+ ProcessTags . reset()
19
26
long startTime = MILLISECONDS . toNanos(System . currentTimeMillis())
20
27
long duration = SECONDS . toNanos(10 )
21
28
WellKnownTags wellKnownTags = new WellKnownTags (" runtimeid" , " hostname" , " env" , " service" , " version" ," language" )
@@ -43,6 +50,7 @@ class SerializingMetricWriterTest extends DDSpecification {
43
50
Pair . of(new MetricKey (" resource" + i, " service" + i, " operation" + i, " type" , 0 , false ), new AggregateMetric (). recordDurations(10 , new AtomicLongArray (1L )))
44
51
})
45
52
]
53
+ withProcessTags << [true , false ]
46
54
}
47
55
48
56
@@ -70,7 +78,7 @@ class SerializingMetricWriterTest extends DDSpecification {
70
78
void accept (int messageCount , ByteBuffer buffer ) {
71
79
MessageUnpacker unpacker = MessagePack . newDefaultUnpacker(buffer)
72
80
int mapSize = unpacker. unpackMapHeader()
73
- assert mapSize == 6
81
+ assert mapSize == ( 6 + ( Config . get() . isExperimentalCollectProcessTagsEnabled() ? 1 : 0 ))
74
82
assert unpacker. unpackString() == " RuntimeId"
75
83
assert unpacker. unpackString() == wellKnownTags. getRuntimeId() as String
76
84
assert unpacker. unpackString() == " Seq"
@@ -81,6 +89,10 @@ class SerializingMetricWriterTest extends DDSpecification {
81
89
assert unpacker. unpackString() == wellKnownTags. getEnv() as String
82
90
assert unpacker. unpackString() == " Version"
83
91
assert unpacker. unpackString() == wellKnownTags. getVersion() as String
92
+ if (Config . get(). isExperimentalCollectProcessTagsEnabled()) {
93
+ assert unpacker. unpackString() == " ProcessTags"
94
+ assert unpacker. unpackString() == ProcessTags . tagsForSerialization as String
95
+ }
84
96
assert unpacker. unpackString() == " Stats"
85
97
int outerLength = unpacker. unpackArrayHeader()
86
98
assert outerLength == 1
0 commit comments