Polish "Support Otlp Tracing's GRPC port from service connections"
See gh-41333
This commit is contained in:
@@ -22,6 +22,7 @@ import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.actuate.autoconfigure.opentelemetry.otlp.Transport;
|
||||
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpAutoConfiguration;
|
||||
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingConnectionDetails;
|
||||
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
@@ -50,7 +51,10 @@ class GrafanaOpenTelemetryTracingContainerConnectionDetailsFactoryIntegrationTes
|
||||
|
||||
@Test
|
||||
void connectionCanBeMadeToOpenTelemetryContainer() {
|
||||
assertThat(this.connectionDetails.getUrl()).isEqualTo("%s/v1/traces".formatted(container.getOtlpHttpUrl()));
|
||||
assertThat(this.connectionDetails.getUrl(Transport.HTTP))
|
||||
.isEqualTo("%s/v1/traces".formatted(container.getOtlpHttpUrl()));
|
||||
assertThat(this.connectionDetails.getUrl(Transport.GRPC))
|
||||
.isEqualTo("%s/v1/traces".formatted(container.getOtlpGrpcUrl()));
|
||||
}
|
||||
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
|
||||
@@ -22,6 +22,7 @@ import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.actuate.autoconfigure.opentelemetry.otlp.Transport;
|
||||
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpAutoConfiguration;
|
||||
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingConnectionDetails;
|
||||
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
@@ -51,10 +52,10 @@ class OpenTelemetryTracingContainerConnectionDetailsFactoryIntegrationTests {
|
||||
|
||||
@Test
|
||||
void connectionCanBeMadeToOpenTelemetryContainer() {
|
||||
assertThat(this.connectionDetails.getGrpcEndpoint())
|
||||
.isEqualTo("http://" + container.getHost() + ":" + container.getMappedPort(4317) + "/v1/traces");
|
||||
assertThat(this.connectionDetails.getUrl())
|
||||
assertThat(this.connectionDetails.getUrl(Transport.HTTP))
|
||||
.isEqualTo("http://" + container.getHost() + ":" + container.getMappedPort(4318) + "/v1/traces");
|
||||
assertThat(this.connectionDetails.getUrl(Transport.GRPC))
|
||||
.isEqualTo("http://" + container.getHost() + ":" + container.getMappedPort(4317) + "/v1/traces");
|
||||
}
|
||||
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user