Skip to content

Commit

Permalink
Fix incorrect throw of exception in global tracer assignment
Browse files Browse the repository at this point in the history
  • Loading branch information
tjquinno committed Dec 11, 2024
1 parent 493359f commit 9d952d7
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ public Tracer global() {
public void global(Tracer tracer) {
if (tracer instanceof OpenTelemetryTracer ott) {
globalTracer(ott);
return;
}
throw new IllegalArgumentException("Tracer must be an instance of Helidon OpenTelemetry tracer. "
+ "Please use HelidonOpenTelemetry to create such instance");
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
* Copyright (c) 2024 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.helidon.tracing.providers.opentelemetry;

import java.util.Map;

import io.helidon.tracing.Tracer;

import io.opentelemetry.api.OpenTelemetry;
import org.junit.jupiter.api.Test;

class TestGlobalTracerAssignment {

@Test
void assignGlobalTracer() {
OpenTelemetry openTelemetry = OpenTelemetry.noop();
io.opentelemetry.api.trace.Tracer otelTracer = openTelemetry.getTracer("testTracer");

Tracer.global(HelidonOpenTelemetry.create(openTelemetry, otelTracer, Map.of()));
// A bug in the Helidon OTel tracer provider caused an exception to be thrown even when the caller provides the correct
// type to Tracer.global(tracer). If we get here, the bug fix is working.
}
}

0 comments on commit 9d952d7

Please sign in to comment.