Skip to content

Commit 9a0cdc8

Browse files
authored
feat: append version to the client name in client-side metrics. (#2062)
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: - [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/java-bigtable/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [ ] Ensure the tests and linter pass - [ ] Code coverage does not decrease (if any source code was changed) - [ ] Appropriate docs were updated (if necessary) - [ ] Rollback plan is reviewed and LGTMed Fixes #2061 ☕️ If you write sample code, please follow the [samples format]( https://github.com/GoogleCloudPlatform/java-docs-samples/blob/main/SAMPLE_FORMAT.md).
1 parent d51d8d0 commit 9a0cdc8

File tree

3 files changed

+23
-19
lines changed

3 files changed

+23
-19
lines changed

google-cloud-bigtable-stats/src/main/java/com/google/cloud/bigtable/stats/StatsRecorderWrapper.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,6 @@ private TagContextBuilder newTagContextBuilder(String tableId, String zone, Stri
123123
TagContextBuilder tagContextBuilder =
124124
tagger
125125
.toBuilder(parentContext)
126-
.putLocal(BuiltinMeasureConstants.CLIENT_NAME, TagValue.create("bigtable-java"))
127126
.putLocal(BuiltinMeasureConstants.METHOD, TagValue.create(spanName.toString()))
128127
.putLocal(BuiltinMeasureConstants.TABLE, TagValue.create(tableId))
129128
.putLocal(BuiltinMeasureConstants.ZONE, TagValue.create(zone))

google-cloud-bigtable-stats/src/test/java/com/google/cloud/bigtable/stats/StatsRecorderWrapperTest.java

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ public class StatsRecorderWrapperTest {
5151
private final String TABLE_ID = "fake-table-id";
5252
private final String ZONE = "fake-zone";
5353
private final String CLUSTER = "fake-cluster";
54+
private final String CLIENT_AND_VERSION = "bigtable-java/fake-version";
5455

5556
private final StatsComponent statsComponent = new StatsComponentImpl();
5657

@@ -72,7 +73,9 @@ public void testStreamingOperation() throws InterruptedException {
7273
BuiltinMeasureConstants.INSTANCE_ID.getName(),
7374
INSTANCE_ID,
7475
BuiltinMeasureConstants.APP_PROFILE.getName(),
75-
APP_PROFILE_ID),
76+
APP_PROFILE_ID,
77+
BuiltinMeasureConstants.CLIENT_NAME.getName(),
78+
CLIENT_AND_VERSION),
7679
statsComponent.getStatsRecorder());
7780

7881
long operationLatency = 1234;
@@ -107,7 +110,7 @@ public void testStreamingOperation() throws InterruptedException {
107110
BuiltinMeasureConstants.TABLE, TABLE_ID,
108111
BuiltinMeasureConstants.ZONE, ZONE,
109112
BuiltinMeasureConstants.CLUSTER, CLUSTER,
110-
BuiltinMeasureConstants.CLIENT_NAME, "bigtable-java",
113+
BuiltinMeasureConstants.CLIENT_NAME, CLIENT_AND_VERSION,
111114
BuiltinMeasureConstants.STREAMING, "true"),
112115
PROJECT_ID,
113116
INSTANCE_ID,
@@ -129,7 +132,7 @@ public void testStreamingOperation() throws InterruptedException {
129132
BuiltinMeasureConstants.CLUSTER,
130133
CLUSTER,
131134
BuiltinMeasureConstants.CLIENT_NAME,
132-
"bigtable-java",
135+
CLIENT_AND_VERSION,
133136
BuiltinMeasureConstants.STREAMING,
134137
"true"),
135138
PROJECT_ID,
@@ -152,7 +155,7 @@ public void testStreamingOperation() throws InterruptedException {
152155
BuiltinMeasureConstants.CLUSTER,
153156
CLUSTER,
154157
BuiltinMeasureConstants.CLIENT_NAME,
155-
"bigtable-java"),
158+
CLIENT_AND_VERSION),
156159
PROJECT_ID,
157160
INSTANCE_ID,
158161
APP_PROFILE_ID,
@@ -167,7 +170,7 @@ public void testStreamingOperation() throws InterruptedException {
167170
BuiltinMeasureConstants.STATUS,
168171
"OK",
169172
BuiltinMeasureConstants.CLIENT_NAME,
170-
"bigtable-java",
173+
CLIENT_AND_VERSION,
171174
BuiltinMeasureConstants.STREAMING,
172175
"true",
173176
BuiltinMeasureConstants.TABLE,
@@ -196,7 +199,7 @@ public void testStreamingOperation() throws InterruptedException {
196199
BuiltinMeasureConstants.CLUSTER,
197200
CLUSTER,
198201
BuiltinMeasureConstants.CLIENT_NAME,
199-
"bigtable-java",
202+
CLIENT_AND_VERSION,
200203
BuiltinMeasureConstants.STREAMING,
201204
"true"),
202205
PROJECT_ID,
@@ -213,7 +216,7 @@ public void testStreamingOperation() throws InterruptedException {
213216
BuiltinMeasureConstants.STATUS,
214217
"OK",
215218
BuiltinMeasureConstants.CLIENT_NAME,
216-
"bigtable-java",
219+
CLIENT_AND_VERSION,
217220
BuiltinMeasureConstants.TABLE,
218221
TABLE_ID,
219222
BuiltinMeasureConstants.ZONE,
@@ -233,7 +236,7 @@ public void testStreamingOperation() throws InterruptedException {
233236
BuiltinMeasureConstants.TABLE, TABLE_ID,
234237
BuiltinMeasureConstants.ZONE, ZONE,
235238
BuiltinMeasureConstants.CLUSTER, CLUSTER,
236-
BuiltinMeasureConstants.CLIENT_NAME, "bigtable-java"),
239+
BuiltinMeasureConstants.CLIENT_NAME, CLIENT_AND_VERSION),
237240
PROJECT_ID,
238241
INSTANCE_ID,
239242
APP_PROFILE_ID,
@@ -254,7 +257,7 @@ public void testStreamingOperation() throws InterruptedException {
254257
BuiltinMeasureConstants.STATUS,
255258
"OK",
256259
BuiltinMeasureConstants.CLIENT_NAME,
257-
"bigtable-java"),
260+
CLIENT_AND_VERSION),
258261
PROJECT_ID,
259262
INSTANCE_ID,
260263
APP_PROFILE_ID,
@@ -271,7 +274,8 @@ public void testUnaryOperations() throws InterruptedException {
271274
ImmutableMap.of(
272275
BuiltinMeasureConstants.PROJECT_ID.getName(), PROJECT_ID,
273276
BuiltinMeasureConstants.INSTANCE_ID.getName(), INSTANCE_ID,
274-
BuiltinMeasureConstants.APP_PROFILE.getName(), APP_PROFILE_ID),
277+
BuiltinMeasureConstants.APP_PROFILE.getName(), APP_PROFILE_ID,
278+
BuiltinMeasureConstants.CLIENT_NAME.getName(), CLIENT_AND_VERSION),
275279
statsComponent.getStatsRecorder());
276280

277281
long operationLatency = 1234;
@@ -312,7 +316,7 @@ public void testUnaryOperations() throws InterruptedException {
312316
BuiltinMeasureConstants.CLUSTER,
313317
CLUSTER,
314318
BuiltinMeasureConstants.CLIENT_NAME,
315-
"bigtable-java",
319+
CLIENT_AND_VERSION,
316320
BuiltinMeasureConstants.STREAMING,
317321
"false"),
318322
PROJECT_ID,
@@ -335,7 +339,7 @@ public void testUnaryOperations() throws InterruptedException {
335339
BuiltinMeasureConstants.CLUSTER,
336340
CLUSTER,
337341
BuiltinMeasureConstants.CLIENT_NAME,
338-
"bigtable-java",
342+
CLIENT_AND_VERSION,
339343
BuiltinMeasureConstants.STREAMING,
340344
"false"),
341345
PROJECT_ID,
@@ -358,7 +362,7 @@ public void testUnaryOperations() throws InterruptedException {
358362
BuiltinMeasureConstants.CLUSTER,
359363
CLUSTER,
360364
BuiltinMeasureConstants.CLIENT_NAME,
361-
"bigtable-java"),
365+
CLIENT_AND_VERSION),
362366
PROJECT_ID,
363367
INSTANCE_ID,
364368
APP_PROFILE_ID,
@@ -373,7 +377,7 @@ public void testUnaryOperations() throws InterruptedException {
373377
BuiltinMeasureConstants.STATUS,
374378
"UNAVAILABLE",
375379
BuiltinMeasureConstants.CLIENT_NAME,
376-
"bigtable-java",
380+
CLIENT_AND_VERSION,
377381
BuiltinMeasureConstants.STREAMING,
378382
"false",
379383
BuiltinMeasureConstants.TABLE,
@@ -402,7 +406,7 @@ public void testUnaryOperations() throws InterruptedException {
402406
BuiltinMeasureConstants.CLUSTER,
403407
CLUSTER,
404408
BuiltinMeasureConstants.CLIENT_NAME,
405-
"bigtable-java",
409+
CLIENT_AND_VERSION,
406410
BuiltinMeasureConstants.STREAMING,
407411
"false"),
408412
PROJECT_ID,
@@ -419,7 +423,7 @@ public void testUnaryOperations() throws InterruptedException {
419423
BuiltinMeasureConstants.STATUS,
420424
"UNAVAILABLE",
421425
BuiltinMeasureConstants.CLIENT_NAME,
422-
"bigtable-java",
426+
CLIENT_AND_VERSION,
423427
BuiltinMeasureConstants.TABLE,
424428
TABLE_ID,
425429
BuiltinMeasureConstants.ZONE,
@@ -439,7 +443,7 @@ public void testUnaryOperations() throws InterruptedException {
439443
BuiltinMeasureConstants.TABLE, TABLE_ID,
440444
BuiltinMeasureConstants.ZONE, ZONE,
441445
BuiltinMeasureConstants.CLUSTER, CLUSTER,
442-
BuiltinMeasureConstants.CLIENT_NAME, "bigtable-java"),
446+
BuiltinMeasureConstants.CLIENT_NAME, CLIENT_AND_VERSION),
443447
PROJECT_ID,
444448
INSTANCE_ID,
445449
APP_PROFILE_ID,
@@ -460,7 +464,7 @@ public void testUnaryOperations() throws InterruptedException {
460464
BuiltinMeasureConstants.STATUS,
461465
"UNAVAILABLE",
462466
BuiltinMeasureConstants.CLIENT_NAME,
463-
"bigtable-java"),
467+
CLIENT_AND_VERSION),
464468
PROJECT_ID,
465469
INSTANCE_ID,
466470
APP_PROFILE_ID,

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStub.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,7 @@ public static ApiTracerFactory createBigtableTracerFactory(
259259
.put("project_id", projectId)
260260
.put("instance", instanceId)
261261
.put("app_profile", appProfileId)
262+
.put("client_name", "bigtable-java/" + Version.VERSION)
262263
.build();
263264

264265
return new CompositeTracerFactory(

0 commit comments

Comments
 (0)