Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@
import com.linecorp.armeria.common.logging.RequestLog;
import com.linecorp.armeria.server.HttpService;
import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
import io.opentelemetry.instrumentation.armeria.v1_3.ArmeriaTracing;
import io.opentelemetry.instrumentation.armeria.v1_3.ArmeriaTracingBuilder;
import io.opentelemetry.instrumentation.armeria.v1_3.internal.ArmeriaNetAttributesExtractor;
import io.opentelemetry.javaagent.instrumentation.api.instrumenter.PeerServiceAttributesExtractor;
import java.util.function.Function;

Expand All @@ -24,16 +23,14 @@ public final class ArmeriaSingletons {
public static final Function<? super HttpService, ? extends HttpService> SERVER_DECORATOR;

static {
ArmeriaTracingBuilder builder = ArmeriaTracing.newBuilder(GlobalOpenTelemetry.get());
PeerServiceAttributesExtractor<RequestContext, RequestLog> peerServiceAttributesExtractor =
PeerServiceAttributesExtractor.create(new ArmeriaNetAttributesExtractor());

AttributesExtractor<RequestContext, RequestLog> peerServiceAttributesExtractor =
PeerServiceAttributesExtractor.createUsingReflection(
"io.opentelemetry.instrumentation.armeria.v1_3.ArmeriaNetAttributesExtractor");
if (peerServiceAttributesExtractor != null) {
builder.addAttributeExtractor(peerServiceAttributesExtractor);
}
ArmeriaTracing tracing =
ArmeriaTracing.newBuilder(GlobalOpenTelemetry.get())
.addAttributeExtractor(peerServiceAttributesExtractor)
.build();

ArmeriaTracing tracing = builder.build();
CLIENT_DECORATOR = tracing.newClientDecorator();
SERVER_DECORATOR = tracing.newServiceDecorator();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import io.opentelemetry.instrumentation.api.instrumenter.http.HttpServerMetrics;
import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtractor;
import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor;
import io.opentelemetry.instrumentation.armeria.v1_3.internal.ArmeriaNetAttributesExtractor;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0
*/

package io.opentelemetry.instrumentation.armeria.v1_3;
package io.opentelemetry.instrumentation.armeria.v1_3.internal;

import com.linecorp.armeria.common.RequestContext;
import com.linecorp.armeria.common.logging.RequestLog;
Expand All @@ -13,7 +13,7 @@
import java.net.SocketAddress;
import org.checkerframework.checker.nullness.qual.Nullable;

final class ArmeriaNetAttributesExtractor
public final class ArmeriaNetAttributesExtractor
extends InetSocketAddressNetAttributesExtractor<RequestContext, RequestLog> {

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
import io.opentelemetry.instrumentation.api.config.Config;
import io.opentelemetry.instrumentation.grpc.v1_6.GrpcRequest;
import io.opentelemetry.instrumentation.grpc.v1_6.GrpcTracing;
import io.opentelemetry.instrumentation.grpc.v1_6.GrpcTracingBuilder;
import io.opentelemetry.instrumentation.grpc.v1_6.internal.ContextStorageBridge;
import io.opentelemetry.instrumentation.grpc.v1_6.internal.GrpcNetAttributesExtractor;
import io.opentelemetry.javaagent.instrumentation.api.instrumenter.PeerServiceAttributesExtractor;

// Holds singleton references.
Expand All @@ -27,21 +27,18 @@ public final class GrpcSingletons {
public static final Context.Storage STORAGE = new ContextStorageBridge();

static {
GrpcTracingBuilder builder =
boolean experimentalSpanAttributes =
Config.get()
.getBooleanProperty("otel.instrumentation.grpc.experimental-span-attributes", false);
PeerServiceAttributesExtractor<GrpcRequest, Status> peerServiceAttributesExtractor =
PeerServiceAttributesExtractor.create(new GrpcNetAttributesExtractor());

GrpcTracing tracing =
GrpcTracing.newBuilder(GlobalOpenTelemetry.get())
.setCaptureExperimentalSpanAttributes(
Config.get()
.getBooleanProperty(
"otel.instrumentation.grpc.experimental-span-attributes", false));

PeerServiceAttributesExtractor<GrpcRequest, Status> peerServiceExtractor =
PeerServiceAttributesExtractor.createUsingReflection(
"io.opentelemetry.instrumentation.grpc.v1_6.GrpcNetAttributesExtractor");
if (peerServiceExtractor != null) {
builder.addAttributeExtractor(peerServiceExtractor);
}

GrpcTracing tracing = builder.build();
.setCaptureExperimentalSpanAttributes(experimentalSpanAttributes)
.addAttributeExtractor(peerServiceAttributesExtractor)
.build();

CLIENT_INTERCEPTOR = tracing.newClientInterceptor();
SERVER_INTERCEPTOR = tracing.newServerInterceptor();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder;
import io.opentelemetry.instrumentation.api.instrumenter.SpanKindExtractor;
import io.opentelemetry.instrumentation.grpc.v1_6.internal.GrpcNetAttributesExtractor;
import java.util.ArrayList;
import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,17 @@
* SPDX-License-Identifier: Apache-2.0
*/

package io.opentelemetry.instrumentation.grpc.v1_6;
package io.opentelemetry.instrumentation.grpc.v1_6.internal;

import io.grpc.Status;
import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetAttributesExtractor;
import io.opentelemetry.instrumentation.grpc.v1_6.GrpcRequest;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import org.checkerframework.checker.nullness.qual.Nullable;

final class GrpcNetAttributesExtractor
public final class GrpcNetAttributesExtractor
extends InetSocketAddressNetAttributesExtractor<GrpcRequest, Status> {
@Override
@Nullable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import io.opentelemetry.instrumentation.api.instrumenter.net.NetAttributesExtractor;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
import java.util.Map;
import org.checkerframework.checker.nullness.qual.Nullable;

/**
* Extractor of the {@code peer.service} span attribute, described in <a
Expand Down Expand Up @@ -48,19 +47,6 @@ public static <REQUEST, RESPONSE> PeerServiceAttributesExtractor<REQUEST, RESPON
JAVAAGENT_PEER_SERVICE_MAPPING, netAttributesExtractor);
}

/**
* Returns a new {@link PeerServiceAttributesExtractor} that will create a new instance of type
* {@code netAttributesExtractorImplClassName} (which must extend {@link NetAttributesExtractor})
* and use it to determine the value of the {@code peer.service} attribute.
*/
@Nullable
public static <REQUEST, RESPONSE>
PeerServiceAttributesExtractor<REQUEST, RESPONSE> createUsingReflection(
String netAttributesExtractorImplClassName) {
return ReflectionPeerServiceAttributesExtractorFactory.create(
netAttributesExtractorImplClassName);
}

@Override
protected void onStart(AttributesBuilder attributes, REQUEST request) {
onEnd(attributes, request, null);
Expand Down

This file was deleted.