2424import com .google .cloud .storage .it .runner .annotations .Backend ;
2525import com .google .cloud .storage .it .runner .annotations .Inject ;
2626import com .google .cloud .storage .it .runner .annotations .SingleBackend ;
27+ import com .google .cloud .storage .it .runner .registry .Generator ;
2728import com .google .cloud .storage .it .runner .registry .TestBench ;
2829import io .opentelemetry .api .common .AttributeKey ;
2930import io .opentelemetry .sdk .OpenTelemetrySdk ;
4142@ SingleBackend (Backend .TEST_BENCH )
4243public class ITGrpcOpenTelemetryTest {
4344 @ Inject public TestBench testBench ;
44- private static final ApiClock TIME_SOURCE =
45- new ApiClock () {
46- @ Override
47- public long nanoTime () {
48- return 42_000_000_000L ;
49- }
50-
51- @ Override
52- public long millisTime () {
53- return 42_000L ;
54- }
55- };
5645 private StorageOptions options ;
57- private SpanExporter exporter = new TestExporter ();
46+ private SpanExporter exporter ;
47+ private Storage storage ;
48+ @ Inject public Generator generator ;
49+ @ Inject public BucketInfo testBucket ;
50+
51+
5852
5953 @ Before
6054 public void setUp () {
55+ exporter = new TestExporter ();
6156 OpenTelemetrySdk openTelemetrySdk =
6257 OpenTelemetrySdk .builder ()
6358 .setTracerProvider (
@@ -72,11 +67,12 @@ public void setUp() {
7267 .setCredentials (NoCredentials .getInstance ())
7368 .setOpenTelemetrySdk (openTelemetrySdk )
7469 .build ();
70+ storage = options .getService ();
7571 }
7672
73+
7774 @ Test
7875 public void runCreateBucket () {
79- Storage storage = options .getService ();
8076 String bucket = "random-bucket" ;
8177 storage .create (BucketInfo .of (bucket ));
8278 TestExporter testExported = (TestExporter ) exporter ;
@@ -87,22 +83,19 @@ public void runCreateBucket() {
8783 "com.google.cloud.google-cloud-storage" ,
8884 getAttributeValue (spanData , "gcp.client.artifact" ));
8985 Assert .assertEquals ("grpc" , getAttributeValue (spanData , "rpc.system" ));
86+
9087 }
9188
9289 @ Test
9390 public void runCreateBlob () {
94- Storage storage = options .getService ();
95- String bucket = "random-bucket" ;
96- storage .create (BucketInfo .of (bucket ));
9791 byte [] content = "Hello, World!" .getBytes (UTF_8 );
98- BlobId toCreate = BlobId .of (bucket , "blob" );
92+ BlobId toCreate = BlobId .of (testBucket . getName (), generator . randomObjectName () );
9993 storage .create (BlobInfo .newBuilder (toCreate ).build (), content );
10094 TestExporter testExported = (TestExporter ) exporter ;
10195 List <SpanData > spanData = testExported .getExportedSpans ();
102- // (1) Span to create the bucket
103- // (2) Span when calling create
104- // (3) Span when passing call to internalDirectUpload
105- Assert .assertEquals (3 , spanData .size ());
96+ // (1) Span when calling create
97+ // (2) Span when passing call to internalDirectUpload
98+ Assert .assertEquals (2 , spanData .size ());
10699 for (SpanData span : spanData ) {
107100 Assert .assertEquals ("Storage" , getAttributeValue (span , "gcp.client.service" ));
108101 Assert .assertEquals ("googleapis/java-storage" ,
@@ -112,6 +105,7 @@ public void runCreateBlob() {
112105 getAttributeValue (span , "gcp.client.artifact" ));
113106 Assert .assertEquals ("grpc" , getAttributeValue (span , "rpc.system" ));
114107 }
108+ Assert .assertEquals (spanData .get (1 ).getSpanContext (), spanData .get (0 ).getParentSpanContext ());
115109 }
116110
117111 private String getAttributeValue (SpanData spanData , String key ) {
0 commit comments