diff --git a/buildSrc/src/main/kotlin/otel.japicmp-conventions.gradle.kts b/buildSrc/src/main/kotlin/otel.japicmp-conventions.gradle.kts index 37b176efb7b..23c455e3cd2 100644 --- a/buildSrc/src/main/kotlin/otel.japicmp-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/otel.japicmp-conventions.gradle.kts @@ -38,6 +38,9 @@ class AllowDefaultMethodRule : AbstractRecordingSeenMembers() { if (isAbstractMethodOnAutoValue(member, change)) { continue } + if (isLogEmitterProvider(member)) { + continue + } if (!change.isSourceCompatible) { return Violation.error(member, "Not source compatible") } @@ -59,6 +62,19 @@ class AllowDefaultMethodRule : AbstractRecordingSeenMembers() { member is JApiMethod && member.getjApiClass().newClass.get().getAnnotation(AutoValue::class.java) != null } + + /** + * Check if the change is related to LogEmitterProvider name change to LoggerProvider. + */ + // TODO(jack-berg): remove after 1.19.0. + fun isLogEmitterProvider(member: JApiCompatibility): Boolean { + try { + return member is JApiMethod && + member.oldMethod.get().methodInfo.name.matches("(getSdk|set|add)LogEmitterProvider(.*)".toRegex()) + } catch (e: IllegalStateException) { + return false + } + } } /** diff --git a/docs/apidiffs/current_vs_latest/opentelemetry-sdk-extension-autoconfigure-spi.txt b/docs/apidiffs/current_vs_latest/opentelemetry-sdk-extension-autoconfigure-spi.txt index df26146497b..cec2039f902 100644 --- a/docs/apidiffs/current_vs_latest/opentelemetry-sdk-extension-autoconfigure-spi.txt +++ b/docs/apidiffs/current_vs_latest/opentelemetry-sdk-extension-autoconfigure-spi.txt @@ -1,2 +1,5 @@ Comparing source compatibility of against -No changes. \ No newline at end of file +***! MODIFIED INTERFACE: PUBLIC ABSTRACT io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer (not serializable) + === CLASS FILE FORMAT VERSION: 52.0 <- 52.0 + ---! REMOVED METHOD: PUBLIC(-) io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer addLogEmitterProviderCustomizer(java.util.function.BiFunction) + +++ NEW METHOD: PUBLIC(+) io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer addLoggerProviderCustomizer(java.util.function.BiFunction) diff --git a/docs/apidiffs/current_vs_latest/opentelemetry-sdk.txt b/docs/apidiffs/current_vs_latest/opentelemetry-sdk.txt index df26146497b..dfdb2bcb9ec 100644 --- a/docs/apidiffs/current_vs_latest/opentelemetry-sdk.txt +++ b/docs/apidiffs/current_vs_latest/opentelemetry-sdk.txt @@ -1,2 +1,9 @@ Comparing source compatibility of against -No changes. \ No newline at end of file +***! MODIFIED CLASS: PUBLIC FINAL io.opentelemetry.sdk.OpenTelemetrySdk (not serializable) + === CLASS FILE FORMAT VERSION: 52.0 <- 52.0 + ---! REMOVED METHOD: PUBLIC(-) io.opentelemetry.sdk.logs.SdkLogEmitterProvider getSdkLogEmitterProvider() + +++ NEW METHOD: PUBLIC(+) io.opentelemetry.sdk.logs.SdkLoggerProvider getSdkLoggerProvider() +***! MODIFIED CLASS: PUBLIC FINAL io.opentelemetry.sdk.OpenTelemetrySdkBuilder (not serializable) + === CLASS FILE FORMAT VERSION: 52.0 <- 52.0 + ---! REMOVED METHOD: PUBLIC(-) io.opentelemetry.sdk.OpenTelemetrySdkBuilder setLogEmitterProvider(io.opentelemetry.sdk.logs.SdkLogEmitterProvider) + +++ NEW METHOD: PUBLIC(+) io.opentelemetry.sdk.OpenTelemetrySdkBuilder setLoggerProvider(io.opentelemetry.sdk.logs.SdkLoggerProvider) diff --git a/integration-tests/otlp/src/main/java/io/opentelemetry/integrationtest/OtlpExporterIntegrationTest.java b/integration-tests/otlp/src/main/java/io/opentelemetry/integrationtest/OtlpExporterIntegrationTest.java index ab0d4ae3e29..97ee30c094a 100644 --- a/integration-tests/otlp/src/main/java/io/opentelemetry/integrationtest/OtlpExporterIntegrationTest.java +++ b/integration-tests/otlp/src/main/java/io/opentelemetry/integrationtest/OtlpExporterIntegrationTest.java @@ -53,8 +53,8 @@ import io.opentelemetry.proto.trace.v1.ResourceSpans; import io.opentelemetry.proto.trace.v1.ScopeSpans; import io.opentelemetry.proto.trace.v1.Span.Link; -import io.opentelemetry.sdk.logs.LogEmitter; -import io.opentelemetry.sdk.logs.SdkLogEmitterProvider; +import io.opentelemetry.sdk.logs.Logger; +import io.opentelemetry.sdk.logs.SdkLoggerProvider; import io.opentelemetry.sdk.logs.data.Severity; import io.opentelemetry.sdk.logs.export.LogExporter; import io.opentelemetry.sdk.logs.export.SimpleLogProcessor; @@ -502,13 +502,13 @@ void testOtlpHttpLogExport_mtls() throws Exception { } private static void testLogExporter(LogExporter logExporter) { - SdkLogEmitterProvider logEmitterProvider = - SdkLogEmitterProvider.builder() + SdkLoggerProvider loggerProvider = + SdkLoggerProvider.builder() .setResource(RESOURCE) .addLogProcessor(SimpleLogProcessor.create(logExporter)) .build(); - LogEmitter logEmitter = logEmitterProvider.get(OtlpExporterIntegrationTest.class.getName()); + Logger logger = loggerProvider.get(OtlpExporterIntegrationTest.class.getName()); SpanContext spanContext = SpanContext.create( @@ -518,7 +518,7 @@ private static void testLogExporter(LogExporter logExporter) { TraceState.getDefault()); try (Scope unused = Span.wrap(spanContext).makeCurrent()) { - logEmitter + logger .logRecordBuilder() .setBody("log body") .setAllAttributes(Attributes.builder().put("key", "value").build()) @@ -530,7 +530,7 @@ private static void testLogExporter(LogExporter logExporter) { } // Closing triggers flush of processor - logEmitterProvider.close(); + loggerProvider.close(); await() .atMost(Duration.ofSeconds(30)) diff --git a/sdk-extensions/autoconfigure-spi/build.gradle.kts b/sdk-extensions/autoconfigure-spi/build.gradle.kts index 66dd7b32f04..a7e85be03b1 100644 --- a/sdk-extensions/autoconfigure-spi/build.gradle.kts +++ b/sdk-extensions/autoconfigure-spi/build.gradle.kts @@ -13,6 +13,6 @@ dependencies { // SdkMeterProviderBuilder. implementation(project(":sdk:metrics")) // implementation dependency to require users to add the artifact directly to their build to use - // SdkLogEmitterProviderBuilder. + // SdkLoggerProviderBuilder. implementation(project(":sdk:logs")) } diff --git a/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/AutoConfigurationCustomizer.java b/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/AutoConfigurationCustomizer.java index 85757fa9b9b..dd998441249 100644 --- a/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/AutoConfigurationCustomizer.java +++ b/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/AutoConfigurationCustomizer.java @@ -6,7 +6,7 @@ package io.opentelemetry.sdk.autoconfigure.spi; import io.opentelemetry.context.propagation.TextMapPropagator; -import io.opentelemetry.sdk.logs.SdkLogEmitterProviderBuilder; +import io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder; import io.opentelemetry.sdk.logs.export.LogExporter; import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder; import io.opentelemetry.sdk.metrics.export.MetricExporter; @@ -137,13 +137,13 @@ default AutoConfigurationCustomizer addMetricExporterCustomizer( } /** - * Adds a {@link BiFunction} to invoke the with the {@link SdkLogEmitterProviderBuilder} to allow + * Adds a {@link BiFunction} to invoke the with the {@link SdkLoggerProviderBuilder} to allow * customization. The return value of the {@link BiFunction} will replace the passed-in argument. * *

Multiple calls will execute the customizers in order. */ - default AutoConfigurationCustomizer addLogEmitterProviderCustomizer( - BiFunction + default AutoConfigurationCustomizer addLoggerProviderCustomizer( + BiFunction meterProviderCustomizer) { return this; } diff --git a/sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/AutoConfiguredOpenTelemetrySdkBuilder.java b/sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/AutoConfiguredOpenTelemetrySdkBuilder.java index 55791ed2a5b..c1fca9041d2 100644 --- a/sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/AutoConfiguredOpenTelemetrySdkBuilder.java +++ b/sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/AutoConfiguredOpenTelemetrySdkBuilder.java @@ -16,8 +16,8 @@ import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizerProvider; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.opentelemetry.sdk.common.CompletableResultCode; -import io.opentelemetry.sdk.logs.SdkLogEmitterProvider; -import io.opentelemetry.sdk.logs.SdkLogEmitterProviderBuilder; +import io.opentelemetry.sdk.logs.SdkLoggerProvider; +import io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder; import io.opentelemetry.sdk.logs.export.LogExporter; import io.opentelemetry.sdk.metrics.SdkMeterProvider; import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder; @@ -68,8 +68,8 @@ public final class AutoConfiguredOpenTelemetrySdkBuilder implements AutoConfigur private BiFunction metricExporterCustomizer = (a, unused) -> a; - private BiFunction - logEmitterProviderCustomizer = (a, unused) -> a; + private BiFunction + loggerProviderCustomizer = (a, unused) -> a; private BiFunction logExporterCustomizer = (a, unused) -> a; @@ -246,18 +246,18 @@ public AutoConfiguredOpenTelemetrySdkBuilder addMetricExporterCustomizer( } /** - * Adds a {@link BiFunction} to invoke the with the {@link SdkLogEmitterProviderBuilder} to allow + * Adds a {@link BiFunction} to invoke the with the {@link SdkLoggerProviderBuilder} to allow * customization. The return value of the {@link BiFunction} will replace the passed-in argument. * *

Multiple calls will execute the customizers in order. */ @Override - public AutoConfiguredOpenTelemetrySdkBuilder addLogEmitterProviderCustomizer( - BiFunction - logEmitterProviderCustomizer) { - requireNonNull(logEmitterProviderCustomizer, "logEmitterProviderCustomizer"); - this.logEmitterProviderCustomizer = - mergeCustomizer(this.logEmitterProviderCustomizer, logEmitterProviderCustomizer); + public AutoConfiguredOpenTelemetrySdkBuilder addLoggerProviderCustomizer( + BiFunction + loggerProviderCustomizer) { + requireNonNull(loggerProviderCustomizer, "loggerProviderCustomizer"); + this.loggerProviderCustomizer = + mergeCustomizer(this.loggerProviderCustomizer, loggerProviderCustomizer); return this; } @@ -352,17 +352,12 @@ public AutoConfiguredOpenTelemetrySdk build() { tracerProviderBuilder = tracerProviderCustomizer.apply(tracerProviderBuilder, config); SdkTracerProvider tracerProvider = tracerProviderBuilder.build(); - SdkLogEmitterProviderBuilder logEmitterProviderBuilder = SdkLogEmitterProvider.builder(); - logEmitterProviderBuilder.setResource(resource); - LogEmitterProviderConfiguration.configureLogEmitterProvider( - logEmitterProviderBuilder, - config, - serviceClassLoader, - meterProvider, - logExporterCustomizer); - logEmitterProviderBuilder = - logEmitterProviderCustomizer.apply(logEmitterProviderBuilder, config); - SdkLogEmitterProvider logEmitterProvider = logEmitterProviderBuilder.build(); + SdkLoggerProviderBuilder loggerProviderBuilder = SdkLoggerProvider.builder(); + loggerProviderBuilder.setResource(resource); + LoggerProviderConfiguration.configureLoggerProvider( + loggerProviderBuilder, config, serviceClassLoader, meterProvider, logExporterCustomizer); + loggerProviderBuilder = loggerProviderCustomizer.apply(loggerProviderBuilder, config); + SdkLoggerProvider loggerProvider = loggerProviderBuilder.build(); if (registerShutdownHook) { Runtime.getRuntime() @@ -372,7 +367,7 @@ public AutoConfiguredOpenTelemetrySdk build() { List shutdown = new ArrayList<>(); shutdown.add(tracerProvider.shutdown()); shutdown.add(meterProvider.shutdown()); - shutdown.add(logEmitterProvider.shutdown()); + shutdown.add(loggerProvider.shutdown()); CompletableResultCode.ofAll(shutdown).join(10, TimeUnit.SECONDS); })); } @@ -384,7 +379,7 @@ public AutoConfiguredOpenTelemetrySdk build() { OpenTelemetrySdkBuilder sdkBuilder = OpenTelemetrySdk.builder() .setTracerProvider(tracerProvider) - .setLogEmitterProvider(logEmitterProvider) + .setLoggerProvider(loggerProvider) .setMeterProvider(meterProvider) .setPropagators(propagators); diff --git a/sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/LogEmitterProviderConfiguration.java b/sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/LoggerProviderConfiguration.java similarity index 86% rename from sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/LogEmitterProviderConfiguration.java rename to sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/LoggerProviderConfiguration.java index dbc32d96445..b3668ecea54 100644 --- a/sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/LogEmitterProviderConfiguration.java +++ b/sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/LoggerProviderConfiguration.java @@ -12,7 +12,7 @@ import io.opentelemetry.sdk.logs.LogLimits; import io.opentelemetry.sdk.logs.LogLimitsBuilder; import io.opentelemetry.sdk.logs.LogProcessor; -import io.opentelemetry.sdk.logs.SdkLogEmitterProviderBuilder; +import io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder; import io.opentelemetry.sdk.logs.export.BatchLogProcessor; import io.opentelemetry.sdk.logs.export.LogExporter; import io.opentelemetry.sdk.logs.export.SimpleLogProcessor; @@ -22,23 +22,23 @@ import java.util.Map; import java.util.function.BiFunction; -final class LogEmitterProviderConfiguration { +final class LoggerProviderConfiguration { - static void configureLogEmitterProvider( - SdkLogEmitterProviderBuilder logEmitterProviderBuilder, + static void configureLoggerProvider( + SdkLoggerProviderBuilder loggerProviderBuilder, ConfigProperties config, ClassLoader serviceClassLoader, MeterProvider meterProvider, BiFunction logExporterCustomizer) { - logEmitterProviderBuilder.setLogLimits(() -> configureLogLimits(config)); + loggerProviderBuilder.setLogLimits(() -> configureLogLimits(config)); Map exportersByName = configureLogExporters(config, serviceClassLoader, meterProvider, logExporterCustomizer); configureLogProcessors(exportersByName, meterProvider) - .forEach(logEmitterProviderBuilder::addLogProcessor); + .forEach(loggerProviderBuilder::addLogProcessor); } // Visible for testing @@ -78,5 +78,5 @@ static LogLimits configureLogLimits(ConfigProperties config) { return builder.build(); } - private LogEmitterProviderConfiguration() {} + private LoggerProviderConfiguration() {} } diff --git a/sdk-extensions/autoconfigure/src/test/java/io/opentelemetry/sdk/autoconfigure/AutoConfiguredOpenTelemetrySdkTest.java b/sdk-extensions/autoconfigure/src/test/java/io/opentelemetry/sdk/autoconfigure/AutoConfiguredOpenTelemetrySdkTest.java index 732e44023d6..c4b286b165e 100644 --- a/sdk-extensions/autoconfigure/src/test/java/io/opentelemetry/sdk/autoconfigure/AutoConfiguredOpenTelemetrySdkTest.java +++ b/sdk-extensions/autoconfigure/src/test/java/io/opentelemetry/sdk/autoconfigure/AutoConfiguredOpenTelemetrySdkTest.java @@ -28,8 +28,8 @@ import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.opentelemetry.sdk.common.CompletableResultCode; import io.opentelemetry.sdk.logs.LogProcessor; -import io.opentelemetry.sdk.logs.SdkLogEmitterProvider; -import io.opentelemetry.sdk.logs.SdkLogEmitterProviderBuilder; +import io.opentelemetry.sdk.logs.SdkLoggerProvider; +import io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder; import io.opentelemetry.sdk.metrics.SdkMeterProvider; import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder; import io.opentelemetry.sdk.metrics.export.MetricReader; @@ -264,19 +264,19 @@ void builder_addMeterProviderCustomizer() { // TODO: add test for addMetricExporterCustomizer once OTLP export is enabled by default @Test - void builder_addLogEmitterProviderCustomizer() { + void builder_addLoggerProviderCustomizer() { Mockito.lenient().when(logProcessor.shutdown()).thenReturn(CompletableResultCode.ofSuccess()); when(logProcessor.forceFlush()).thenReturn(CompletableResultCode.ofSuccess()); - SdkLogEmitterProvider sdkLogEmitterProvider = + SdkLoggerProvider sdkLoggerProvider = builder - .addLogEmitterProviderCustomizer( - (logEmitterProviderBuilder, configProperties) -> - logEmitterProviderBuilder.addLogProcessor(logProcessor)) + .addLoggerProviderCustomizer( + (loggerProviderBuilder, configProperties) -> + loggerProviderBuilder.addLogProcessor(logProcessor)) .build() .getOpenTelemetrySdk() - .getSdkLogEmitterProvider(); - sdkLogEmitterProvider.forceFlush().join(10, TimeUnit.SECONDS); + .getSdkLoggerProvider(); + sdkLoggerProvider.forceFlush().join(10, TimeUnit.SECONDS); verify(logProcessor).forceFlush(); } @@ -331,26 +331,22 @@ public SdkMeterProviderBuilder apply( return builder; } }); - BiFunction - logCustomizer = - spy( - new BiFunction< - SdkLogEmitterProviderBuilder, - ConfigProperties, - SdkLogEmitterProviderBuilder>() { - @Override - public SdkLogEmitterProviderBuilder apply( - SdkLogEmitterProviderBuilder builder, ConfigProperties config) { - return builder; - } - }); + BiFunction logCustomizer = + spy( + new BiFunction() { + @Override + public SdkLoggerProviderBuilder apply( + SdkLoggerProviderBuilder builder, ConfigProperties config) { + return builder; + } + }); AutoConfiguredOpenTelemetrySdk autoConfiguredSdk = AutoConfiguredOpenTelemetrySdk.builder() .addPropertiesSupplier(() -> singletonMap("otel.experimental.sdk.enabled", "false")) .addTracerProviderCustomizer(traceCustomizer) .addMeterProviderCustomizer(metricCustomizer) - .addLogEmitterProviderCustomizer(logCustomizer) + .addLoggerProviderCustomizer(logCustomizer) .build(); assertThat(autoConfiguredSdk.getOpenTelemetrySdk()).isInstanceOf(OpenTelemetrySdk.class); diff --git a/sdk-extensions/autoconfigure/src/test/java/io/opentelemetry/sdk/autoconfigure/LogEmitterProviderConfigurationTest.java b/sdk-extensions/autoconfigure/src/test/java/io/opentelemetry/sdk/autoconfigure/LoggerProviderConfigurationTest.java similarity index 79% rename from sdk-extensions/autoconfigure/src/test/java/io/opentelemetry/sdk/autoconfigure/LogEmitterProviderConfigurationTest.java rename to sdk-extensions/autoconfigure/src/test/java/io/opentelemetry/sdk/autoconfigure/LoggerProviderConfigurationTest.java index c08ac94b481..1bcb1704bff 100644 --- a/sdk-extensions/autoconfigure/src/test/java/io/opentelemetry/sdk/autoconfigure/LogEmitterProviderConfigurationTest.java +++ b/sdk-extensions/autoconfigure/src/test/java/io/opentelemetry/sdk/autoconfigure/LoggerProviderConfigurationTest.java @@ -13,8 +13,8 @@ import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.opentelemetry.sdk.logs.LogLimits; import io.opentelemetry.sdk.logs.LogProcessor; -import io.opentelemetry.sdk.logs.SdkLogEmitterProvider; -import io.opentelemetry.sdk.logs.SdkLogEmitterProviderBuilder; +import io.opentelemetry.sdk.logs.SdkLoggerProvider; +import io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder; import io.opentelemetry.sdk.trace.SpanLimits; import java.util.Collections; import java.util.Map; @@ -22,13 +22,13 @@ import org.assertj.core.api.InstanceOfAssertFactories; import org.junit.jupiter.api.Test; -class LogEmitterProviderConfigurationTest { +class LoggerProviderConfigurationTest { private static final ConfigProperties EMPTY = DefaultConfigProperties.createForTest(Collections.emptyMap()); @Test - void configureLogEmitterProvider() { + void configureLoggerProvider() { Map properties = ImmutableMap.of( "otel.logs.exporter", "none", @@ -36,17 +36,17 @@ void configureLogEmitterProvider() { // We don't have any exporters on classpath for this test so check no-op case. Exporter cases // are verified in other test sets like testFullConfig. - SdkLogEmitterProviderBuilder builder = SdkLogEmitterProvider.builder(); - LogEmitterProviderConfiguration.configureLogEmitterProvider( + SdkLoggerProviderBuilder builder = SdkLoggerProvider.builder(); + LoggerProviderConfiguration.configureLoggerProvider( builder, DefaultConfigProperties.createForTest(properties), - LogEmitterProviderConfiguration.class.getClassLoader(), + LoggerProviderConfiguration.class.getClassLoader(), MeterProvider.noop(), (a, unused) -> a); - SdkLogEmitterProvider logEmitterProvider = builder.build(); + SdkLoggerProvider loggerProvider = builder.build(); try { - assertThat(logEmitterProvider) + assertThat(loggerProvider) .extracting("sharedState") .satisfies( sharedState -> { @@ -60,13 +60,13 @@ void configureLogEmitterProvider() { .isEqualTo(LogLimits.builder().setMaxNumberOfAttributes(5).build()); }); } finally { - logEmitterProvider.shutdown(); + loggerProvider.shutdown(); } } @Test void configureSpanLimits() { - assertThat(LogEmitterProviderConfiguration.configureLogLimits(EMPTY)) + assertThat(LoggerProviderConfiguration.configureLogLimits(EMPTY)) .isEqualTo(LogLimits.getDefault()); SpanLimits config = diff --git a/sdk-extensions/autoconfigure/src/testFullConfig/java/io/opentelemetry/sdk/autoconfigure/FullConfigTest.java b/sdk-extensions/autoconfigure/src/testFullConfig/java/io/opentelemetry/sdk/autoconfigure/FullConfigTest.java index 59dc3e63225..143579bda4d 100644 --- a/sdk-extensions/autoconfigure/src/testFullConfig/java/io/opentelemetry/sdk/autoconfigure/FullConfigTest.java +++ b/sdk-extensions/autoconfigure/src/testFullConfig/java/io/opentelemetry/sdk/autoconfigure/FullConfigTest.java @@ -39,7 +39,7 @@ import io.opentelemetry.proto.metrics.v1.Metric; import io.opentelemetry.proto.metrics.v1.ResourceMetrics; import io.opentelemetry.proto.metrics.v1.ScopeMetrics; -import io.opentelemetry.sdk.logs.LogEmitter; +import io.opentelemetry.sdk.logs.Logger; import io.opentelemetry.sdk.logs.data.Severity; import java.util.ArrayList; import java.util.Collection; @@ -155,7 +155,7 @@ void setUp() { System.setProperty("otel.exporter.otlp.endpoint", endpoint); System.setProperty("otel.exporter.otlp.timeout", "10000"); - // Initialize here so we get SdkLogEmitterProvider and shutdown when done + // Initialize here so we get SdkLoggerProvider and shutdown when done autoConfiguredOpenTelemetrySdk = AutoConfiguredOpenTelemetrySdk.initialize(); } @@ -168,7 +168,7 @@ void afterEach() { .join(10, TimeUnit.SECONDS); autoConfiguredOpenTelemetrySdk .getOpenTelemetrySdk() - .getSdkLogEmitterProvider() + .getSdkLoggerProvider() .shutdown() .join(10, TimeUnit.SECONDS); autoConfiguredOpenTelemetrySdk @@ -211,10 +211,10 @@ void configures() throws Exception { .add(1, Attributes.builder().put("allowed", "bear").put("not allowed", "dog").build()); meter.counterBuilder("my-other-metric").build().add(1); - LogEmitter logEmitter = - autoConfiguredOpenTelemetrySdk.getOpenTelemetrySdk().getSdkLogEmitterProvider().get("test"); - logEmitter.logRecordBuilder().setBody("debug log message").setSeverity(Severity.DEBUG).emit(); - logEmitter.logRecordBuilder().setBody("info log message").setSeverity(Severity.INFO).emit(); + Logger logger = + autoConfiguredOpenTelemetrySdk.getOpenTelemetrySdk().getSdkLoggerProvider().get("test"); + logger.logRecordBuilder().setBody("debug log message").setSeverity(Severity.DEBUG).emit(); + logger.logRecordBuilder().setBody("info log message").setSeverity(Severity.INFO).emit(); await().untilAsserted(() -> assertThat(otlpTraceRequests).hasSize(1)); diff --git a/sdk-extensions/autoconfigure/src/testFullConfig/java/io/opentelemetry/sdk/autoconfigure/LogEmitterProviderConfigurationTest.java b/sdk-extensions/autoconfigure/src/testFullConfig/java/io/opentelemetry/sdk/autoconfigure/LoggerProviderConfigurationTest.java similarity index 81% rename from sdk-extensions/autoconfigure/src/testFullConfig/java/io/opentelemetry/sdk/autoconfigure/LogEmitterProviderConfigurationTest.java rename to sdk-extensions/autoconfigure/src/testFullConfig/java/io/opentelemetry/sdk/autoconfigure/LoggerProviderConfigurationTest.java index 658ce2cfdb9..851425ae715 100644 --- a/sdk-extensions/autoconfigure/src/testFullConfig/java/io/opentelemetry/sdk/autoconfigure/LogEmitterProviderConfigurationTest.java +++ b/sdk-extensions/autoconfigure/src/testFullConfig/java/io/opentelemetry/sdk/autoconfigure/LoggerProviderConfigurationTest.java @@ -11,8 +11,8 @@ import io.opentelemetry.api.metrics.MeterProvider; import io.opentelemetry.exporter.logging.SystemOutLogExporter; import io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogExporter; -import io.opentelemetry.sdk.logs.SdkLogEmitterProvider; -import io.opentelemetry.sdk.logs.SdkLogEmitterProviderBuilder; +import io.opentelemetry.sdk.logs.SdkLoggerProvider; +import io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder; import io.opentelemetry.sdk.logs.export.BatchLogProcessor; import io.opentelemetry.sdk.logs.export.LogExporter; import io.opentelemetry.sdk.logs.export.SimpleLogProcessor; @@ -22,23 +22,23 @@ import java.util.concurrent.TimeUnit; import org.junit.jupiter.api.Test; -class LogEmitterProviderConfigurationTest { +class LoggerProviderConfigurationTest { @Test - void configureLogEmitterProvider() { + void configureLoggerProvider() { Map properties = Collections.singletonMap("otel.logs.exporter", "otlp"); - SdkLogEmitterProviderBuilder builder = SdkLogEmitterProvider.builder(); - LogEmitterProviderConfiguration.configureLogEmitterProvider( + SdkLoggerProviderBuilder builder = SdkLoggerProvider.builder(); + LoggerProviderConfiguration.configureLoggerProvider( builder, DefaultConfigProperties.createForTest(properties), - LogEmitterProviderConfiguration.class.getClassLoader(), + LoggerProviderConfiguration.class.getClassLoader(), MeterProvider.noop(), (a, unused) -> a); - SdkLogEmitterProvider logEmitterProvider = builder.build(); + SdkLoggerProvider loggerProvider = builder.build(); try { - assertThat(logEmitterProvider) + assertThat(loggerProvider) .extracting("sharedState") .satisfies( sharedState -> @@ -62,7 +62,7 @@ void configureLogEmitterProvider() { queue -> assertThat(queue.remainingCapacity()).isEqualTo(2048)); })); } finally { - logEmitterProvider.shutdown(); + loggerProvider.shutdown(); } } @@ -72,7 +72,7 @@ void configureSpanProcessors_multipleExportersWithLogging() { LogExporter otlpExporter = OtlpGrpcLogExporter.builder().build(); assertThat( - LogEmitterProviderConfiguration.configureLogProcessors( + LoggerProviderConfiguration.configureLogProcessors( ImmutableMap.of("logging", loggingExporter, "otlp", otlpExporter), MeterProvider.noop())) .hasSize(2) diff --git a/sdk-extensions/autoconfigure/src/testOtlp/java/io/opentelemetry/sdk/autoconfigure/OtlpGrpcConfigTest.java b/sdk-extensions/autoconfigure/src/testOtlp/java/io/opentelemetry/sdk/autoconfigure/OtlpGrpcConfigTest.java index 707a56a5811..05782769751 100644 --- a/sdk-extensions/autoconfigure/src/testOtlp/java/io/opentelemetry/sdk/autoconfigure/OtlpGrpcConfigTest.java +++ b/sdk-extensions/autoconfigure/src/testOtlp/java/io/opentelemetry/sdk/autoconfigure/OtlpGrpcConfigTest.java @@ -347,7 +347,7 @@ static void shutdownGlobalSdk() { OpenTelemetrySdk sdk = ((OpenTelemetrySdk) delegate); sdk.getSdkTracerProvider().shutdown().join(10, TimeUnit.SECONDS); sdk.getSdkMeterProvider().shutdown().join(10, TimeUnit.SECONDS); - sdk.getSdkLogEmitterProvider().shutdown().join(10, TimeUnit.SECONDS); + sdk.getSdkLoggerProvider().shutdown().join(10, TimeUnit.SECONDS); } } catch (NoSuchFieldException | IllegalAccessException | ClassNotFoundException e) { throw new IllegalStateException("Error shutting down global SDK.", e); diff --git a/sdk/all/build.gradle.kts b/sdk/all/build.gradle.kts index 2aa81a4300b..5f711c8c3a6 100644 --- a/sdk/all/build.gradle.kts +++ b/sdk/all/build.gradle.kts @@ -17,7 +17,7 @@ dependencies { api(project(":sdk:metrics")) // implementation dependency to require users to add the artifact directly to their build to use - // SdkLogEmitterProvider. + // SdkLoggerProvider. implementation(project(":sdk:logs")) annotationProcessor("com.google.auto.value:auto-value") diff --git a/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdk.java b/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdk.java index a277eded172..04417f0d3ec 100644 --- a/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdk.java +++ b/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdk.java @@ -12,7 +12,7 @@ import io.opentelemetry.api.trace.TracerBuilder; import io.opentelemetry.api.trace.TracerProvider; import io.opentelemetry.context.propagation.ContextPropagators; -import io.opentelemetry.sdk.logs.SdkLogEmitterProvider; +import io.opentelemetry.sdk.logs.SdkLoggerProvider; import io.opentelemetry.sdk.metrics.SdkMeterProvider; import io.opentelemetry.sdk.trace.SdkTracerProvider; import javax.annotation.concurrent.ThreadSafe; @@ -22,17 +22,17 @@ public final class OpenTelemetrySdk implements OpenTelemetry { private final ObfuscatedTracerProvider tracerProvider; private final ObfuscatedMeterProvider meterProvider; - private final SdkLogEmitterProvider logEmitterProvider; + private final SdkLoggerProvider loggerProvider; private final ContextPropagators propagators; OpenTelemetrySdk( SdkTracerProvider tracerProvider, SdkMeterProvider meterProvider, - SdkLogEmitterProvider logEmitterProvider, + SdkLoggerProvider loggerProvider, ContextPropagators propagators) { this.tracerProvider = new ObfuscatedTracerProvider(tracerProvider); this.meterProvider = new ObfuscatedMeterProvider(meterProvider); - this.logEmitterProvider = logEmitterProvider; + this.loggerProvider = loggerProvider; this.propagators = propagators; } @@ -64,9 +64,9 @@ public SdkMeterProvider getSdkMeterProvider() { return meterProvider.unobfuscate(); } - /** Returns the {@link SdkLogEmitterProvider} for this {@link OpenTelemetrySdk}. */ - public SdkLogEmitterProvider getSdkLogEmitterProvider() { - return logEmitterProvider; + /** Returns the {@link SdkLoggerProvider} for this {@link OpenTelemetrySdk}. */ + public SdkLoggerProvider getSdkLoggerProvider() { + return loggerProvider; } @Override diff --git a/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java b/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java index d03cfd495f2..a7d13dfb84c 100644 --- a/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java +++ b/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java @@ -7,7 +7,8 @@ import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.context.propagation.ContextPropagators; -import io.opentelemetry.sdk.logs.SdkLogEmitterProvider; +import io.opentelemetry.sdk.logs.SdkLoggerProvider; +import io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder; import io.opentelemetry.sdk.metrics.SdkMeterProvider; import io.opentelemetry.sdk.trace.SdkTracerProvider; import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder; @@ -19,7 +20,7 @@ public final class OpenTelemetrySdkBuilder { private ContextPropagators propagators = ContextPropagators.noop(); @Nullable private SdkTracerProvider tracerProvider; @Nullable private SdkMeterProvider meterProvider; - @Nullable private SdkLogEmitterProvider logEmitterProvider; + @Nullable private SdkLoggerProvider loggerProvider; /** * Package protected to disallow direct initialization. @@ -52,14 +53,13 @@ public OpenTelemetrySdkBuilder setMeterProvider(SdkMeterProvider meterProvider) } /** - * Sets the {@link SdkLogEmitterProvider} to use. This can be used to configure log settings by - * returning the instance created by a {@link - * io.opentelemetry.sdk.logs.SdkLogEmitterProviderBuilder}. + * Sets the {@link SdkLoggerProvider} to use. This can be used to configure log settings by + * returning the instance created by a {@link SdkLoggerProviderBuilder}. * - * @see SdkLogEmitterProvider#builder() + * @see SdkLoggerProvider#builder() */ - public OpenTelemetrySdkBuilder setLogEmitterProvider(SdkLogEmitterProvider logEmitterProvider) { - this.logEmitterProvider = logEmitterProvider; + public OpenTelemetrySdkBuilder setLoggerProvider(SdkLoggerProvider loggerProvider) { + this.loggerProvider = loggerProvider; return this; } @@ -105,11 +105,11 @@ public OpenTelemetrySdk build() { meterProvider = SdkMeterProvider.builder().build(); } - SdkLogEmitterProvider logEmitterProvider = this.logEmitterProvider; - if (logEmitterProvider == null) { - logEmitterProvider = SdkLogEmitterProvider.builder().build(); + SdkLoggerProvider loggerProvider = this.loggerProvider; + if (loggerProvider == null) { + loggerProvider = SdkLoggerProvider.builder().build(); } - return new OpenTelemetrySdk(tracerProvider, meterProvider, logEmitterProvider, propagators); + return new OpenTelemetrySdk(tracerProvider, meterProvider, loggerProvider, propagators); } } diff --git a/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java b/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java index 2d8e7b19284..a65080bb6c7 100644 --- a/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java +++ b/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java @@ -18,7 +18,7 @@ import io.opentelemetry.context.propagation.ContextPropagators; import io.opentelemetry.context.propagation.TextMapPropagator; import io.opentelemetry.sdk.common.Clock; -import io.opentelemetry.sdk.logs.SdkLogEmitterProvider; +import io.opentelemetry.sdk.logs.SdkLoggerProvider; import io.opentelemetry.sdk.metrics.Aggregation; import io.opentelemetry.sdk.metrics.InstrumentSelector; import io.opentelemetry.sdk.metrics.InstrumentType; @@ -46,7 +46,7 @@ class OpenTelemetrySdkTest { @Mock private MetricExporter metricExporter; @Mock private SdkTracerProvider tracerProvider; @Mock private SdkMeterProvider meterProvider; - @Mock private SdkLogEmitterProvider logEmitterProvider; + @Mock private SdkLoggerProvider loggerProvider; @Mock private ContextPropagators propagators; @AfterEach @@ -107,7 +107,7 @@ void builder() { OpenTelemetrySdk.builder() .setTracerProvider(tracerProvider) .setMeterProvider(meterProvider) - .setLogEmitterProvider(logEmitterProvider) + .setLoggerProvider(loggerProvider) .setPropagators(propagators) .build(); assertThat( @@ -119,7 +119,7 @@ void builder() { ((OpenTelemetrySdk.ObfuscatedMeterProvider) openTelemetry.getMeterProvider()) .unobfuscate()) .isEqualTo(meterProvider); - assertThat(openTelemetry.getSdkLogEmitterProvider()).isEqualTo(logEmitterProvider); + assertThat(openTelemetry.getSdkLoggerProvider()).isEqualTo(loggerProvider); assertThat(openTelemetry.getPropagators()).isEqualTo(propagators); } diff --git a/sdk/logs/build.gradle.kts b/sdk/logs/build.gradle.kts index 77e998655c8..57dc20c30d4 100644 --- a/sdk/logs/build.gradle.kts +++ b/sdk/logs/build.gradle.kts @@ -5,7 +5,7 @@ plugins { id("otel.animalsniffer-conventions") } -description = "OpenTelemetry Contrib Logging Support" +description = "OpenTelemetry Log SDK" otelJava.moduleName.set("io.opentelemetry.sdk.logs") dependencies { diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogLimits.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogLimits.java index cd34e7615fd..d25190fbfc3 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogLimits.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogLimits.java @@ -14,9 +14,8 @@ * Class that holds limits enforced during log recording. * *

Note: To allow dynamic updates of {@link LogLimits} you should register a {@link - * java.util.function.Supplier} with {@link - * io.opentelemetry.sdk.logs.SdkLogEmitterProviderBuilder#setLogLimits(Supplier)} which supplies - * dynamic configs when queried. + * java.util.function.Supplier} with {@link SdkLoggerProviderBuilder#setLogLimits(Supplier)} which + * supplies dynamic configs when queried. */ @AutoValue @Immutable diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogProcessor.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogProcessor.java index a31e67b1e35..913e7a010a8 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogProcessor.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogProcessor.java @@ -15,7 +15,7 @@ /** * {@link LogProcessor} is the interface to allow synchronous hooks for log records emitted by - * {@link LogEmitter}s. + * {@link Logger}s. */ @ThreadSafe public interface LogProcessor extends Closeable { @@ -47,7 +47,7 @@ static LogProcessor composite(Iterable processors) { } /** - * Called when a {@link LogEmitter} {@link LogRecordBuilder#emit()}s a log record. + * Called when a {@link Logger} {@link LogRecordBuilder#emit()}s a log record. * * @param logRecord the log record */ diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogRecordBuilder.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogRecordBuilder.java index e1d5c2a463f..03e2befcf8a 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogRecordBuilder.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogRecordBuilder.java @@ -13,10 +13,10 @@ import java.util.concurrent.TimeUnit; /** - * Used to construct and emit logs from a {@link LogEmitter}. + * Used to construct and emit logs from a {@link Logger}. * - *

Obtain a {@link LogEmitter#logRecordBuilder()}, add properties using the setters, and emit the - * log to downstream {@link LogProcessor}(s) by calling {@link #emit()}. + *

Obtain a {@link Logger#logRecordBuilder()}, add properties using the setters, and emit the log + * to downstream {@link LogProcessor}(s) by calling {@link #emit()}. */ public interface LogRecordBuilder { diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogEmitter.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/Logger.java similarity index 87% rename from sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogEmitter.java rename to sdk/logs/src/main/java/io/opentelemetry/sdk/logs/Logger.java index 451a175b52b..81844ce1cb4 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogEmitter.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/Logger.java @@ -8,13 +8,13 @@ import javax.annotation.concurrent.ThreadSafe; /** - * A {@link LogEmitter} is the entry point into a log pipeline. + * A {@link Logger} is the entry point into a log pipeline. * *

Obtain a {@link #logRecordBuilder()}, add properties using the setters, and emit it to * downstream {@link LogProcessor}(s) via {@link LogRecordBuilder#emit()}. */ @ThreadSafe -public interface LogEmitter { +public interface Logger { /** * Return a {@link LogRecordBuilder} to emit a log record. diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogEmitterBuilder.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LoggerBuilder.java similarity index 54% rename from sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogEmitterBuilder.java rename to sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LoggerBuilder.java index fc055ab2a43..d725d8cbd87 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogEmitterBuilder.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LoggerBuilder.java @@ -5,29 +5,29 @@ package io.opentelemetry.sdk.logs; -/** Builder class for creating {@link LogEmitter} instances. */ -public interface LogEmitterBuilder { +/** Builder class for creating {@link Logger} instances. */ +public interface LoggerBuilder { /** - * Assign an OpenTelemetry schema URL to the resulting {@link LogEmitter}. + * Assign an OpenTelemetry schema URL to the resulting {@link Logger}. * * @param schemaUrl the URL of the OpenTelemetry schema being used by this instrumentation scope * @return this */ - LogEmitterBuilder setSchemaUrl(String schemaUrl); + LoggerBuilder setSchemaUrl(String schemaUrl); /** - * Assign a version to the instrumentation scope that is using the resulting {@link LogEmitter}. + * Assign a version to the instrumentation scope that is using the resulting {@link Logger}. * * @param instrumentationScopeVersion the version of the instrumentation scope * @return this */ - LogEmitterBuilder setInstrumentationVersion(String instrumentationScopeVersion); + LoggerBuilder setInstrumentationVersion(String instrumentationScopeVersion); /** - * Gets or creates a {@link LogEmitter} instance. + * Gets or creates a {@link Logger} instance. * - * @return a log emitter instance configured with the provided options + * @return a logger instance configured with the provided options */ - LogEmitter build(); + Logger build(); } diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogEmitterSharedState.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LoggerSharedState.java similarity index 88% rename from sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogEmitterSharedState.java rename to sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LoggerSharedState.java index cbf9ec07eb6..6ffcf8f094a 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LogEmitterSharedState.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/LoggerSharedState.java @@ -12,10 +12,10 @@ import javax.annotation.Nullable; /** - * Represents shared state and config between all {@link SdkLogEmitter}s created by the same {@link - * SdkLogEmitterProvider}. + * Represents shared state and config between all {@link SdkLogger}s created by the same {@link + * SdkLoggerProvider}. */ -final class LogEmitterSharedState { +final class LoggerSharedState { private final Object lock = new Object(); private final Resource resource; private final Supplier logLimitsSupplier; @@ -23,7 +23,7 @@ final class LogEmitterSharedState { private final Clock clock; @Nullable private volatile CompletableResultCode shutdownResult = null; - LogEmitterSharedState( + LoggerSharedState( Resource resource, Supplier logLimitsSupplier, LogProcessor logProcessor, diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/NoopLogEmitterBuilder.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/NoopLoggerBuilder.java similarity index 62% rename from sdk/logs/src/main/java/io/opentelemetry/sdk/logs/NoopLogEmitterBuilder.java rename to sdk/logs/src/main/java/io/opentelemetry/sdk/logs/NoopLoggerBuilder.java index 29498fd07b3..da4384ae59f 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/NoopLogEmitterBuilder.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/NoopLoggerBuilder.java @@ -11,37 +11,37 @@ import java.time.Instant; import java.util.concurrent.TimeUnit; -class NoopLogEmitterBuilder implements LogEmitterBuilder { +class NoopLoggerBuilder implements LoggerBuilder { - private static final NoopLogEmitterBuilder INSTANCE = new NoopLogEmitterBuilder(); - private static final NoopLogEmitter NOOP_LOG_EMITTER = new NoopLogEmitter(); + private static final NoopLoggerBuilder INSTANCE = new NoopLoggerBuilder(); + private static final NoopLogger NOOP_LOGGER = new NoopLogger(); - private NoopLogEmitterBuilder() {} + private NoopLoggerBuilder() {} - static LogEmitterBuilder getInstance() { + static LoggerBuilder getInstance() { return INSTANCE; } @Override - public LogEmitterBuilder setSchemaUrl(String schemaUrl) { + public LoggerBuilder setSchemaUrl(String schemaUrl) { return this; } @Override - public LogEmitterBuilder setInstrumentationVersion(String instrumentationScopeVersion) { + public LoggerBuilder setInstrumentationVersion(String instrumentationScopeVersion) { return this; } @Override - public LogEmitter build() { - return NOOP_LOG_EMITTER; + public Logger build() { + return NOOP_LOGGER; } - private static class NoopLogEmitter implements LogEmitter { + private static class NoopLogger implements Logger { - private static final NoopLogBuilder NOOP_LOG_BUILDER = new NoopLogBuilder(); + private static final NoopLogRecordBuilder NOOP_LOG_BUILDER = new NoopLogRecordBuilder(); - private NoopLogEmitter() {} + private NoopLogger() {} @Override public LogRecordBuilder logRecordBuilder() { @@ -49,9 +49,9 @@ public LogRecordBuilder logRecordBuilder() { } } - private static class NoopLogBuilder implements LogRecordBuilder { + private static class NoopLogRecordBuilder implements LogRecordBuilder { - private NoopLogBuilder() {} + private NoopLogRecordBuilder() {} @Override public LogRecordBuilder setEpoch(long timestamp, TimeUnit unit) { diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogRecordBuilder.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogRecordBuilder.java index c147411bca3..f77d72a2308 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogRecordBuilder.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogRecordBuilder.java @@ -20,7 +20,7 @@ /** SDK implementation of {@link LogRecordBuilder}. */ final class SdkLogRecordBuilder implements LogRecordBuilder { - private final LogEmitterSharedState logEmitterSharedState; + private final LoggerSharedState loggerSharedState; private final LogLimits logLimits; private final InstrumentationScopeInfo instrumentationScopeInfo; @@ -32,10 +32,9 @@ final class SdkLogRecordBuilder implements LogRecordBuilder { @Nullable private AttributesMap attributes; SdkLogRecordBuilder( - LogEmitterSharedState logEmitterSharedState, - InstrumentationScopeInfo instrumentationScopeInfo) { - this.logEmitterSharedState = logEmitterSharedState; - this.logLimits = logEmitterSharedState.getLogLimits(); + LoggerSharedState loggerSharedState, InstrumentationScopeInfo instrumentationScopeInfo) { + this.loggerSharedState = loggerSharedState; + this.logLimits = loggerSharedState.getLogLimits(); this.instrumentationScopeInfo = instrumentationScopeInfo; } @@ -91,19 +90,17 @@ public LogRecordBuilder setAttribute(AttributeKey key, T value) { @Override public void emit() { - if (logEmitterSharedState.hasBeenShutdown()) { + if (loggerSharedState.hasBeenShutdown()) { return; } - logEmitterSharedState + loggerSharedState .getLogProcessor() .onEmit( SdkReadWriteLogRecord.create( - logEmitterSharedState.getLogLimits(), - logEmitterSharedState.getResource(), + loggerSharedState.getLogLimits(), + loggerSharedState.getResource(), instrumentationScopeInfo, - this.epochNanos == 0 - ? this.logEmitterSharedState.getClock().now() - : this.epochNanos, + this.epochNanos == 0 ? this.loggerSharedState.getClock().now() : this.epochNanos, spanContext, severity, severityText, diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogEmitter.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogger.java similarity index 54% rename from sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogEmitter.java rename to sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogger.java index bc81cb0fb7c..24d54fd3b34 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogEmitter.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogger.java @@ -7,22 +7,21 @@ import io.opentelemetry.sdk.common.InstrumentationScopeInfo; -/** SDK implementation of {@link LogEmitter}. */ -final class SdkLogEmitter implements LogEmitter { +/** SDK implementation of {@link Logger}. */ +final class SdkLogger implements Logger { - private final LogEmitterSharedState logEmitterSharedState; + private final LoggerSharedState loggerSharedState; private final InstrumentationScopeInfo instrumentationScopeInfo; - SdkLogEmitter( - LogEmitterSharedState logEmitterSharedState, - InstrumentationScopeInfo instrumentationScopeInfo) { - this.logEmitterSharedState = logEmitterSharedState; + SdkLogger( + LoggerSharedState loggerSharedState, InstrumentationScopeInfo instrumentationScopeInfo) { + this.loggerSharedState = loggerSharedState; this.instrumentationScopeInfo = instrumentationScopeInfo; } @Override public LogRecordBuilder logRecordBuilder() { - return new SdkLogRecordBuilder(logEmitterSharedState, instrumentationScopeInfo); + return new SdkLogRecordBuilder(loggerSharedState, instrumentationScopeInfo); } // VisibleForTesting diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogEmitterBuilder.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLoggerBuilder.java similarity index 63% rename from sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogEmitterBuilder.java rename to sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLoggerBuilder.java index b677cc3c759..b7c870dd4bc 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogEmitterBuilder.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLoggerBuilder.java @@ -9,30 +9,30 @@ import io.opentelemetry.sdk.common.InstrumentationScopeInfoBuilder; import io.opentelemetry.sdk.internal.ComponentRegistry; -final class SdkLogEmitterBuilder implements LogEmitterBuilder { +final class SdkLoggerBuilder implements LoggerBuilder { - private final ComponentRegistry registry; + private final ComponentRegistry registry; private final InstrumentationScopeInfoBuilder scopeBuilder; - SdkLogEmitterBuilder(ComponentRegistry registry, String instrumentationScopeName) { + SdkLoggerBuilder(ComponentRegistry registry, String instrumentationScopeName) { this.registry = registry; this.scopeBuilder = InstrumentationScopeInfo.builder(instrumentationScopeName); } @Override - public SdkLogEmitterBuilder setSchemaUrl(String schemaUrl) { + public SdkLoggerBuilder setSchemaUrl(String schemaUrl) { scopeBuilder.setSchemaUrl(schemaUrl); return this; } @Override - public SdkLogEmitterBuilder setInstrumentationVersion(String instrumentationScopeVersion) { + public SdkLoggerBuilder setInstrumentationVersion(String instrumentationScopeVersion) { scopeBuilder.setVersion(instrumentationScopeVersion); return this; } @Override - public SdkLogEmitter build() { + public SdkLogger build() { return registry.get(scopeBuilder.build()); } } diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogEmitterProvider.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLoggerProvider.java similarity index 58% rename from sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogEmitterProvider.java rename to sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLoggerProvider.java index 7176be80a41..9f27db8de4c 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogEmitterProvider.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLoggerProvider.java @@ -14,66 +14,66 @@ import java.util.concurrent.TimeUnit; import java.util.function.Supplier; import java.util.logging.Level; -import java.util.logging.Logger; -/** SDK registry for creating {@link LogEmitter}s. */ -public final class SdkLogEmitterProvider implements Closeable { +/** SDK registry for creating {@link Logger}s. */ +public final class SdkLoggerProvider implements Closeable { - static final String DEFAULT_EMITTER_NAME = "unknown"; - private static final Logger LOGGER = Logger.getLogger(SdkLogEmitterProvider.class.getName()); + static final String DEFAULT_LOGGER_NAME = "unknown"; + private static final java.util.logging.Logger LOGGER = + java.util.logging.Logger.getLogger(SdkLoggerProvider.class.getName()); - private final LogEmitterSharedState sharedState; - private final ComponentRegistry logEmitterComponentRegistry; + private final LoggerSharedState sharedState; + private final ComponentRegistry loggerComponentRegistry; private final boolean isNoopLogProcessor; /** - * Returns a new {@link SdkLogEmitterProviderBuilder} for {@link SdkLogEmitterProvider}. + * Returns a new {@link SdkLoggerProviderBuilder} for {@link SdkLoggerProvider}. * * @return a new builder instance */ - public static SdkLogEmitterProviderBuilder builder() { - return new SdkLogEmitterProviderBuilder(); + public static SdkLoggerProviderBuilder builder() { + return new SdkLoggerProviderBuilder(); } - SdkLogEmitterProvider( + SdkLoggerProvider( Resource resource, Supplier logLimitsSupplier, List processors, Clock clock) { LogProcessor logProcessor = LogProcessor.composite(processors); - this.sharedState = new LogEmitterSharedState(resource, logLimitsSupplier, logProcessor, clock); - this.logEmitterComponentRegistry = + this.sharedState = new LoggerSharedState(resource, logLimitsSupplier, logProcessor, clock); + this.loggerComponentRegistry = new ComponentRegistry<>( - instrumentationScopeInfo -> new SdkLogEmitter(sharedState, instrumentationScopeInfo)); + instrumentationScopeInfo -> new SdkLogger(sharedState, instrumentationScopeInfo)); this.isNoopLogProcessor = logProcessor instanceof NoopLogProcessor; } /** - * Gets or creates a named log emitter instance. + * Gets or creates a named logger instance. * * @param instrumentationScopeName A name uniquely identifying the instrumentation scope, such as * the instrumentation library, package, or fully qualified class name. Must not be null. - * @return a log emitter instance + * @return a logger instance */ - public LogEmitter get(String instrumentationScopeName) { - return logEmitterBuilder(instrumentationScopeName).build(); + public Logger get(String instrumentationScopeName) { + return loggerBuilder(instrumentationScopeName).build(); } /** - * Creates a {@link LogEmitterBuilder} instance. + * Creates a {@link LoggerBuilder} instance. * * @param instrumentationScopeName the name of the instrumentation scope - * @return a log emitter builder instance + * @return a logger builder instance */ - public LogEmitterBuilder logEmitterBuilder(String instrumentationScopeName) { + public LoggerBuilder loggerBuilder(String instrumentationScopeName) { if (isNoopLogProcessor) { - return NoopLogEmitterBuilder.getInstance(); + return NoopLoggerBuilder.getInstance(); } if (instrumentationScopeName == null || instrumentationScopeName.isEmpty()) { - LOGGER.fine("LogEmitter requested without instrumentation scope name."); - instrumentationScopeName = DEFAULT_EMITTER_NAME; + LOGGER.fine("Logger requested without instrumentation scope name."); + instrumentationScopeName = DEFAULT_LOGGER_NAME; } - return new SdkLogEmitterBuilder(logEmitterComponentRegistry, instrumentationScopeName); + return new SdkLoggerBuilder(loggerComponentRegistry, instrumentationScopeName); } /** diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogEmitterProviderBuilder.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLoggerProviderBuilder.java similarity index 71% rename from sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogEmitterProviderBuilder.java rename to sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLoggerProviderBuilder.java index d3b9aab071a..039aedafd16 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogEmitterProviderBuilder.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLoggerProviderBuilder.java @@ -14,24 +14,24 @@ import java.util.List; import java.util.function.Supplier; -/** Builder class for {@link SdkLogEmitterProvider} instances. */ -public final class SdkLogEmitterProviderBuilder { +/** Builder class for {@link SdkLoggerProvider} instances. */ +public final class SdkLoggerProviderBuilder { private final List logProcessors = new ArrayList<>(); private Resource resource = Resource.getDefault(); private Supplier logLimitsSupplier = LogLimits::getDefault; private Clock clock = Clock.getDefault(); - SdkLogEmitterProviderBuilder() {} + SdkLoggerProviderBuilder() {} /** - * Assign a {@link Resource} to be attached to all {@link LogData} created by {@link LogEmitter}s - * obtained from the {@link SdkLogEmitterProvider}. + * Assign a {@link Resource} to be attached to all {@link LogData} created by {@link Logger}s + * obtained from the {@link SdkLoggerProvider}. * * @param resource the resource * @return this */ - public SdkLogEmitterProviderBuilder setResource(Resource resource) { + public SdkLoggerProviderBuilder setResource(Resource resource) { requireNonNull(resource, "resource"); this.resource = resource; return this; @@ -39,7 +39,7 @@ public SdkLogEmitterProviderBuilder setResource(Resource resource) { /** * Assign a {@link Supplier} of {@link LogLimits}. {@link LogLimits} will be retrieved each time a - * {@link LogEmitter#logRecordBuilder()} is called. + * {@link Logger#logRecordBuilder()} is called. * *

The {@code logLimitsSupplier} must be thread-safe and return immediately (no remote calls, * as contention free as possible). @@ -48,7 +48,7 @@ public SdkLogEmitterProviderBuilder setResource(Resource resource) { * every {@link LogRecordBuilder}. * @return this */ - public SdkLogEmitterProviderBuilder setLogLimits(Supplier logLimitsSupplier) { + public SdkLoggerProviderBuilder setLogLimits(Supplier logLimitsSupplier) { requireNonNull(logLimitsSupplier, "logLimitsSupplier"); this.logLimitsSupplier = logLimitsSupplier; return this; @@ -56,12 +56,12 @@ public SdkLogEmitterProviderBuilder setLogLimits(Supplier logLimitsSu /** * Add a log processor. {@link LogProcessor#onEmit(ReadWriteLogRecord)} will be called each time a - * log is emitted by {@link LogEmitter} instances obtained from the {@link SdkLogEmitterProvider}. + * log is emitted by {@link Logger} instances obtained from the {@link SdkLoggerProvider}. * * @param processor the log processor * @return this */ - public SdkLogEmitterProviderBuilder addLogProcessor(LogProcessor processor) { + public SdkLoggerProviderBuilder addLogProcessor(LogProcessor processor) { requireNonNull(processor, "processor"); logProcessors.add(processor); return this; @@ -77,18 +77,18 @@ public SdkLogEmitterProviderBuilder addLogProcessor(LogProcessor processor) { * @param clock The clock to use for all temporal needs. * @return this */ - public SdkLogEmitterProviderBuilder setClock(Clock clock) { + public SdkLoggerProviderBuilder setClock(Clock clock) { requireNonNull(clock, "clock"); this.clock = clock; return this; } /** - * Create a {@link SdkLogEmitterProvider} instance. + * Create a {@link SdkLoggerProvider} instance. * * @return an instance configured with the provided options */ - public SdkLogEmitterProvider build() { - return new SdkLogEmitterProvider(resource, logLimitsSupplier, logProcessors, clock); + public SdkLoggerProvider build() { + return new SdkLoggerProvider(resource, logLimitsSupplier, logProcessors, clock); } } diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/LogExporter.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/LogExporter.java index 06ab373d80f..97b5c82306e 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/LogExporter.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/LogExporter.java @@ -7,7 +7,7 @@ import io.opentelemetry.sdk.common.CompletableResultCode; import io.opentelemetry.sdk.logs.LogProcessor; -import io.opentelemetry.sdk.logs.SdkLogEmitterProvider; +import io.opentelemetry.sdk.logs.SdkLoggerProvider; import io.opentelemetry.sdk.logs.data.LogData; import java.io.Closeable; import java.util.ArrayList; @@ -68,8 +68,8 @@ static LogExporter composite(Iterable exporters) { CompletableResultCode flush(); /** - * Shutdown the log exporter. Called when {@link SdkLogEmitterProvider#shutdown()} is called when - * this exporter is registered to the provider via {@link BatchLogProcessor} or {@link + * Shutdown the log exporter. Called when {@link SdkLoggerProvider#shutdown()} is called when this + * exporter is registered to the provider via {@link BatchLogProcessor} or {@link * SimpleLogProcessor}. * * @return a {@link CompletableResultCode} which is completed when shutdown completes diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/package-info.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/package-info.java index 3382f24ef97..cbb91d85898 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/package-info.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/package-info.java @@ -6,7 +6,7 @@ /** * The OpenTelemetry SDK implementation of logging. * - * @see io.opentelemetry.sdk.logs.SdkLogEmitterProvider + * @see io.opentelemetry.sdk.logs.SdkLoggerProvider */ @ParametersAreNonnullByDefault package io.opentelemetry.sdk.logs; diff --git a/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/LogEmitterSharedStateTest.java b/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/LoggerSharedStateTest.java similarity index 89% rename from sdk/logs/src/test/java/io/opentelemetry/sdk/logs/LogEmitterSharedStateTest.java rename to sdk/logs/src/test/java/io/opentelemetry/sdk/logs/LoggerSharedStateTest.java index 146c7ca6a1f..370a22e1d95 100644 --- a/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/LogEmitterSharedStateTest.java +++ b/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/LoggerSharedStateTest.java @@ -15,15 +15,15 @@ import io.opentelemetry.sdk.resources.Resource; import org.junit.jupiter.api.Test; -class LogEmitterSharedStateTest { +class LoggerSharedStateTest { @Test void shutdown() { LogProcessor logProcessor = mock(LogProcessor.class); CompletableResultCode code = new CompletableResultCode(); when(logProcessor.shutdown()).thenReturn(code); - LogEmitterSharedState state = - new LogEmitterSharedState( + LoggerSharedState state = + new LoggerSharedState( Resource.empty(), LogLimits::getDefault, logProcessor, Clock.getDefault()); state.shutdown(); state.shutdown(); diff --git a/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/NoopLogEmitterBuilderTest.java b/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/NoopLoggerBuilderTest.java similarity index 91% rename from sdk/logs/src/test/java/io/opentelemetry/sdk/logs/NoopLogEmitterBuilderTest.java rename to sdk/logs/src/test/java/io/opentelemetry/sdk/logs/NoopLoggerBuilderTest.java index 784cdbc1b2a..71ac001638d 100644 --- a/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/NoopLogEmitterBuilderTest.java +++ b/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/NoopLoggerBuilderTest.java @@ -12,11 +12,11 @@ import java.util.concurrent.TimeUnit; import org.junit.jupiter.api.Test; -class NoopLogEmitterBuilderTest { +class NoopLoggerBuilderTest { @Test void buildAndEmit() { - NoopLogEmitterBuilder.getInstance() + NoopLoggerBuilder.getInstance() .setSchemaUrl("http://endpoint") .setInstrumentationVersion("1.0.0") .build() diff --git a/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/SdkLogRecordBuilderTest.java b/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/SdkLogRecordBuilderTest.java index 73ac77e3f5d..bf05c133559 100644 --- a/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/SdkLogRecordBuilderTest.java +++ b/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/SdkLogRecordBuilderTest.java @@ -39,19 +39,19 @@ class SdkLogRecordBuilderTest { private static final Resource RESOURCE = Resource.empty(); private static final InstrumentationScopeInfo SCOPE_INFO = InstrumentationScopeInfo.empty(); - @Mock LogEmitterSharedState logEmitterSharedState; + @Mock LoggerSharedState loggerSharedState; private final AtomicReference emittedLog = new AtomicReference<>(); private SdkLogRecordBuilder builder; @BeforeEach void setup() { - when(logEmitterSharedState.getLogLimits()).thenReturn(LogLimits.getDefault()); - when(logEmitterSharedState.getLogProcessor()).thenReturn(emittedLog::set); - when(logEmitterSharedState.getResource()).thenReturn(RESOURCE); - when(logEmitterSharedState.getClock()).thenReturn(Clock.getDefault()); + when(loggerSharedState.getLogLimits()).thenReturn(LogLimits.getDefault()); + when(loggerSharedState.getLogProcessor()).thenReturn(emittedLog::set); + when(loggerSharedState.getResource()).thenReturn(RESOURCE); + when(loggerSharedState.getClock()).thenReturn(Clock.getDefault()); - builder = new SdkLogRecordBuilder(logEmitterSharedState, SCOPE_INFO); + builder = new SdkLogRecordBuilder(loggerSharedState, SCOPE_INFO); } @Test @@ -92,7 +92,7 @@ void emit_AllFields() { void emit_NoFields() { Clock clock = mock(Clock.class); when(clock.now()).thenReturn(10L); - when(logEmitterSharedState.getClock()).thenReturn(clock); + when(loggerSharedState.getClock()).thenReturn(clock); builder.emit(); diff --git a/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/SdkLogEmitterProviderTest.java b/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/SdkLoggerProviderTest.java similarity index 66% rename from sdk/logs/src/test/java/io/opentelemetry/sdk/logs/SdkLogEmitterProviderTest.java rename to sdk/logs/src/test/java/io/opentelemetry/sdk/logs/SdkLoggerProviderTest.java index b8191b02686..fb9e958dee2 100644 --- a/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/SdkLogEmitterProviderTest.java +++ b/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/SdkLoggerProviderTest.java @@ -41,24 +41,24 @@ @ExtendWith(MockitoExtension.class) @MockitoSettings(strictness = Strictness.LENIENT) -class SdkLogEmitterProviderTest { +class SdkLoggerProviderTest { @Mock private LogProcessor logProcessor; - private SdkLogEmitterProvider sdkLogEmitterProvider; + private SdkLoggerProvider sdkLoggerProvider; @BeforeEach void setup() { - sdkLogEmitterProvider = SdkLogEmitterProvider.builder().addLogProcessor(logProcessor).build(); + sdkLoggerProvider = SdkLoggerProvider.builder().addLogProcessor(logProcessor).build(); when(logProcessor.forceFlush()).thenReturn(CompletableResultCode.ofSuccess()); when(logProcessor.shutdown()).thenReturn(CompletableResultCode.ofSuccess()); } @Test void builder_defaultResource() { - assertThat(SdkLogEmitterProvider.builder().build()) - .extracting("sharedState", as(InstanceOfAssertFactories.type(LogEmitterSharedState.class))) - .extracting(LogEmitterSharedState::getResource) + assertThat(SdkLoggerProvider.builder().build()) + .extracting("sharedState", as(InstanceOfAssertFactories.type(LoggerSharedState.class))) + .extracting(LoggerSharedState::getResource) .isEqualTo(Resource.getDefault()); } @@ -66,25 +66,25 @@ void builder_defaultResource() { void builder_resourceProvided() { Resource resource = Resource.create(Attributes.builder().put("key", "value").build()); - assertThat(SdkLogEmitterProvider.builder().setResource(resource).build()) - .extracting("sharedState", as(InstanceOfAssertFactories.type(LogEmitterSharedState.class))) - .extracting(LogEmitterSharedState::getResource) + assertThat(SdkLoggerProvider.builder().setResource(resource).build()) + .extracting("sharedState", as(InstanceOfAssertFactories.type(LoggerSharedState.class))) + .extracting(LoggerSharedState::getResource) .isEqualTo(resource); } @Test void builder_noProcessor() { - assertThat(SdkLogEmitterProvider.builder().build()) - .extracting("sharedState", as(InstanceOfAssertFactories.type(LogEmitterSharedState.class))) - .extracting(LogEmitterSharedState::getLogProcessor) + assertThat(SdkLoggerProvider.builder().build()) + .extracting("sharedState", as(InstanceOfAssertFactories.type(LoggerSharedState.class))) + .extracting(LoggerSharedState::getLogProcessor) .isSameAs(NoopLogProcessor.getInstance()); } @Test void builder_defaultLogLimits() { - assertThat(SdkLogEmitterProvider.builder().build()) - .extracting("sharedState", as(InstanceOfAssertFactories.type(LogEmitterSharedState.class))) - .extracting(LogEmitterSharedState::getLogLimits) + assertThat(SdkLoggerProvider.builder().build()) + .extracting("sharedState", as(InstanceOfAssertFactories.type(LoggerSharedState.class))) + .extracting(LoggerSharedState::getLogLimits) .isSameAs(LogLimits.getDefault()); } @@ -92,38 +92,38 @@ void builder_defaultLogLimits() { void builder_logLimitsProvided() { LogLimits logLimits = LogLimits.builder().setMaxNumberOfAttributes(1).setMaxAttributeValueLength(1).build(); - assertThat(SdkLogEmitterProvider.builder().setLogLimits(() -> logLimits).build()) - .extracting("sharedState", as(InstanceOfAssertFactories.type(LogEmitterSharedState.class))) - .extracting(LogEmitterSharedState::getLogLimits) + assertThat(SdkLoggerProvider.builder().setLogLimits(() -> logLimits).build()) + .extracting("sharedState", as(InstanceOfAssertFactories.type(LoggerSharedState.class))) + .extracting(LoggerSharedState::getLogLimits) .isSameAs(logLimits); } @Test void builder_defaultClock() { - assertThat(SdkLogEmitterProvider.builder().build()) - .extracting("sharedState", as(InstanceOfAssertFactories.type(LogEmitterSharedState.class))) - .extracting(LogEmitterSharedState::getClock) + assertThat(SdkLoggerProvider.builder().build()) + .extracting("sharedState", as(InstanceOfAssertFactories.type(LoggerSharedState.class))) + .extracting(LoggerSharedState::getClock) .isSameAs(Clock.getDefault()); } @Test void builder_clockProvided() { Clock clock = mock(Clock.class); - assertThat(SdkLogEmitterProvider.builder().setClock(clock).build()) - .extracting("sharedState", as(InstanceOfAssertFactories.type(LogEmitterSharedState.class))) - .extracting(LogEmitterSharedState::getClock) + assertThat(SdkLoggerProvider.builder().setClock(clock).build()) + .extracting("sharedState", as(InstanceOfAssertFactories.type(LoggerSharedState.class))) + .extracting(LoggerSharedState::getClock) .isSameAs(clock); } @Test void builder_multipleProcessors() { assertThat( - SdkLogEmitterProvider.builder() + SdkLoggerProvider.builder() .addLogProcessor(logProcessor) .addLogProcessor(logProcessor) .build()) - .extracting("sharedState", as(InstanceOfAssertFactories.type(LogEmitterSharedState.class))) - .extracting(LogEmitterSharedState::getLogProcessor) + .extracting("sharedState", as(InstanceOfAssertFactories.type(LoggerSharedState.class))) + .extracting(LoggerSharedState::getLogProcessor) .satisfies( activeLogProcessor -> { assertThat(activeLogProcessor).isInstanceOf(MultiLogProcessor.class); @@ -135,64 +135,54 @@ void builder_multipleProcessors() { } @Test - void logEmitterBuilder_SameName() { - assertThat(sdkLogEmitterProvider.logEmitterBuilder("test").build()) - .isSameAs(sdkLogEmitterProvider.get("test")) - .isSameAs(sdkLogEmitterProvider.logEmitterBuilder("test").build()) + void loggerBuilder_SameName() { + assertThat(sdkLoggerProvider.loggerBuilder("test").build()) + .isSameAs(sdkLoggerProvider.get("test")) + .isSameAs(sdkLoggerProvider.loggerBuilder("test").build()) .isNotSameAs( - sdkLogEmitterProvider - .logEmitterBuilder("test") - .setInstrumentationVersion("version") - .build()); + sdkLoggerProvider.loggerBuilder("test").setInstrumentationVersion("version").build()); } @Test - void logEmitterBuilder_SameNameAndVersion() { - assertThat( - sdkLogEmitterProvider - .logEmitterBuilder("test") - .setInstrumentationVersion("version") - .build()) + void loggerBuilder_SameNameAndVersion() { + assertThat(sdkLoggerProvider.loggerBuilder("test").setInstrumentationVersion("version").build()) .isSameAs( - sdkLogEmitterProvider - .logEmitterBuilder("test") - .setInstrumentationVersion("version") - .build()) + sdkLoggerProvider.loggerBuilder("test").setInstrumentationVersion("version").build()) .isNotSameAs( - sdkLogEmitterProvider - .logEmitterBuilder("test") + sdkLoggerProvider + .loggerBuilder("test") .setInstrumentationVersion("version") .setSchemaUrl("http://url") .build()); } @Test - void logEmitterBuilder_SameNameVersionAndSchema() { + void loggerBuilder_SameNameVersionAndSchema() { assertThat( - sdkLogEmitterProvider - .logEmitterBuilder("test") + sdkLoggerProvider + .loggerBuilder("test") .setInstrumentationVersion("version") .setSchemaUrl("http://url") .build()) .isSameAs( - sdkLogEmitterProvider - .logEmitterBuilder("test") + sdkLoggerProvider + .loggerBuilder("test") .setInstrumentationVersion("version") .setSchemaUrl("http://url") .build()); } @Test - void logEmitterBuilder_PropagatesToEmitter() { + void loggerBuilder_PropagatesToLogger() { InstrumentationScopeInfo expected = InstrumentationScopeInfo.builder("test") .setVersion("version") .setSchemaUrl("http://url") .build(); assertThat( - ((SdkLogEmitter) - sdkLogEmitterProvider - .logEmitterBuilder("test") + ((SdkLogger) + sdkLoggerProvider + .loggerBuilder("test") .setInstrumentationVersion("version") .setSchemaUrl("http://url") .build()) @@ -201,32 +191,32 @@ void logEmitterBuilder_PropagatesToEmitter() { } @Test - void logEmitterBuilder_DefaultEmitterName() { + void loggerBuilder_DefaultLoggerName() { assertThat( - ((SdkLogEmitter) sdkLogEmitterProvider.logEmitterBuilder(null).build()) + ((SdkLogger) sdkLoggerProvider.loggerBuilder(null).build()) .getInstrumentationScopeInfo() .getName()) - .isEqualTo(SdkLogEmitterProvider.DEFAULT_EMITTER_NAME); + .isEqualTo(SdkLoggerProvider.DEFAULT_LOGGER_NAME); assertThat( - ((SdkLogEmitter) sdkLogEmitterProvider.logEmitterBuilder("").build()) + ((SdkLogger) sdkLoggerProvider.loggerBuilder("").build()) .getInstrumentationScopeInfo() .getName()) - .isEqualTo(SdkLogEmitterProvider.DEFAULT_EMITTER_NAME); + .isEqualTo(SdkLoggerProvider.DEFAULT_LOGGER_NAME); } @Test - void logEmitterBuilder_NoProcessor_UsesNoop() { - assertThat(SdkLogEmitterProvider.builder().build().logEmitterBuilder("test")) - .isInstanceOf(NoopLogEmitterBuilder.class); + void loggerBuilder_NoProcessor_UsesNoop() { + assertThat(SdkLoggerProvider.builder().build().loggerBuilder("test")) + .isInstanceOf(NoopLoggerBuilder.class); } @Test - void logEmitterBuilder_WithLogProcessor() { + void loggerBuilder_WithLogProcessor() { Resource resource = Resource.builder().put("r1", "v1").build(); AtomicReference logData = new AtomicReference<>(); - sdkLogEmitterProvider = - SdkLogEmitterProvider.builder() + sdkLoggerProvider = + SdkLoggerProvider.builder() .setResource(resource) .addLogProcessor( logRecord -> { @@ -245,7 +235,7 @@ void logEmitterBuilder_WithLogProcessor() { "7777777777777777", TraceFlags.getSampled(), TraceState.getDefault()); - sdkLogEmitterProvider + sdkLoggerProvider .get("test") .logRecordBuilder() .setEpoch(100, TimeUnit.NANOSECONDS) @@ -271,21 +261,21 @@ void logEmitterBuilder_WithLogProcessor() { @Test void forceFlush() { - sdkLogEmitterProvider.forceFlush(); + sdkLoggerProvider.forceFlush(); verify(logProcessor).forceFlush(); } @Test - @SuppressLogger(SdkLogEmitterProvider.class) + @SuppressLogger(SdkLoggerProvider.class) void shutdown() { - sdkLogEmitterProvider.shutdown(); - sdkLogEmitterProvider.shutdown(); + sdkLoggerProvider.shutdown(); + sdkLoggerProvider.shutdown(); verify(logProcessor, times(1)).shutdown(); } @Test void close() { - sdkLogEmitterProvider.close(); + sdkLoggerProvider.close(); verify(logProcessor).shutdown(); } @@ -296,9 +286,9 @@ void canSetClock() { when(clock.now()).thenReturn(now); List seenLogs = new ArrayList<>(); logProcessor = seenLogs::add; - sdkLogEmitterProvider = - SdkLogEmitterProvider.builder().setClock(clock).addLogProcessor(logProcessor).build(); - sdkLogEmitterProvider.logEmitterBuilder(null).build().logRecordBuilder().emit(); + sdkLoggerProvider = + SdkLoggerProvider.builder().setClock(clock).addLogProcessor(logProcessor).build(); + sdkLoggerProvider.loggerBuilder(null).build().logRecordBuilder().emit(); assertThat(seenLogs.size()).isEqualTo(1); assertThat(seenLogs.get(0).toLogData().getEpochNanos()).isEqualTo(now); } diff --git a/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/SdkLogEmitterTest.java b/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/SdkLoggerTest.java similarity index 84% rename from sdk/logs/src/test/java/io/opentelemetry/sdk/logs/SdkLogEmitterTest.java rename to sdk/logs/src/test/java/io/opentelemetry/sdk/logs/SdkLoggerTest.java index 0cc86b91f0c..7c65538b6dd 100644 --- a/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/SdkLogEmitterTest.java +++ b/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/SdkLoggerTest.java @@ -30,11 +30,11 @@ import java.util.concurrent.atomic.AtomicReference; import org.junit.jupiter.api.Test; -class SdkLogEmitterTest { +class SdkLoggerTest { @Test void logRecordBuilder() { - LogEmitterSharedState state = mock(LogEmitterSharedState.class); + LoggerSharedState state = mock(LoggerSharedState.class); InstrumentationScopeInfo info = InstrumentationScopeInfo.create("foo"); AtomicReference seenLog = new AtomicReference<>(); LogProcessor logProcessor = seenLog::set; @@ -45,8 +45,8 @@ void logRecordBuilder() { when(state.getLogProcessor()).thenReturn(logProcessor); when(state.getClock()).thenReturn(clock); - SdkLogEmitter emitter = new SdkLogEmitter(state, info); - LogRecordBuilder logRecordBuilder = emitter.logRecordBuilder(); + SdkLogger logger = new SdkLogger(state, info); + LogRecordBuilder logRecordBuilder = logger.logRecordBuilder(); logRecordBuilder.setBody("foo"); // Have to test through the builder @@ -58,12 +58,12 @@ void logRecordBuilder() { void logRecordBuilder_maxAttributeLength() { int maxLength = 25; AtomicReference seenLog = new AtomicReference<>(); - SdkLogEmitterProvider logEmitterProvider = - SdkLogEmitterProvider.builder() + SdkLoggerProvider loggerProvider = + SdkLoggerProvider.builder() .addLogProcessor(seenLog::set) .setLogLimits(() -> LogLimits.builder().setMaxAttributeValueLength(maxLength).build()) .build(); - LogRecordBuilder logRecordBuilder = logEmitterProvider.get("test").logRecordBuilder(); + LogRecordBuilder logRecordBuilder = loggerProvider.get("test").logRecordBuilder(); String strVal = StringUtils.padLeft("", maxLength); String tooLongStrVal = strVal + strVal; @@ -98,14 +98,14 @@ void logRecordBuilder_maxAttributeLength() { void logRecordBuilder_maxAttributes() { int maxNumberOfAttrs = 8; AtomicReference seenLog = new AtomicReference<>(); - SdkLogEmitterProvider logEmitterProvider = - SdkLogEmitterProvider.builder() + SdkLoggerProvider loggerProvider = + SdkLoggerProvider.builder() .addLogProcessor(seenLog::set) .setLogLimits( () -> LogLimits.builder().setMaxNumberOfAttributes(maxNumberOfAttrs).build()) .build(); - LogRecordBuilder builder = logEmitterProvider.get("test").logRecordBuilder(); + LogRecordBuilder builder = loggerProvider.get("test").logRecordBuilder(); AttributesBuilder expectedAttributes = Attributes.builder(); for (int i = 0; i < 2 * maxNumberOfAttrs; i++) { AttributeKey key = AttributeKey.longKey("key" + i); @@ -125,11 +125,11 @@ void logRecordBuilder_maxAttributes() { void logRecordBuilder_AfterShutdown() { LogProcessor logProcessor = mock(LogProcessor.class); when(logProcessor.shutdown()).thenReturn(CompletableResultCode.ofSuccess()); - SdkLogEmitterProvider logEmitterProvider = - SdkLogEmitterProvider.builder().addLogProcessor(logProcessor).build(); + SdkLoggerProvider loggerProvider = + SdkLoggerProvider.builder().addLogProcessor(logProcessor).build(); - logEmitterProvider.shutdown().join(10, TimeUnit.SECONDS); - logEmitterProvider.get("test").logRecordBuilder().emit(); + loggerProvider.shutdown().join(10, TimeUnit.SECONDS); + loggerProvider.get("test").logRecordBuilder().emit(); verify(logProcessor, never()).onEmit(any()); } diff --git a/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/export/BatchLogProcessorTest.java b/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/export/BatchLogProcessorTest.java index 2ca660cf47d..bb3f9445093 100644 --- a/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/export/BatchLogProcessorTest.java +++ b/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/export/BatchLogProcessorTest.java @@ -18,7 +18,7 @@ import io.opentelemetry.api.internal.GuardedBy; import io.opentelemetry.internal.testing.slf4j.SuppressLogger; import io.opentelemetry.sdk.common.CompletableResultCode; -import io.opentelemetry.sdk.logs.SdkLogEmitterProvider; +import io.opentelemetry.sdk.logs.SdkLoggerProvider; import io.opentelemetry.sdk.logs.data.LogData; import io.opentelemetry.sdk.testing.assertj.LogAssertions; import java.util.ArrayList; @@ -54,9 +54,9 @@ void setUp() { when(mockLogExporter.shutdown()).thenReturn(CompletableResultCode.ofSuccess()); } - private void emitLog(SdkLogEmitterProvider sdkLogEmitterProvider, String message) { - sdkLogEmitterProvider - .logEmitterBuilder(getClass().getName()) + private void emitLog(SdkLoggerProvider sdkLoggerProvider, String message) { + sdkLoggerProvider + .loggerBuilder(getClass().getName()) .build() .logRecordBuilder() .setBody(message) @@ -110,16 +110,16 @@ void builderInvalidConfig() { void emitMultipleLogs() { WaitingLogExporter waitingLogExporter = new WaitingLogExporter(2, CompletableResultCode.ofSuccess()); - SdkLogEmitterProvider logEmitterProvider = - SdkLogEmitterProvider.builder() + SdkLoggerProvider loggerProvider = + SdkLoggerProvider.builder() .addLogProcessor( BatchLogProcessor.builder(waitingLogExporter) .setScheduleDelay(MAX_SCHEDULE_DELAY_MILLIS, TimeUnit.MILLISECONDS) .build()) .build(); - emitLog(logEmitterProvider, LOG_MESSAGE_1); - emitLog(logEmitterProvider, LOG_MESSAGE_2); + emitLog(loggerProvider, LOG_MESSAGE_1); + emitLog(loggerProvider, LOG_MESSAGE_2); List exported = waitingLogExporter.waitForExport(); assertThat(exported) .satisfiesExactly( @@ -131,8 +131,8 @@ void emitMultipleLogs() { void emitMoreLogsThanBufferSize() { CompletableLogExporter logExporter = new CompletableLogExporter(); - SdkLogEmitterProvider sdkLogEmitterProvider = - SdkLogEmitterProvider.builder() + SdkLoggerProvider sdkLoggerProvider = + SdkLoggerProvider.builder() .addLogProcessor( BatchLogProcessor.builder(logExporter) .setMaxQueueSize(6) @@ -141,12 +141,12 @@ void emitMoreLogsThanBufferSize() { .build()) .build(); - emitLog(sdkLogEmitterProvider, LOG_MESSAGE_1); - emitLog(sdkLogEmitterProvider, LOG_MESSAGE_1); - emitLog(sdkLogEmitterProvider, LOG_MESSAGE_1); - emitLog(sdkLogEmitterProvider, LOG_MESSAGE_1); - emitLog(sdkLogEmitterProvider, LOG_MESSAGE_1); - emitLog(sdkLogEmitterProvider, LOG_MESSAGE_1); + emitLog(sdkLoggerProvider, LOG_MESSAGE_1); + emitLog(sdkLoggerProvider, LOG_MESSAGE_1); + emitLog(sdkLoggerProvider, LOG_MESSAGE_1); + emitLog(sdkLoggerProvider, LOG_MESSAGE_1); + emitLog(sdkLoggerProvider, LOG_MESSAGE_1); + emitLog(sdkLoggerProvider, LOG_MESSAGE_1); logExporter.succeed(); @@ -171,17 +171,17 @@ void forceEmit() { .setScheduleDelay(10, TimeUnit.SECONDS) .build(); - SdkLogEmitterProvider sdkLogEmitterProvider = - SdkLogEmitterProvider.builder().addLogProcessor(batchLogProcessor).build(); + SdkLoggerProvider sdkLoggerProvider = + SdkLoggerProvider.builder().addLogProcessor(batchLogProcessor).build(); for (int i = 0; i < 50; i++) { - emitLog(sdkLogEmitterProvider, "notExported"); + emitLog(sdkLoggerProvider, "notExported"); } List exported = waitingLogExporter.waitForExport(); assertThat(exported).isNotNull(); assertThat(exported.size()).isEqualTo(49); for (int i = 0; i < 50; i++) { - emitLog(sdkLogEmitterProvider, "notExported"); + emitLog(sdkLoggerProvider, "notExported"); } exported = waitingLogExporter.waitForExport(); assertThat(exported).isNotNull(); @@ -199,8 +199,8 @@ void emitLogsToMultipleExporters() { new WaitingLogExporter(2, CompletableResultCode.ofSuccess()); WaitingLogExporter waitingLogExporter2 = new WaitingLogExporter(2, CompletableResultCode.ofSuccess()); - SdkLogEmitterProvider sdkLogEmitterProvider = - SdkLogEmitterProvider.builder() + SdkLoggerProvider sdkLoggerProvider = + SdkLoggerProvider.builder() .addLogProcessor( BatchLogProcessor.builder( LogExporter.composite( @@ -209,8 +209,8 @@ void emitLogsToMultipleExporters() { .build()) .build(); - emitLog(sdkLogEmitterProvider, LOG_MESSAGE_1); - emitLog(sdkLogEmitterProvider, LOG_MESSAGE_2); + emitLog(sdkLoggerProvider, LOG_MESSAGE_1); + emitLog(sdkLoggerProvider, LOG_MESSAGE_2); List exported1 = waitingLogExporter1.waitForExport(); List exported2 = waitingLogExporter2.waitForExport(); assertThat(exported1) @@ -231,8 +231,8 @@ void emitMoreLogsThanTheMaximumLimit() { BlockingLogExporter blockingLogExporter = new BlockingLogExporter(); WaitingLogExporter waitingLogExporter = new WaitingLogExporter(maxQueuedLogs, CompletableResultCode.ofSuccess()); - SdkLogEmitterProvider sdkTracerProvider = - SdkLogEmitterProvider.builder() + SdkLoggerProvider sdkTracerProvider = + SdkLoggerProvider.builder() .addLogProcessor( BatchLogProcessor.builder( LogExporter.composite( @@ -297,8 +297,8 @@ void exporterThrowsException() { doThrow(new IllegalArgumentException("No export for you.")) .when(mockLogExporter) .export(anyList()); - SdkLogEmitterProvider sdkLogEmitterProvider = - SdkLogEmitterProvider.builder() + SdkLoggerProvider sdkLoggerProvider = + SdkLoggerProvider.builder() .addLogProcessor( BatchLogProcessor.builder( LogExporter.composite(Arrays.asList(mockLogExporter, waitingLogExporter))) @@ -306,12 +306,12 @@ void exporterThrowsException() { .build()) .build(); - emitLog(sdkLogEmitterProvider, LOG_MESSAGE_1); + emitLog(sdkLoggerProvider, LOG_MESSAGE_1); List exported = waitingLogExporter.waitForExport(); assertThat(exported).satisfiesExactly(logData -> assertThat(logData).hasBody(LOG_MESSAGE_1)); waitingLogExporter.reset(); // Continue to export after the exception was received. - emitLog(sdkLogEmitterProvider, LOG_MESSAGE_2); + emitLog(sdkLoggerProvider, LOG_MESSAGE_2); exported = waitingLogExporter.waitForExport(); assertThat(exported).satisfiesExactly(logData -> assertThat(logData).hasBody(LOG_MESSAGE_2)); } @@ -326,8 +326,7 @@ public void continuesIfExporterTimesOut() throws InterruptedException { .setScheduleDelay(1, TimeUnit.MILLISECONDS) .setMaxQueueSize(1) .build(); - SdkLogEmitterProvider sdkLogEmitterProvider = - SdkLogEmitterProvider.builder().addLogProcessor(blp).build(); + SdkLoggerProvider sdkLoggerProvider = SdkLoggerProvider.builder().addLogProcessor(blp).build(); CountDownLatch exported = new CountDownLatch(1); // We return a result we never complete, meaning it will timeout. @@ -340,7 +339,7 @@ public void continuesIfExporterTimesOut() throws InterruptedException { return true; }))) .thenReturn(new CompletableResultCode()); - emitLog(sdkLogEmitterProvider, LOG_MESSAGE_1); + emitLog(sdkLoggerProvider, LOG_MESSAGE_1); exported.await(); // Timed out so the log was dropped. await().untilAsserted(() -> assertThat(blp.getBatch()).isEmpty()); @@ -358,7 +357,7 @@ public void continuesIfExporterTimesOut() throws InterruptedException { return true; }))) .thenReturn(CompletableResultCode.ofSuccess()); - emitLog(sdkLogEmitterProvider, LOG_MESSAGE_2); + emitLog(sdkLoggerProvider, LOG_MESSAGE_2); exported.await(); await().untilAsserted(() -> assertThat(blp.getBatch()).isEmpty()); } @@ -370,22 +369,21 @@ void shutdownFlushes() { new WaitingLogExporter(1, CompletableResultCode.ofSuccess()); // Set the export delay to large value, in order to confirm the #flush() below works - SdkLogEmitterProvider sdkLogEmitterProvider = - SdkLogEmitterProvider.builder() + SdkLoggerProvider sdkLoggerProvider = + SdkLoggerProvider.builder() .addLogProcessor( BatchLogProcessor.builder(waitingLogExporter) .setScheduleDelay(10, TimeUnit.SECONDS) .build()) .build(); - emitLog(sdkLogEmitterProvider, LOG_MESSAGE_2); + emitLog(sdkLoggerProvider, LOG_MESSAGE_2); // Force a shutdown, which forces processing of all remaining logs. - sdkLogEmitterProvider.shutdown().join(10, TimeUnit.SECONDS); + sdkLoggerProvider.shutdown().join(10, TimeUnit.SECONDS); List exported = waitingLogExporter.getExported(); assertThat(exported).satisfiesExactly(logData -> assertThat(logData).hasBody(LOG_MESSAGE_2)); - ; assertThat(waitingLogExporter.shutDownCalled.get()).isTrue(); } diff --git a/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/export/InMemoryLogExporterTest.java b/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/export/InMemoryLogExporterTest.java index 850f206ec9a..3ad194a8372 100644 --- a/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/export/InMemoryLogExporterTest.java +++ b/sdk/logs/src/test/java/io/opentelemetry/sdk/logs/export/InMemoryLogExporterTest.java @@ -8,8 +8,8 @@ import static io.opentelemetry.sdk.logs.data.Severity.DEBUG; import static org.assertj.core.api.Assertions.assertThat; -import io.opentelemetry.sdk.logs.LogEmitter; -import io.opentelemetry.sdk.logs.SdkLogEmitterProvider; +import io.opentelemetry.sdk.logs.Logger; +import io.opentelemetry.sdk.logs.SdkLoggerProvider; import io.opentelemetry.sdk.logs.data.LogData; import io.opentelemetry.sdk.testing.assertj.LogAssertions; import io.opentelemetry.sdk.testing.logs.TestLogData; @@ -23,28 +23,26 @@ class InMemoryLogExporterTest { private final InMemoryLogExporter exporter = InMemoryLogExporter.create(); - private SdkLogEmitterProvider logEmitterProvider; - private LogEmitter logEmitter; + private SdkLoggerProvider loggerProvider; + private Logger logger; @BeforeEach void setup() { - logEmitterProvider = - SdkLogEmitterProvider.builder() - .addLogProcessor(SimpleLogProcessor.create(exporter)) - .build(); - logEmitter = logEmitterProvider.logEmitterBuilder("emitter").build(); + loggerProvider = + SdkLoggerProvider.builder().addLogProcessor(SimpleLogProcessor.create(exporter)).build(); + logger = loggerProvider.loggerBuilder("logger").build(); } @AfterEach void tearDown() { - logEmitterProvider.shutdown(); + loggerProvider.shutdown(); } @Test void getFinishedLogItems() { - logEmitter.logRecordBuilder().setSeverity(DEBUG).setBody("message 1").emit(); - logEmitter.logRecordBuilder().setSeverity(DEBUG).setBody("message 2").emit(); - logEmitter.logRecordBuilder().setSeverity(DEBUG).setBody("message 3").emit(); + logger.logRecordBuilder().setSeverity(DEBUG).setBody("message 1").emit(); + logger.logRecordBuilder().setSeverity(DEBUG).setBody("message 2").emit(); + logger.logRecordBuilder().setSeverity(DEBUG).setBody("message 3").emit(); List logItems = exporter.getFinishedLogItems(); assertThat(logItems).isNotNull(); @@ -56,9 +54,9 @@ void getFinishedLogItems() { @Test void reset() { - logEmitter.logRecordBuilder().setSeverity(DEBUG).setBody("message 1").emit(); - logEmitter.logRecordBuilder().setSeverity(DEBUG).setBody("message 2").emit(); - logEmitter.logRecordBuilder().setSeverity(DEBUG).setBody("message 3").emit(); + logger.logRecordBuilder().setSeverity(DEBUG).setBody("message 1").emit(); + logger.logRecordBuilder().setSeverity(DEBUG).setBody("message 2").emit(); + logger.logRecordBuilder().setSeverity(DEBUG).setBody("message 3").emit(); List logItems = exporter.getFinishedLogItems(); assertThat(logItems).isNotNull(); assertThat(logItems.size()).isEqualTo(3); @@ -69,9 +67,9 @@ void reset() { @Test void shutdown() { - logEmitter.logRecordBuilder().setSeverity(DEBUG).setBody("message 1").emit(); - logEmitter.logRecordBuilder().setSeverity(DEBUG).setBody("message 2").emit(); - logEmitter.logRecordBuilder().setSeverity(DEBUG).setBody("message 3").emit(); + logger.logRecordBuilder().setSeverity(DEBUG).setBody("message 1").emit(); + logger.logRecordBuilder().setSeverity(DEBUG).setBody("message 2").emit(); + logger.logRecordBuilder().setSeverity(DEBUG).setBody("message 3").emit(); List logItems = exporter.getFinishedLogItems(); assertThat(logItems).isNotNull(); assertThat(logItems.size()).isEqualTo(3); @@ -79,7 +77,7 @@ void shutdown() { exporter.shutdown(); assertThat(exporter.getFinishedLogItems()).isEmpty(); // Cannot add new elements after the shutdown. - logEmitter.logRecordBuilder().setSeverity(DEBUG).setBody("message 1").emit(); + logger.logRecordBuilder().setSeverity(DEBUG).setBody("message 1").emit(); assertThat(exporter.getFinishedLogItems()).isEmpty(); }