Polish "Support Otlp Tracing's GRPC port from service connections"

See gh-41333
This commit is contained in:
Moritz Halbritter
2024-09-06 11:59:05 +02:00
parent 7baa553760
commit bac330354b
10 changed files with 59 additions and 42 deletions

View File

@@ -18,6 +18,7 @@ package org.springframework.boot.testcontainers.service.connection.otlp;
import org.testcontainers.grafana.LgtmStackContainer;
import org.springframework.boot.actuate.autoconfigure.opentelemetry.otlp.Transport;
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingConnectionDetails;
import org.springframework.boot.testcontainers.service.connection.ContainerConnectionDetailsFactory;
import org.springframework.boot.testcontainers.service.connection.ContainerConnectionSource;
@@ -52,8 +53,12 @@ class GrafanaOpenTelemetryTracingContainerConnectionDetailsFactory
}
@Override
public String getUrl() {
return "%s/v1/traces".formatted(getContainer().getOtlpHttpUrl());
public String getUrl(Transport transport) {
String url = switch (transport) {
case HTTP -> getContainer().getOtlpHttpUrl();
case GRPC -> getContainer().getOtlpGrpcUrl();
};
return "%s/v1/traces".formatted(url);
}
}

View File

@@ -19,6 +19,7 @@ package org.springframework.boot.testcontainers.service.connection.otlp;
import org.testcontainers.containers.Container;
import org.testcontainers.containers.GenericContainer;
import org.springframework.boot.actuate.autoconfigure.opentelemetry.otlp.Transport;
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingConnectionDetails;
import org.springframework.boot.testcontainers.service.connection.ContainerConnectionDetailsFactory;
import org.springframework.boot.testcontainers.service.connection.ContainerConnectionSource;
@@ -58,15 +59,12 @@ class OpenTelemetryTracingContainerConnectionDetailsFactory
}
@Override
public String getUrl() {
return "http://%s:%d/v1/traces".formatted(getContainer().getHost(),
getContainer().getMappedPort(OTLP_HTTP_PORT));
}
@Override
public String getGrpcEndpoint() {
return "http://%s:%d/v1/traces".formatted(getContainer().getHost(),
getContainer().getMappedPort(OTLP_GRPC_PORT));
public String getUrl(Transport transport) {
int port = switch (transport) {
case HTTP -> OTLP_HTTP_PORT;
case GRPC -> OTLP_GRPC_PORT;
};
return "http://%s:%d/v1/traces".formatted(getContainer().getHost(), getContainer().getMappedPort(port));
}
}