Search in sources :

Example 11 with LogExporter

use of io.opentelemetry.sdk.logs.export.LogExporter in project opentelemetry-java by open-telemetry.

the class OtlpHttpConfigTest method configureExportersGeneral.

@Test
void configureExportersGeneral() {
    Map<String, String> props = new HashMap<>();
    props.put("otel.exporter.otlp.protocol", "http/protobuf");
    props.put("otel.exporter.otlp.endpoint", "https://localhost:" + server.httpsPort());
    props.put("otel.exporter.otlp.certificate", server.selfSignedCertificate.certificate().getPath());
    props.put("otel.exporter.otlp.headers", "header-key=header-value");
    props.put("otel.exporter.otlp.compression", "gzip");
    props.put("otel.exporter.otlp.timeout", "15s");
    ConfigProperties properties = DefaultConfigProperties.createForTest(props);
    SpanExporter spanExporter = SpanExporterConfiguration.configureExporter("otlp", properties, NamedSpiManager.createEmpty(), MeterProvider.noop());
    MetricExporter metricExporter = MetricExporterConfiguration.configureOtlpMetrics(properties);
    LogExporter logExporter = LogExporterConfiguration.configureOtlpLogs(properties, MeterProvider.noop());
    assertThat(spanExporter).extracting("delegate.client", as(InstanceOfAssertFactories.type(OkHttpClient.class))).extracting(OkHttpClient::callTimeoutMillis).isEqualTo((int) TimeUnit.SECONDS.toMillis(15));
    assertThat(spanExporter.export(Lists.newArrayList(generateFakeSpan())).join(15, TimeUnit.SECONDS).isSuccess()).isTrue();
    assertThat(server.traceRequests).hasSize(1);
    assertThat(server.requestHeaders).anyMatch(headers -> headers.contains(":path", "/v1/traces") && headers.contains("header-key", "header-value") && headers.contains("content-encoding", "gzip"));
    assertThat(metricExporter).extracting("delegate.client", as(InstanceOfAssertFactories.type(OkHttpClient.class))).extracting(OkHttpClient::callTimeoutMillis).isEqualTo((int) TimeUnit.SECONDS.toMillis(15));
    assertThat(metricExporter.export(Lists.newArrayList(generateFakeMetric())).join(15, TimeUnit.SECONDS).isSuccess()).isTrue();
    assertThat(server.metricRequests).hasSize(1);
    assertThat(server.requestHeaders).anyMatch(headers -> headers.contains(":path", "/v1/metrics") && headers.contains("header-key", "header-value") && headers.contains("content-encoding", "gzip"));
    assertThat(logExporter).extracting("delegate.client", as(InstanceOfAssertFactories.type(OkHttpClient.class))).extracting(OkHttpClient::callTimeoutMillis).isEqualTo((int) TimeUnit.SECONDS.toMillis(15));
    assertThat(logExporter.export(Lists.newArrayList(generateFakeLog())).join(15, TimeUnit.SECONDS).isSuccess()).isTrue();
    assertThat(server.logRequests).hasSize(1);
    assertThat(server.requestHeaders).anyMatch(headers -> headers.contains(":path", "/v1/logs") && headers.contains("header-key", "header-value") && headers.contains("content-encoding", "gzip"));
}
Also used : MetricExporter(io.opentelemetry.sdk.metrics.export.MetricExporter) ConfigProperties(io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties) SpanExporter(io.opentelemetry.sdk.trace.export.SpanExporter) HashMap(java.util.HashMap) LogExporter(io.opentelemetry.sdk.logs.export.LogExporter) Test(org.junit.jupiter.api.Test)

Example 12 with LogExporter

use of io.opentelemetry.sdk.logs.export.LogExporter in project opentelemetry-java by open-telemetry.

the class OtlpHttpRetryTest method configureLogExporterRetryPolicy.

@Test
@SuppressLogger(OkHttpGrpcExporter.class)
void configureLogExporterRetryPolicy() {
    Map<String, String> props = new HashMap<>();
    props.put("otel.exporter.otlp.logs.protocol", "http/protobuf");
    props.put("otel.exporter.otlp.logs.endpoint", "https://localhost:" + server.httpsPort() + "/v1/logs");
    props.put("otel.exporter.otlp.logs.certificate", server.selfSignedCertificate.certificate().getPath());
    props.put("otel.experimental.exporter.otlp.retry.enabled", "true");
    try (LogExporter logExporter = LogExporterConfiguration.configureOtlpLogs(DefaultConfigProperties.createForTest(props), MeterProvider.noop())) {
        testRetryableStatusCodes(() -> LOG_DATA, logExporter::export, server.logRequests::size);
        testDefaultRetryPolicy(() -> LOG_DATA, logExporter::export, server.logRequests::size);
    }
}
Also used : HashMap(java.util.HashMap) LogExporter(io.opentelemetry.sdk.logs.export.LogExporter) SuppressLogger(io.opentelemetry.internal.testing.slf4j.SuppressLogger) Test(org.junit.jupiter.api.Test)

Example 13 with LogExporter

use of io.opentelemetry.sdk.logs.export.LogExporter in project opentelemetry-java by open-telemetry.

the class OtlpExporterIntegrationTest method testOtlpHttpLogExport.

@ParameterizedTest
@ValueSource(strings = { "gzip", "none" })
void testOtlpHttpLogExport(String compression) {
    LogExporter otlpHttpLogExporter = OtlpHttpLogExporter.builder().setEndpoint("http://" + collector.getHost() + ":" + collector.getMappedPort(COLLECTOR_OTLP_HTTP_PORT) + "/v1/logs").setCompression(compression).build();
    testLogExporter(otlpHttpLogExporter);
}
Also used : OtlpHttpLogExporter(io.opentelemetry.exporter.otlp.http.logs.OtlpHttpLogExporter) LogExporter(io.opentelemetry.sdk.logs.export.LogExporter) OtlpGrpcLogExporter(io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogExporter) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 14 with LogExporter

use of io.opentelemetry.sdk.logs.export.LogExporter in project opentelemetry-java by open-telemetry.

the class OtlpExporterIntegrationTest method testOtlpGrpcLogExport.

@ParameterizedTest
@ValueSource(strings = { "gzip", "none" })
void testOtlpGrpcLogExport(String compression) {
    LogExporter otlpGrpcLogExporter = OtlpGrpcLogExporter.builder().setEndpoint("http://" + collector.getHost() + ":" + collector.getMappedPort(COLLECTOR_OTLP_GRPC_PORT)).setCompression(compression).build();
    testLogExporter(otlpGrpcLogExporter);
}
Also used : OtlpHttpLogExporter(io.opentelemetry.exporter.otlp.http.logs.OtlpHttpLogExporter) LogExporter(io.opentelemetry.sdk.logs.export.LogExporter) OtlpGrpcLogExporter(io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogExporter) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 15 with LogExporter

use of io.opentelemetry.sdk.logs.export.LogExporter in project splunk-otel-java by signalfx.

the class LogExporterBuilderTest method testBuildSimple.

@Test
void testBuildSimple() {
    Config config = mock(Config.class);
    OtlpGrpcLogExporterBuilder builder = mock(OtlpGrpcLogExporterBuilder.class);
    OtlpGrpcLogExporter expected = mock(OtlpGrpcLogExporter.class);
    when(builder.addHeader(EXTRA_CONTENT_TYPE, STACKTRACES_HEADER_VALUE)).thenReturn(builder);
    when(builder.build()).thenReturn(expected);
    LogExporter exporter = LogExporterBuilder.fromConfig(config, () -> builder);
    assertSame(expected, exporter);
    verify(builder, never()).setEndpoint(anyString());
}
Also used : Config(io.opentelemetry.instrumentation.api.config.Config) LogExporter(io.opentelemetry.sdk.logs.export.LogExporter) OtlpGrpcLogExporter(io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogExporter) OtlpGrpcLogExporterBuilder(io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogExporterBuilder) OtlpGrpcLogExporter(io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogExporter) Test(org.junit.jupiter.api.Test)

Aggregations

LogExporter (io.opentelemetry.sdk.logs.export.LogExporter)15 HashMap (java.util.HashMap)9 Test (org.junit.jupiter.api.Test)9 OtlpGrpcLogExporter (io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogExporter)7 OtlpHttpLogExporter (io.opentelemetry.exporter.otlp.http.logs.OtlpHttpLogExporter)4 SystemOutLogExporter (io.opentelemetry.exporter.logging.SystemOutLogExporter)3 OtlpGrpcLogExporterBuilder (io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogExporterBuilder)3 ConfigProperties (io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties)3 Config (io.opentelemetry.instrumentation.api.config.Config)2 SuppressLogger (io.opentelemetry.internal.testing.slf4j.SuppressLogger)2 ConfigurationException (io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException)2 SimpleLogProcessor (io.opentelemetry.sdk.logs.export.SimpleLogProcessor)2 MetricExporter (io.opentelemetry.sdk.metrics.export.MetricExporter)2 SpanExporter (io.opentelemetry.sdk.trace.export.SpanExporter)2 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)2 ValueSource (org.junit.jupiter.params.provider.ValueSource)2 BatchingLogsProcessor (com.splunk.opentelemetry.logs.BatchingLogsProcessor)1 SpanContextualizer (com.splunk.opentelemetry.profiler.context.SpanContextualizer)1 EventPeriods (com.splunk.opentelemetry.profiler.events.EventPeriods)1 MeterProvider (io.opentelemetry.api.metrics.MeterProvider)1