Skip to content

Commit 6de2a52

Browse files
Add tags test to all relevant tests
1 parent e2de4d2 commit 6de2a52

File tree

4 files changed

+49
-14
lines changed

4 files changed

+49
-14
lines changed

grpc-client-spring-boot-starter/src/main/java/net/devh/boot/grpc/client/metrics/MetricsClientStreamTracers.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,9 @@ static final class CallAttemptsTracerFactory extends ClientStreamTracer.Factory
172172

173173
// Record here in case newClientStreamTracer() would never be called.
174174
this.metricsClientMeters.getAttemptCounter()
175-
.withTags(Tags.of("grpc.method", fullMethodName))
175+
.withTags(Tags.of("grpc.method", fullMethodName,
176+
"instrumentation_source", "grpc-spring",
177+
"instrumentation_version", Versions.PROJECT_VERSION))
176178
.increment();
177179
}
178180

@@ -192,7 +194,9 @@ public ClientStreamTracer newClientStreamTracer(StreamInfo info, Metadata metada
192194
// attempt, as first attempt cannot be a transparent retry.
193195
if (attemptsPerCall.get() > 0) {
194196
this.metricsClientMeters.getAttemptCounter()
195-
.withTags((Tags.of("grpc.method", fullMethodName)))
197+
.withTags((Tags.of("grpc.method", fullMethodName,
198+
"instrumentation_source", "grpc-spring",
199+
"instrumentation_version", Versions.PROJECT_VERSION)))
196200
.increment();
197201
}
198202
if (!info.isTransparentRetry()) {
@@ -252,7 +256,10 @@ void recordFinishedCall() {
252256
}
253257
callLatencyNanos = clientCallStopWatch.elapsed(TimeUnit.NANOSECONDS);
254258
Tags clientCallMetricTags =
255-
Tags.of("grpc.method", this.fullMethodName, "grpc.status", status.getCode().toString());
259+
Tags.of("grpc.method", this.fullMethodName,
260+
"grpc.status", status.getCode().toString(),
261+
"instrumentation_source", "grpc-spring",
262+
"instrumentation_version", Versions.PROJECT_VERSION);
256263
this.metricsClientMeters.getClientCallDuration()
257264
.withTags(clientCallMetricTags)
258265
.record(callLatencyNanos, TimeUnit.NANOSECONDS);

grpc-client-spring-boot-starter/src/test/java/net/devh/boot/grpc/client/metrics/MetricsClientStreamTracersTest.java

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,8 @@ void clientBasicMetrics() {
130130

131131
assertThat(meterRegistry.get(CLIENT_ATTEMPT_STARTED)
132132
.tag(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME)
133+
.tag(INSTRUMENTATION_SOURCE_TAG_KEY, INSTRUMENTATION_SOURCE_TAG_VALUE)
134+
.tag(INSTRUMENTATION_VERSION_TAG_KEY, INSTRUMENTATION_VERSION_TAG_VALUE)
133135
.counter()
134136
.count()).isEqualTo(1);
135137

@@ -151,16 +153,19 @@ void clientBasicMetrics() {
151153

152154
assertThat(meterRegistry.get(CLIENT_ATTEMPT_STARTED)
153155
.tag(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME)
156+
.tag(INSTRUMENTATION_SOURCE_TAG_KEY, INSTRUMENTATION_SOURCE_TAG_VALUE)
157+
.tag(INSTRUMENTATION_VERSION_TAG_KEY, INSTRUMENTATION_VERSION_TAG_VALUE)
154158
.counter()
155159
.count()).isEqualTo(1);
156160

157161
Tags expectedTags =
158-
Tags.of(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME, GRPC_STATUS_TAG_KEY, Status.Code.OK.toString());
162+
Tags.of(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME,
163+
GRPC_STATUS_TAG_KEY, Status.Code.OK.toString(),
164+
INSTRUMENTATION_SOURCE_TAG_KEY, INSTRUMENTATION_SOURCE_TAG_VALUE,
165+
INSTRUMENTATION_VERSION_TAG_KEY, INSTRUMENTATION_VERSION_TAG_VALUE);
159166

160167
HistogramSnapshot attemptDurationSnapshot = meterRegistry.get(CLIENT_ATTEMPT_DURATION)
161168
.tags(expectedTags)
162-
.tag(INSTRUMENTATION_SOURCE_TAG_KEY, INSTRUMENTATION_SOURCE_TAG_VALUE)
163-
.tag(INSTRUMENTATION_VERSION_TAG_KEY, INSTRUMENTATION_VERSION_TAG_VALUE)
164169
.timer()
165170
.takeSnapshot();
166171
HistogramSnapshot attemptDurationHistogram = HistogramSnapshot.empty(1L, 154L, 1.54E8);
@@ -178,8 +183,6 @@ void clientBasicMetrics() {
178183
HistogramSnapshot sentAttemptMessageSizeSnapShot =
179184
meterRegistry.get(CLIENT_ATTEMPT_SENT_COMPRESSED_MESSAGE_SIZE)
180185
.tags(expectedTags)
181-
.tag(INSTRUMENTATION_SOURCE_TAG_KEY, INSTRUMENTATION_SOURCE_TAG_VALUE)
182-
.tag(INSTRUMENTATION_VERSION_TAG_KEY, INSTRUMENTATION_VERSION_TAG_VALUE)
183186
.summary()
184187
.takeSnapshot();
185188
HistogramSnapshot expectedAttemptSentMessageSizeHistogram = HistogramSnapshot.empty(1L, 1127L, 1127L);
@@ -209,6 +212,8 @@ void recordAttemptMetrics() {
209212

210213
assertThat(meterRegistry.get(CLIENT_ATTEMPT_STARTED)
211214
.tag(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME)
215+
.tag(INSTRUMENTATION_SOURCE_TAG_KEY, INSTRUMENTATION_SOURCE_TAG_VALUE)
216+
.tag(INSTRUMENTATION_VERSION_TAG_KEY, INSTRUMENTATION_VERSION_TAG_VALUE)
212217
.counter()
213218
.count()).isEqualTo(1);
214219

@@ -222,10 +227,15 @@ void recordAttemptMetrics() {
222227
tracer.streamClosed(Status.UNAVAILABLE);
223228

224229
Tags expectedUnailableStatusTags =
225-
Tags.of(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME, GRPC_STATUS_TAG_KEY, Status.Code.UNAVAILABLE.toString());
230+
Tags.of(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME,
231+
GRPC_STATUS_TAG_KEY, Status.Code.UNAVAILABLE.toString(),
232+
INSTRUMENTATION_SOURCE_TAG_KEY, INSTRUMENTATION_SOURCE_TAG_VALUE,
233+
INSTRUMENTATION_VERSION_TAG_KEY, INSTRUMENTATION_VERSION_TAG_VALUE);
226234

227235
assertThat(meterRegistry.get(CLIENT_ATTEMPT_STARTED)
228236
.tag(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME)
237+
.tag(INSTRUMENTATION_SOURCE_TAG_KEY, INSTRUMENTATION_SOURCE_TAG_VALUE)
238+
.tag(INSTRUMENTATION_VERSION_TAG_KEY, INSTRUMENTATION_VERSION_TAG_VALUE)
229239
.counter()
230240
.count()).isEqualTo(1);
231241
assertThat(meterRegistry.get(CLIENT_ATTEMPT_DURATION)
@@ -257,10 +267,15 @@ void recordAttemptMetrics() {
257267
tracer.streamClosed(Status.NOT_FOUND);
258268

259269
Tags expectedNotFoundStatusTags =
260-
Tags.of(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME, GRPC_STATUS_TAG_KEY, Status.Code.NOT_FOUND.toString());
270+
Tags.of(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME,
271+
GRPC_STATUS_TAG_KEY, Status.Code.NOT_FOUND.toString(),
272+
INSTRUMENTATION_SOURCE_TAG_KEY, INSTRUMENTATION_SOURCE_TAG_VALUE,
273+
INSTRUMENTATION_VERSION_TAG_KEY, INSTRUMENTATION_VERSION_TAG_VALUE);
261274

262275
assertThat(meterRegistry.get(CLIENT_ATTEMPT_STARTED)
263276
.tag(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME)
277+
.tag(INSTRUMENTATION_SOURCE_TAG_KEY, INSTRUMENTATION_SOURCE_TAG_VALUE)
278+
.tag(INSTRUMENTATION_VERSION_TAG_KEY, INSTRUMENTATION_VERSION_TAG_VALUE)
264279
.counter()
265280
.count()).isEqualTo(2);
266281

@@ -299,6 +314,8 @@ void recordAttemptMetrics() {
299314

300315
assertThat(meterRegistry.get(CLIENT_ATTEMPT_STARTED)
301316
.tag(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME)
317+
.tag(INSTRUMENTATION_SOURCE_TAG_KEY, INSTRUMENTATION_SOURCE_TAG_VALUE)
318+
.tag(INSTRUMENTATION_VERSION_TAG_KEY, INSTRUMENTATION_VERSION_TAG_VALUE)
302319
.counter()
303320
.count()).isEqualTo(3);
304321

@@ -351,10 +368,15 @@ void recordAttemptMetrics() {
351368
callAttemptsTracerFactory.callEnded(Status.OK);
352369

353370
Tags expectedOKStatusTags =
354-
Tags.of(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME, GRPC_STATUS_TAG_KEY, Status.Code.OK.toString());
371+
Tags.of(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME,
372+
GRPC_STATUS_TAG_KEY, Status.Code.OK.toString(),
373+
INSTRUMENTATION_SOURCE_TAG_KEY, INSTRUMENTATION_SOURCE_TAG_VALUE,
374+
INSTRUMENTATION_VERSION_TAG_KEY, INSTRUMENTATION_VERSION_TAG_VALUE);
355375

356376
assertThat(meterRegistry.get(CLIENT_ATTEMPT_STARTED)
357377
.tag(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME)
378+
.tag(INSTRUMENTATION_SOURCE_TAG_KEY, INSTRUMENTATION_SOURCE_TAG_VALUE)
379+
.tag(INSTRUMENTATION_VERSION_TAG_KEY, INSTRUMENTATION_VERSION_TAG_VALUE)
358380
.counter()
359381
.count()).isEqualTo(4);
360382
assertThat(meterRegistry.get(CLIENT_ATTEMPT_DURATION)
@@ -397,8 +419,10 @@ void clientStreamNeverCreatedStillRecordMetrics() {
397419
callAttemptsTracerFactory.callEnded(status);
398420

399421
Tags expectedDeadlineExceededStatusTags =
400-
Tags.of(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME, GRPC_STATUS_TAG_KEY,
401-
Status.Code.DEADLINE_EXCEEDED.toString());
422+
Tags.of(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME,
423+
GRPC_STATUS_TAG_KEY, Status.Code.DEADLINE_EXCEEDED.toString(),
424+
INSTRUMENTATION_SOURCE_TAG_KEY, INSTRUMENTATION_SOURCE_TAG_VALUE,
425+
INSTRUMENTATION_VERSION_TAG_KEY, INSTRUMENTATION_VERSION_TAG_VALUE);
402426

403427
HistogramSnapshot attemptDurationSnapshot = meterRegistry.get(CLIENT_ATTEMPT_DURATION)
404428
.tags(expectedDeadlineExceededStatusTags)

grpc-server-spring-boot-starter/src/main/java/net/devh/boot/grpc/server/metrics/MetricsServerStreamTracers.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,9 @@ private static final class ServerTracer extends ServerStreamTracer {
101101
@Override
102102
public void serverCallStarted(ServerCallInfo<?, ?> callInfo) {
103103
this.metricsServerMeters.getServerCallCounter()
104-
.withTags(Tags.of("grpc.method", this.fullMethodName))
104+
.withTags(Tags.of("grpc.method", this.fullMethodName,
105+
"instrumentation_source", "grpc-spring",
106+
"instrumentation_version", Versions.PROJECT_VERSION))
105107
.increment();
106108
}
107109

grpc-server-spring-boot-starter/src/test/java/net/devh/boot/grpc/server/metrics/MetricsServerStreamTracersTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,8 @@ void serverBasicMetrics() {
155155

156156
assertThat(meterRegistry.get(SERVER_CALL_STARTED)
157157
.tag(GRPC_METHOD_TAG_KEY, FULL_METHOD_NAME)
158+
.tag(INSTRUMENTATION_SOURCE_TAG_KEY, INSTRUMENTATION_SOURCE_TAG_VALUE)
159+
.tag(INSTRUMENTATION_VERSION_TAG_KEY, INSTRUMENTATION_VERSION_TAG_VALUE)
158160
.counter()
159161
.count()).isEqualTo(1);
160162

0 commit comments

Comments
 (0)