Remove collector from smoke tests (#4186)
This commit is contained in:
parent
12d60b05d7
commit
0b9d8c37a5
|
@ -67,5 +67,5 @@ jobs:
|
||||||
key: ${{ runner.os }}-gradle-wrapper-cache-${{ hashFiles('smoke-tests/fake-backend/gradle/wrapper/gradle-wrapper.properties') }}
|
key: ${{ runner.os }}-gradle-wrapper-cache-${{ hashFiles('smoke-tests/fake-backend/gradle/wrapper/gradle-wrapper.properties') }}
|
||||||
|
|
||||||
- name: Build Docker Image
|
- name: Build Docker Image
|
||||||
run: ./gradlew windowsBackendImageBuild windowsCollectorImageBuild
|
run: ./gradlew windowsBackendImageBuild
|
||||||
working-directory: smoke-tests/fake-backend
|
working-directory: smoke-tests/fake-backend
|
||||||
|
|
|
@ -14,7 +14,7 @@ public class DemoPropertySource implements ConfigPropertySource {
|
||||||
@Override
|
@Override
|
||||||
public Map<String, String> getProperties() {
|
public Map<String, String> getProperties() {
|
||||||
return Map.of(
|
return Map.of(
|
||||||
"otel.exporter.otlp.endpoint", "http://collector:4317",
|
"otel.exporter.otlp.endpoint", "http://backend:8080",
|
||||||
"otel.exporter.otlp.insecure", "true",
|
"otel.exporter.otlp.insecure", "true",
|
||||||
"otel.config.max.attrs", "16");
|
"otel.config.max.attrs", "16");
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
rootProject.name = 'opentelemetry-java-instrumentation-demo'
|
rootProject.name = 'opentelemetry-java-instrumentation-distro-demo'
|
||||||
|
|
||||||
include "agent"
|
include "agent"
|
||||||
include "custom"
|
include "custom"
|
||||||
include "instrumentation"
|
include "instrumentation"
|
||||||
include "instrumentation:servlet-3"
|
include "instrumentation:servlet-3"
|
||||||
include "smoke-tests"
|
include "smoke-tests"
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,6 @@ abstract class SmokeTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static GenericContainer backend;
|
private static GenericContainer backend;
|
||||||
private static GenericContainer collector;
|
|
||||||
|
|
||||||
@BeforeAll
|
@BeforeAll
|
||||||
static void setupSpec() {
|
static void setupSpec() {
|
||||||
|
@ -60,17 +59,6 @@ abstract class SmokeTest {
|
||||||
.withNetworkAliases("backend")
|
.withNetworkAliases("backend")
|
||||||
.withLogConsumer(new Slf4jLogConsumer(logger));
|
.withLogConsumer(new Slf4jLogConsumer(logger));
|
||||||
backend.start();
|
backend.start();
|
||||||
|
|
||||||
collector =
|
|
||||||
new GenericContainer<>("otel/opentelemetry-collector-contrib:latest")
|
|
||||||
.dependsOn(backend)
|
|
||||||
.withNetwork(network)
|
|
||||||
.withNetworkAliases("collector")
|
|
||||||
.withLogConsumer(new Slf4jLogConsumer(logger))
|
|
||||||
.withCopyFileToContainer(
|
|
||||||
MountableFile.forClasspathResource("/otel.yaml"), "/etc/otel.yaml")
|
|
||||||
.withCommand("--config /etc/otel.yaml");
|
|
||||||
collector.start();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected GenericContainer target;
|
protected GenericContainer target;
|
||||||
|
@ -109,7 +97,6 @@ abstract class SmokeTest {
|
||||||
@AfterAll
|
@AfterAll
|
||||||
static void cleanupSpec() {
|
static void cleanupSpec() {
|
||||||
backend.stop();
|
backend.stop();
|
||||||
collector.stop();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static int countResourcesByValue(
|
protected static int countResourcesByValue(
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
extensions:
|
|
||||||
health_check:
|
|
||||||
pprof:
|
|
||||||
endpoint: 0.0.0.0:1777
|
|
||||||
zpages:
|
|
||||||
endpoint: 0.0.0.0:55679
|
|
||||||
|
|
||||||
receivers:
|
|
||||||
otlp:
|
|
||||||
protocols:
|
|
||||||
grpc:
|
|
||||||
|
|
||||||
processors:
|
|
||||||
batch:
|
|
||||||
|
|
||||||
exporters:
|
|
||||||
logging:
|
|
||||||
loglevel: debug
|
|
||||||
otlp:
|
|
||||||
endpoint: backend:8080
|
|
||||||
insecure: true
|
|
||||||
|
|
||||||
service:
|
|
||||||
pipelines:
|
|
||||||
traces:
|
|
||||||
receivers: [ otlp ]
|
|
||||||
processors: [ batch ]
|
|
||||||
exporters: [ logging, otlp ]
|
|
||||||
|
|
||||||
extensions: [ health_check, pprof, zpages ]
|
|
|
@ -16,7 +16,7 @@ public class DemoPropertySource implements ConfigPropertySource {
|
||||||
@Override
|
@Override
|
||||||
public Map<String, String> getProperties() {
|
public Map<String, String> getProperties() {
|
||||||
return Map.of(
|
return Map.of(
|
||||||
"otel.exporter.otlp.endpoint", "http://collector:4317",
|
"otel.exporter.otlp.endpoint", "http://backend:8080",
|
||||||
"otel.exporter.otlp.insecure", "true",
|
"otel.exporter.otlp.insecure", "true",
|
||||||
"otel.config.max.attrs", "16");
|
"otel.config.max.attrs", "16");
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,7 +52,6 @@ abstract class IntegrationTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static GenericContainer backend;
|
private static GenericContainer backend;
|
||||||
private static GenericContainer collector;
|
|
||||||
|
|
||||||
@BeforeAll
|
@BeforeAll
|
||||||
static void setupSpec() {
|
static void setupSpec() {
|
||||||
|
@ -65,17 +64,6 @@ abstract class IntegrationTest {
|
||||||
.withNetworkAliases("backend")
|
.withNetworkAliases("backend")
|
||||||
.withLogConsumer(new Slf4jLogConsumer(logger));
|
.withLogConsumer(new Slf4jLogConsumer(logger));
|
||||||
backend.start();
|
backend.start();
|
||||||
|
|
||||||
collector =
|
|
||||||
new GenericContainer<>("otel/opentelemetry-collector-contrib:latest")
|
|
||||||
.dependsOn(backend)
|
|
||||||
.withNetwork(network)
|
|
||||||
.withNetworkAliases("collector")
|
|
||||||
.withLogConsumer(new Slf4jLogConsumer(logger))
|
|
||||||
.withCopyFileToContainer(
|
|
||||||
MountableFile.forClasspathResource("/otel.yaml"), "/etc/otel.yaml")
|
|
||||||
.withCommand("--config /etc/otel.yaml");
|
|
||||||
collector.start();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected GenericContainer<?> target;
|
protected GenericContainer<?> target;
|
||||||
|
@ -136,7 +124,6 @@ abstract class IntegrationTest {
|
||||||
@AfterAll
|
@AfterAll
|
||||||
static void cleanupSpec() {
|
static void cleanupSpec() {
|
||||||
backend.stop();
|
backend.stop();
|
||||||
collector.stop();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static int countResourcesByValue(
|
protected static int countResourcesByValue(
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
extensions:
|
|
||||||
health_check:
|
|
||||||
pprof:
|
|
||||||
endpoint: 0.0.0.0:1777
|
|
||||||
zpages:
|
|
||||||
endpoint: 0.0.0.0:55679
|
|
||||||
|
|
||||||
receivers:
|
|
||||||
otlp:
|
|
||||||
protocols:
|
|
||||||
grpc:
|
|
||||||
|
|
||||||
processors:
|
|
||||||
batch:
|
|
||||||
|
|
||||||
exporters:
|
|
||||||
logging:
|
|
||||||
loglevel: debug
|
|
||||||
otlp:
|
|
||||||
endpoint: backend:8080
|
|
||||||
insecure: true
|
|
||||||
|
|
||||||
service:
|
|
||||||
pipelines:
|
|
||||||
traces:
|
|
||||||
receivers: [ otlp ]
|
|
||||||
processors: [ batch ]
|
|
||||||
exporters: [ logging, otlp ]
|
|
||||||
|
|
||||||
extensions: [ health_check, pprof, zpages ]
|
|
|
@ -62,40 +62,9 @@ task windowsBackendImageBuild(type: DockerBuildImage) {
|
||||||
it.dockerFile = new File(backendDockerBuildDir, "windows.dockerfile")
|
it.dockerFile = new File(backendDockerBuildDir, "windows.dockerfile")
|
||||||
}
|
}
|
||||||
|
|
||||||
def collectorDockerBuildDir = new File(project.buildDir, "docker-collector")
|
|
||||||
|
|
||||||
task windowsCollectorBinaryDownload(type: Download) {
|
|
||||||
doFirst {
|
|
||||||
collectorDockerBuildDir.mkdirs()
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO (trask) update this to point to new opentelemetry-collector-releases repo
|
|
||||||
// this involves making two further changes:
|
|
||||||
// * all the artifacts in the new repo now have version in their name (so no single url for "latest")
|
|
||||||
// * the artifacts are now tar.gz format, so need to extract the exe
|
|
||||||
// note: version is hardcoded below because that is last version in the collector repo that has the releases attached
|
|
||||||
src("https://github.com/open-telemetry/opentelemetry-collector/releases/download/v0.33.0/otelcol_windows_amd64.exe")
|
|
||||||
dest(collectorDockerBuildDir)
|
|
||||||
}
|
|
||||||
|
|
||||||
task windowsCollectorImagePrepare(type: Copy) {
|
|
||||||
dependsOn(windowsCollectorBinaryDownload)
|
|
||||||
into(collectorDockerBuildDir)
|
|
||||||
from("src/docker/collector")
|
|
||||||
}
|
|
||||||
|
|
||||||
task windowsCollectorImageBuild(type: DockerBuildImage) {
|
|
||||||
dependsOn(windowsCollectorImagePrepare)
|
|
||||||
inputDir = collectorDockerBuildDir
|
|
||||||
|
|
||||||
it.images.add "ghcr.io/open-telemetry/opentelemetry-java-instrumentation/smoke-test-collector-windows:$extraTag"
|
|
||||||
it.dockerFile = new File(collectorDockerBuildDir, "windows.dockerfile")
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.create("dockerPush", DockerPushImage) {
|
tasks.create("dockerPush", DockerPushImage) {
|
||||||
group = "publishing"
|
group = "publishing"
|
||||||
description = "Push all Docker images for the test backend"
|
description = "Push all Docker images for the test backend"
|
||||||
dependsOn(windowsBackendImageBuild, windowsCollectorImageBuild)
|
dependsOn(windowsBackendImageBuild)
|
||||||
images.set(["ghcr.io/open-telemetry/opentelemetry-java-instrumentation/smoke-test-fake-backend-windows:$extraTag",
|
images.set(["ghcr.io/open-telemetry/opentelemetry-java-instrumentation/smoke-test-fake-backend-windows:$extraTag"])
|
||||||
"ghcr.io/open-telemetry/opentelemetry-java-instrumentation/smoke-test-collector-windows:$extraTag"])
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
FROM mcr.microsoft.com/windows/servercore:ltsc2019
|
|
||||||
COPY otelcol_windows_amd64.exe /otelcol_windows_amd64.exe
|
|
||||||
ENV NO_WINDOWS_SERVICE=1
|
|
||||||
ENTRYPOINT /otelcol_windows_amd64.exe
|
|
|
@ -1,56 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright The OpenTelemetry Authors
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.opentelemetry.smoketest
|
|
||||||
|
|
||||||
import io.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest
|
|
||||||
import spock.lang.IgnoreIf
|
|
||||||
|
|
||||||
import java.util.jar.Attributes
|
|
||||||
import java.util.jar.JarFile
|
|
||||||
|
|
||||||
import static java.util.stream.Collectors.toSet
|
|
||||||
|
|
||||||
@IgnoreIf({ os.windows })
|
|
||||||
class JaegerExporterSmokeTest extends SmokeTest {
|
|
||||||
|
|
||||||
protected String getTargetImage(String jdk) {
|
|
||||||
"ghcr.io/open-telemetry/java-test-containers:smoke-springboot-jdk$jdk-20210915.1238472439"
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected Map<String, String> getExtraEnv() {
|
|
||||||
return [
|
|
||||||
"OTEL_TRACES_EXPORTER" : "jaeger",
|
|
||||||
"OTEL_EXPORTER_JAEGER_ENDPOINT": "http://collector:14250"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
def "spring boot smoke test with jaeger grpc"() {
|
|
||||||
setup:
|
|
||||||
startTarget(11)
|
|
||||||
|
|
||||||
def currentAgentVersion = new JarFile(agentPath).getManifest().getMainAttributes().get(Attributes.Name.IMPLEMENTATION_VERSION)
|
|
||||||
|
|
||||||
when:
|
|
||||||
def response = client().get("/greeting").aggregate().join()
|
|
||||||
Collection<ExportTraceServiceRequest> traces = waitForTraces()
|
|
||||||
|
|
||||||
then:
|
|
||||||
response.contentUtf8() == "Hi!"
|
|
||||||
countSpansByName(traces, '/greeting') == 1
|
|
||||||
countSpansByName(traces, 'WebController.greeting') == 1
|
|
||||||
countSpansByName(traces, 'WebController.withSpan') == 1
|
|
||||||
|
|
||||||
[currentAgentVersion] as Set == findResourceAttribute(traces, "telemetry.auto.version")
|
|
||||||
.map { it.stringValue }
|
|
||||||
.collect(toSet())
|
|
||||||
|
|
||||||
cleanup:
|
|
||||||
stopTarget()
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,52 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright The OpenTelemetry Authors
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.opentelemetry.smoketest
|
|
||||||
|
|
||||||
import io.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest
|
|
||||||
import spock.lang.IgnoreIf
|
|
||||||
|
|
||||||
@IgnoreIf({ os.windows })
|
|
||||||
class ZipkinExporterSmokeTest extends SmokeTest {
|
|
||||||
|
|
||||||
protected String getTargetImage(String jdk) {
|
|
||||||
"ghcr.io/open-telemetry/java-test-containers:smoke-springboot-jdk$jdk-20210915.1238472439"
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected Map<String, String> getExtraEnv() {
|
|
||||||
return [
|
|
||||||
"OTEL_TRACES_EXPORTER" : "zipkin",
|
|
||||||
"OTEL_EXPORTER_ZIPKIN_ENDPOINT": "http://collector:9411/api/v2/spans"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
def "spring boot smoke test with Zipkin"() {
|
|
||||||
setup:
|
|
||||||
startTarget(11)
|
|
||||||
|
|
||||||
// def currentAgentVersion = new JarFile(agentPath).getManifest().getMainAttributes().get(Attributes.Name.IMPLEMENTATION_VERSION)
|
|
||||||
|
|
||||||
when:
|
|
||||||
def response = client().get("/greeting").aggregate().join()
|
|
||||||
Collection<ExportTraceServiceRequest> traces = waitForTraces()
|
|
||||||
|
|
||||||
then:
|
|
||||||
response.contentUtf8() == "Hi!"
|
|
||||||
countSpansByName(traces, '/greeting') == 1
|
|
||||||
countSpansByName(traces, 'webcontroller.greeting') == 1
|
|
||||||
countSpansByName(traces, 'webcontroller.withspan') == 1
|
|
||||||
|
|
||||||
//This is currently broken, see https://github.com/open-telemetry/opentelemetry-java/issues/1970
|
|
||||||
// [currentAgentVersion] as Set == findResourceAttribute(traces, "telemetry.auto.version")
|
|
||||||
// .map { it.stringValue }
|
|
||||||
// .collect(toSet())
|
|
||||||
|
|
||||||
cleanup:
|
|
||||||
stopTarget()
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -13,7 +13,6 @@ public abstract class AbstractTestContainerManager implements TestContainerManag
|
||||||
protected static final int BACKEND_PORT = 8080;
|
protected static final int BACKEND_PORT = 8080;
|
||||||
|
|
||||||
protected static final String BACKEND_ALIAS = "backend";
|
protected static final String BACKEND_ALIAS = "backend";
|
||||||
protected static final String COLLECTOR_ALIAS = "collector";
|
|
||||||
protected static final String TARGET_AGENT_FILENAME = "opentelemetry-javaagent.jar";
|
protected static final String TARGET_AGENT_FILENAME = "opentelemetry-javaagent.jar";
|
||||||
protected static final String COLLECTOR_CONFIG_RESOURCE = "/otel.yaml";
|
protected static final String COLLECTOR_CONFIG_RESOURCE = "/otel.yaml";
|
||||||
|
|
||||||
|
@ -28,7 +27,7 @@ public abstract class AbstractTestContainerManager implements TestContainerManag
|
||||||
environment.put("OTEL_BSP_MAX_EXPORT_BATCH_SIZE", "1");
|
environment.put("OTEL_BSP_MAX_EXPORT_BATCH_SIZE", "1");
|
||||||
environment.put("OTEL_BSP_SCHEDULE_DELAY", "10ms");
|
environment.put("OTEL_BSP_SCHEDULE_DELAY", "10ms");
|
||||||
environment.put("OTEL_IMR_EXPORT_INTERVAL", "1000");
|
environment.put("OTEL_IMR_EXPORT_INTERVAL", "1000");
|
||||||
environment.put("OTEL_EXPORTER_OTLP_ENDPOINT", "http://" + COLLECTOR_ALIAS + ":4317");
|
environment.put("OTEL_EXPORTER_OTLP_ENDPOINT", "http://" + BACKEND_ALIAS + ":8080");
|
||||||
environment.put("OTEL_RESOURCE_ATTRIBUTES", "service.name=smoke-test");
|
environment.put("OTEL_RESOURCE_ATTRIBUTES", "service.name=smoke-test");
|
||||||
environment.put("OTEL_JAVAAGENT_DEBUG", "true");
|
environment.put("OTEL_JAVAAGENT_DEBUG", "true");
|
||||||
return environment;
|
return environment;
|
||||||
|
|
|
@ -22,12 +22,10 @@ import org.testcontainers.utility.MountableFile;
|
||||||
|
|
||||||
public class LinuxTestContainerManager extends AbstractTestContainerManager {
|
public class LinuxTestContainerManager extends AbstractTestContainerManager {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(LinuxTestContainerManager.class);
|
private static final Logger logger = LoggerFactory.getLogger(LinuxTestContainerManager.class);
|
||||||
private static final Logger collectorLogger = LoggerFactory.getLogger("Collector");
|
|
||||||
private static final Logger backendLogger = LoggerFactory.getLogger("Backend");
|
private static final Logger backendLogger = LoggerFactory.getLogger("Backend");
|
||||||
|
|
||||||
private final Network network = Network.newNetwork();
|
private final Network network = Network.newNetwork();
|
||||||
private GenericContainer<?> backend = null;
|
private GenericContainer<?> backend = null;
|
||||||
private GenericContainer<?> collector = null;
|
|
||||||
private GenericContainer<?> target = null;
|
private GenericContainer<?> target = null;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -42,17 +40,6 @@ public class LinuxTestContainerManager extends AbstractTestContainerManager {
|
||||||
.withNetworkAliases(BACKEND_ALIAS)
|
.withNetworkAliases(BACKEND_ALIAS)
|
||||||
.withLogConsumer(new Slf4jLogConsumer(backendLogger));
|
.withLogConsumer(new Slf4jLogConsumer(backendLogger));
|
||||||
backend.start();
|
backend.start();
|
||||||
|
|
||||||
collector =
|
|
||||||
new GenericContainer<>(DockerImageName.parse("otel/opentelemetry-collector-contrib:latest"))
|
|
||||||
.dependsOn(backend)
|
|
||||||
.withNetwork(network)
|
|
||||||
.withNetworkAliases(COLLECTOR_ALIAS)
|
|
||||||
.withLogConsumer(new Slf4jLogConsumer(collectorLogger))
|
|
||||||
.withCopyFileToContainer(
|
|
||||||
MountableFile.forClasspathResource(COLLECTOR_CONFIG_RESOURCE), "/etc/otel.yaml")
|
|
||||||
.withCommand("--config /etc/otel.yaml");
|
|
||||||
collector.start();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -62,11 +49,6 @@ public class LinuxTestContainerManager extends AbstractTestContainerManager {
|
||||||
backend = null;
|
backend = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (collector != null) {
|
|
||||||
collector.stop();
|
|
||||||
collector = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
network.close();
|
network.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,11 +52,9 @@ import org.testcontainers.containers.output.OutputFrame;
|
||||||
|
|
||||||
public class WindowsTestContainerManager extends AbstractTestContainerManager {
|
public class WindowsTestContainerManager extends AbstractTestContainerManager {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(WindowsTestContainerManager.class);
|
private static final Logger logger = LoggerFactory.getLogger(WindowsTestContainerManager.class);
|
||||||
private static final Logger collectorLogger = LoggerFactory.getLogger("Collector");
|
|
||||||
private static final Logger backendLogger = LoggerFactory.getLogger("Backend");
|
private static final Logger backendLogger = LoggerFactory.getLogger("Backend");
|
||||||
|
|
||||||
private static final String NPIPE_URI = "npipe:////./pipe/docker_engine";
|
private static final String NPIPE_URI = "npipe:////./pipe/docker_engine";
|
||||||
private static final String COLLECTOR_CONFIG_FILE_PATH = "/collector-config.yml";
|
|
||||||
|
|
||||||
private final DockerClient client =
|
private final DockerClient client =
|
||||||
DockerClientImpl.getInstance(
|
DockerClientImpl.getInstance(
|
||||||
|
@ -65,7 +63,6 @@ public class WindowsTestContainerManager extends AbstractTestContainerManager {
|
||||||
|
|
||||||
@Nullable private String natNetworkId = null;
|
@Nullable private String natNetworkId = null;
|
||||||
@Nullable private Container backend;
|
@Nullable private Container backend;
|
||||||
@Nullable private Container collector;
|
|
||||||
@Nullable private Container target;
|
@Nullable private Container target;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -104,44 +101,12 @@ public class WindowsTestContainerManager extends AbstractTestContainerManager {
|
||||||
new HttpWaiter(BACKEND_PORT, "/health", Duration.ofSeconds(60)),
|
new HttpWaiter(BACKEND_PORT, "/health", Duration.ofSeconds(60)),
|
||||||
/* inspect= */ true,
|
/* inspect= */ true,
|
||||||
backendLogger);
|
backendLogger);
|
||||||
|
|
||||||
String collectorImageName =
|
|
||||||
"ghcr.io/open-telemetry/java-test-containers:collector" + backendSuffix;
|
|
||||||
if (!imageExists(collectorImageName)) {
|
|
||||||
pullImage(collectorImageName);
|
|
||||||
}
|
|
||||||
collector =
|
|
||||||
startContainer(
|
|
||||||
collectorImageName,
|
|
||||||
command ->
|
|
||||||
command
|
|
||||||
.withAliases(COLLECTOR_ALIAS)
|
|
||||||
.withHostConfig(
|
|
||||||
HostConfig.newHostConfig()
|
|
||||||
.withAutoRemove(true)
|
|
||||||
.withNetworkMode(natNetworkId))
|
|
||||||
.withCmd("--config", COLLECTOR_CONFIG_FILE_PATH),
|
|
||||||
containerId -> {
|
|
||||||
try (InputStream configFileStream =
|
|
||||||
this.getClass().getResourceAsStream(COLLECTOR_CONFIG_RESOURCE)) {
|
|
||||||
copyFileToContainer(
|
|
||||||
containerId, IOUtils.toByteArray(configFileStream), COLLECTOR_CONFIG_FILE_PATH);
|
|
||||||
} catch (IOException e) {
|
|
||||||
throw new IllegalStateException(e);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
new NoOpWaiter(),
|
|
||||||
/* inspect= */ false,
|
|
||||||
collectorLogger);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void stopEnvironment() {
|
protected void stopEnvironment() {
|
||||||
stopTarget();
|
stopTarget();
|
||||||
|
|
||||||
killContainer(collector);
|
|
||||||
collector = null;
|
|
||||||
|
|
||||||
killContainer(backend);
|
killContainer(backend);
|
||||||
backend = null;
|
backend = null;
|
||||||
|
|
||||||
|
|
|
@ -1,40 +0,0 @@
|
||||||
extensions:
|
|
||||||
health_check:
|
|
||||||
pprof:
|
|
||||||
endpoint: 0.0.0.0:1777
|
|
||||||
zpages:
|
|
||||||
endpoint: 0.0.0.0:55679
|
|
||||||
|
|
||||||
receivers:
|
|
||||||
otlp:
|
|
||||||
protocols:
|
|
||||||
grpc:
|
|
||||||
zipkin:
|
|
||||||
jaeger:
|
|
||||||
protocols:
|
|
||||||
grpc:
|
|
||||||
|
|
||||||
processors:
|
|
||||||
batch:
|
|
||||||
|
|
||||||
exporters:
|
|
||||||
logging/logging_debug:
|
|
||||||
loglevel: debug
|
|
||||||
logging/logging_info:
|
|
||||||
loglevel: info
|
|
||||||
otlp:
|
|
||||||
endpoint: backend:8080
|
|
||||||
insecure: true
|
|
||||||
|
|
||||||
service:
|
|
||||||
pipelines:
|
|
||||||
traces:
|
|
||||||
receivers: [ otlp, zipkin, jaeger ]
|
|
||||||
processors: [ batch ]
|
|
||||||
exporters: [ logging/logging_debug, otlp ]
|
|
||||||
metrics:
|
|
||||||
receivers: [ otlp ]
|
|
||||||
processors: [ batch ]
|
|
||||||
exporters: [ logging/logging_info, otlp ]
|
|
||||||
|
|
||||||
extensions: [ health_check, pprof, zpages ]
|
|
Loading…
Reference in New Issue