Skip to content

Commit 1191488

Browse files
authored
Merge branch 'main' into generate-libraries-main
2 parents bbf6249 + e205a2b commit 1191488

File tree

17 files changed

+81
-65
lines changed

17 files changed

+81
-65
lines changed

.github/workflows/samples.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
- uses: actions/checkout@v4
99
- uses: actions/setup-java@v1
1010
with:
11-
java-version: 8
11+
java-version: 11
1212
- name: Run checkstyle
1313
run: mvn -P lint --quiet --batch-mode checkstyle:check
1414
working-directory: samples/snippets

.github/workflows/unmanaged_dependency_check.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ jobs:
1717
# repository
1818
.kokoro/build.sh
1919
- name: Unmanaged dependency check
20-
uses: googleapis/sdk-platform-java/java-shared-dependencies/unmanaged-dependency-check@google-cloud-shared-dependencies/v3.46.2
20+
uses: googleapis/sdk-platform-java/java-shared-dependencies/unmanaged-dependency-check@google-cloud-shared-dependencies/v3.47.0
2121
with:
2222
bom-path: google-cloud-spanner-bom/pom.xml

benchmarks/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
3535
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
3636
<junixsocket.version>2.10.1</junixsocket.version>
37-
<opentelemetry.version>1.45.0</opentelemetry.version>
37+
<opentelemetry.version>1.49.0</opentelemetry.version>
3838
</properties>
3939

4040
<dependencies>

google-cloud-spanner-bom/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<parent>
99
<groupId>com.google.cloud</groupId>
1010
<artifactId>sdk-platform-java-config</artifactId>
11-
<version>3.46.2</version>
11+
<version>3.47.0</version>
1212
</parent>
1313

1414
<name>Google Cloud Spanner BOM</name>

google-cloud-spanner-executor/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
<dependency>
6565
<groupId>com.google.cloud</groupId>
6666
<artifactId>google-cloud-trace</artifactId>
67-
<version>2.53.0</version>
67+
<version>2.62.0</version>
6868
</dependency>
6969
<dependency>
7070
<groupId>io.grpc</groupId>
@@ -137,7 +137,7 @@
137137
<dependency>
138138
<groupId>com.google.api.grpc</groupId>
139139
<artifactId>proto-google-cloud-trace-v1</artifactId>
140-
<version>2.53.0</version>
140+
<version>2.62.0</version>
141141
</dependency>
142142
<dependency>
143143
<groupId>com.google.api.grpc</groupId>
@@ -202,7 +202,7 @@
202202
<dependency>
203203
<groupId>org.apache.maven.surefire</groupId>
204204
<artifactId>surefire-junit4</artifactId>
205-
<version>3.5.2</version>
205+
<version>3.5.3</version>
206206
<scope>test</scope>
207207
</dependency>
208208

@@ -267,7 +267,7 @@
267267
<plugin>
268268
<groupId>org.apache.maven.plugins</groupId>
269269
<artifactId>maven-failsafe-plugin</artifactId>
270-
<version>3.5.2</version>
270+
<version>3.5.3</version>
271271
</plugin>
272272
</plugins>
273273
<pluginManagement>

google-cloud-spanner/pom.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -269,12 +269,12 @@
269269
<dependency>
270270
<groupId>com.google.cloud</groupId>
271271
<artifactId>google-cloud-monitoring</artifactId>
272-
<version>3.54.0</version>
272+
<version>3.63.0</version>
273273
</dependency>
274274
<dependency>
275275
<groupId>com.google.api.grpc</groupId>
276276
<artifactId>proto-google-cloud-monitoring-v3</artifactId>
277-
<version>3.57.0</version>
277+
<version>3.63.0</version>
278278
</dependency>
279279
<dependency>
280280
<groupId>com.google.auth</groupId>
@@ -421,7 +421,7 @@
421421
<dependency>
422422
<groupId>org.json</groupId>
423423
<artifactId>json</artifactId>
424-
<version>20240303</version>
424+
<version>20250107</version>
425425
<scope>test</scope>
426426
</dependency>
427427
<dependency>
@@ -468,13 +468,13 @@
468468
<dependency>
469469
<groupId>com.google.cloud</groupId>
470470
<artifactId>google-cloud-trace</artifactId>
471-
<version>2.51.0</version>
471+
<version>2.62.0</version>
472472
<scope>test</scope>
473473
</dependency>
474474
<dependency>
475475
<groupId>com.google.api.grpc</groupId>
476476
<artifactId>proto-google-cloud-trace-v1</artifactId>
477-
<version>2.51.0</version>
477+
<version>2.62.0</version>
478478
<scope>test</scope>
479479
</dependency>
480480
</dependencies>

google-cloud-spanner/src/main/java/com/google/cloud/spanner/BuiltInMetricsRecorder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@ class BuiltInMetricsRecorder extends OpenTelemetryMetricsRecorder {
9797
* @param attributes Map of the attributes to store
9898
*/
9999
void recordServerTimingHeaderMetrics(
100-
Long gfeLatency,
101-
Long afeLatency,
100+
Float gfeLatency,
101+
Float afeLatency,
102102
Long gfeHeaderMissingCount,
103103
Long afeHeaderMissingCount,
104104
Map<String, String> attributes) {

google-cloud-spanner/src/main/java/com/google/cloud/spanner/BuiltInMetricsTracer.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ class BuiltInMetricsTracer extends MetricsTracer implements ApiTracer {
3737
private final BuiltInMetricsRecorder builtInOpenTelemetryMetricsRecorder;
3838
// These are RPC specific attributes and pertain to a specific API Trace
3939
private final Map<String, String> attributes = new HashMap<>();
40-
private Long gfeLatency = null;
41-
private Long afeLatency = null;
40+
private Float gfeLatency = null;
41+
private Float afeLatency = null;
4242
private long gfeHeaderMissingCount = 0;
4343
private long afeHeaderMissingCount = 0;
4444

@@ -119,11 +119,11 @@ public void attemptPermanentFailure(Throwable error) {
119119
gfeLatency, afeLatency, gfeHeaderMissingCount, afeHeaderMissingCount, attributes);
120120
}
121121

122-
void recordGFELatency(Long gfeLatency) {
122+
void recordGFELatency(Float gfeLatency) {
123123
this.gfeLatency = gfeLatency;
124124
}
125125

126-
void recordAFELatency(Long afeLatency) {
126+
void recordAFELatency(Float afeLatency) {
127127
this.afeLatency = afeLatency;
128128
}
129129

google-cloud-spanner/src/main/java/com/google/cloud/spanner/CompositeTracer.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ public void addAttributes(Map<String, String> attributes) {
194194
public void recordGFELatency(Long gfeLatency) {
195195
for (ApiTracer child : children) {
196196
if (child instanceof BuiltInMetricsTracer) {
197-
((BuiltInMetricsTracer) child).recordGFELatency(gfeLatency);
197+
((BuiltInMetricsTracer) child).recordGFELatency(Float.valueOf(gfeLatency));
198198
}
199199
}
200200
}
@@ -210,7 +210,7 @@ public void recordGfeHeaderMissingCount(Long value) {
210210
public void recordAFELatency(Long afeLatency) {
211211
for (ApiTracer child : children) {
212212
if (child instanceof BuiltInMetricsTracer) {
213-
((BuiltInMetricsTracer) child).recordAFELatency(afeLatency);
213+
((BuiltInMetricsTracer) child).recordAFELatency(Float.valueOf(afeLatency));
214214
}
215215
}
216216
}
@@ -222,4 +222,20 @@ public void recordAfeHeaderMissingCount(Long value) {
222222
}
223223
}
224224
}
225+
226+
public void recordGFELatency(Float gfeLatency) {
227+
for (ApiTracer child : children) {
228+
if (child instanceof BuiltInMetricsTracer) {
229+
((BuiltInMetricsTracer) child).recordGFELatency(gfeLatency);
230+
}
231+
}
232+
}
233+
234+
public void recordAFELatency(Float afeLatency) {
235+
for (ApiTracer child : children) {
236+
if (child instanceof BuiltInMetricsTracer) {
237+
((BuiltInMetricsTracer) child).recordAFELatency(afeLatency);
238+
}
239+
}
240+
}
225241
}

google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/HeaderInterceptor.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ class HeaderInterceptor implements ClientInterceptor {
7676
private static final Metadata.Key<String> GOOGLE_CLOUD_RESOURCE_PREFIX_KEY =
7777
Metadata.Key.of("google-cloud-resource-prefix", Metadata.ASCII_STRING_MARSHALLER);
7878
private static final Pattern SERVER_TIMING_PATTERN =
79-
Pattern.compile("(?<metricName>[a-zA-Z0-9_-]+);\\s*dur=(?<duration>\\d+)");
79+
Pattern.compile("(?<metricName>[a-zA-Z0-9_-]+);\\s*dur=(?<duration>\\d+(\\.\\d+)?)");
8080
private static final Pattern GOOGLE_CLOUD_RESOURCE_PREFIX_PATTERN =
8181
Pattern.compile(
8282
".*projects/(?<project>\\p{ASCII}[^/]*)(/instances/(?<instance>\\p{ASCII}[^/]*))?(/databases/(?<database>\\p{ASCII}[^/]*))?");
@@ -162,15 +162,15 @@ private void processHeader(
162162
// would fail to parse it correctly. To make the parsing more robust, the logic has been
163163
// updated to handle multiple metrics gracefully.
164164

165-
Map<String, Long> serverTimingMetrics = parseServerTimingHeader(serverTiming);
165+
Map<String, Float> serverTimingMetrics = parseServerTimingHeader(serverTiming);
166166
if (serverTimingMetrics.containsKey(GFE_TIMING_HEADER)) {
167-
long gfeLatency = serverTimingMetrics.get(GFE_TIMING_HEADER);
167+
float gfeLatency = serverTimingMetrics.get(GFE_TIMING_HEADER);
168168

169-
measureMap.put(SPANNER_GFE_LATENCY, gfeLatency);
169+
measureMap.put(SPANNER_GFE_LATENCY, (long) gfeLatency);
170170
measureMap.put(SPANNER_GFE_HEADER_MISSING_COUNT, 0L);
171171
measureMap.record(tagContext);
172172

173-
spannerRpcMetrics.recordGfeLatency(gfeLatency, attributes);
173+
spannerRpcMetrics.recordGfeLatency((long) gfeLatency, attributes);
174174
spannerRpcMetrics.recordGfeHeaderMissingCount(0L, attributes);
175175
if (compositeTracer != null) {
176176
compositeTracer.recordGFELatency(gfeLatency);
@@ -189,7 +189,7 @@ private void processHeader(
189189
// Record AFE metrics
190190
if (compositeTracer != null && GapicSpannerRpc.isEnableAFEServerTiming()) {
191191
if (serverTimingMetrics.containsKey(AFE_TIMING_HEADER)) {
192-
long afeLatency = serverTimingMetrics.get(AFE_TIMING_HEADER);
192+
float afeLatency = serverTimingMetrics.get(AFE_TIMING_HEADER);
193193
compositeTracer.recordAFELatency(afeLatency);
194194
} else {
195195
compositeTracer.recordAfeHeaderMissingCount(1L);
@@ -200,16 +200,16 @@ private void processHeader(
200200
}
201201
}
202202

203-
private Map<String, Long> parseServerTimingHeader(String serverTiming) {
204-
Map<String, Long> serverTimingMetrics = new HashMap<>();
203+
private Map<String, Float> parseServerTimingHeader(String serverTiming) {
204+
Map<String, Float> serverTimingMetrics = new HashMap<>();
205205
if (serverTiming != null) {
206206
Matcher matcher = SERVER_TIMING_PATTERN.matcher(serverTiming);
207207
while (matcher.find()) {
208208
String metricName = matcher.group("metricName");
209209
String durationStr = matcher.group("duration");
210210

211211
if (metricName != null && durationStr != null) {
212-
serverTimingMetrics.put(metricName, Long.valueOf(durationStr));
212+
serverTimingMetrics.put(metricName, Float.valueOf(durationStr));
213213
}
214214
}
215215
}

0 commit comments

Comments
 (0)