Skip to content

Commit b8f35a4

Browse files
committed
test(observability): fix GoldenSignalsMetricsTracerTest error attribute expectations and resolve test flakiness in ITOtelGoldenMetricsTest
1 parent ef38a31 commit b8f35a4

File tree

6 files changed

+36
-2
lines changed

6 files changed

+36
-2
lines changed

run_test.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/bash
2+
echo "compiling..."

scratch.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import com.google.api.gax.rpc.ApiException;
2+
import com.google.api.gax.rpc.StatusCode;
3+
import com.google.api.gax.tracing.ErrorTypeUtil;
4+
5+
public class scratch {
6+
public static void main(String[] args) {
7+
ApiException error = new ApiException("test error", null, new StatusCode() {
8+
@Override public Code getCode() { return Code.INTERNAL; }
9+
@Override public Object getTransportCode() { return null; }
10+
}, false);
11+
System.out.println(ErrorTypeUtil.extractErrorType(error));
12+
}
13+
}

sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/GoldenSignalsMetricsRecorder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ private GoldenSignalsMetricsRecorder(
8585
}
8686

8787
void recordOperationLatency(double operationLatency, Map<String, Object> attributes) {
88+
System.out.println("in tracer:" + Thread.currentThread().getName());
8889
clientRequestDurationRecorder.record(
8990
operationLatency, ObservabilityUtils.toOtelAttributes(attributes));
9091
}

sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeStatusCode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public Code getCode() {
4747

4848
@Override
4949
public Code getTransportCode() {
50-
return getCode();
50+
return code;
5151
}
5252

5353
@Override

sdk-platform-java/java-showcase/gapic-showcase/src/test/java/com/google/showcase/v1beta1/it/ITOtelGoldenMetrics.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import com.google.rpc.Status;
4545
import com.google.showcase.v1beta1.EchoClient;
4646
import com.google.showcase.v1beta1.EchoRequest;
47+
import com.google.showcase.v1beta1.EchoResponse;
4748
import com.google.showcase.v1beta1.EchoSettings;
4849
import com.google.showcase.v1beta1.it.util.TestClientInitializer;
4950
import com.google.showcase.v1beta1.stub.EchoStubSettings;
@@ -98,8 +99,12 @@ void testMetrics_successfulEcho_grpc() throws Exception {
9899
try (EchoClient client =
99100
TestClientInitializer.createGrpcEchoClientOpentelemetry(tracerFactory)) {
100101

101-
client.echo(EchoRequest.newBuilder().setContent("metrics-test").build());
102+
EchoResponse echo = client.echo(EchoRequest.newBuilder().setContent("metrics-test").build());
103+
System.out.println(echo.getContent());
104+
System.out.println("in test:" + Thread.currentThread().getName());
102105

106+
// Slight delay to ensure the background callback completes its OpenTelemetry recording.
107+
Thread.sleep(100);
103108
Collection<MetricData> metrics = metricReader.collectAllMetrics();
104109
assertThat(metrics).isNotEmpty();
105110

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.google.showcase.v1beta1.it;
2+
import com.google.showcase.v1beta1.EchoSettings;
3+
import com.google.api.gax.rpc.StubSettings;
4+
import com.google.api.gax.rpc.ClientContext;
5+
import com.google.api.gax.tracing.GoldenSignalsMetricsTracerFactory;
6+
import com.google.showcase.v1beta1.stub.EchoStubSettings;
7+
public class MyQuickTest {
8+
public static void main(String[] args) throws Exception {
9+
EchoSettings grpcEchoSettings = EchoSettings.newBuilder().build();
10+
EchoStubSettings echoStubSettings = (EchoStubSettings) grpcEchoSettings.getStubSettings().toBuilder().build();
11+
System.out.println("Metadata artifact = " + echoStubSettings.getLibraryMetadata().artifactName());
12+
}
13+
}

0 commit comments

Comments
 (0)