Skip to content

Commit c370544

Browse files
committed
avoid reflection
1 parent eb8ee19 commit c370544

File tree

5 files changed

+23
-35
lines changed

5 files changed

+23
-35
lines changed

javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/config/ConfigurationFile.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
package io.opentelemetry.javaagent.tooling.config;
77

8-
import static io.opentelemetry.javaagent.tooling.config.ErrorBuffer.setErrorMessage;
8+
import static io.opentelemetry.javaagent.tooling.config.ErrorBuffer.addErrorMessage;
99
import static java.util.Collections.emptyMap;
1010

1111
import io.opentelemetry.instrumentation.api.internal.ConfigPropertiesUtil;
@@ -58,7 +58,7 @@ static Map<String, String> loadConfigFile() {
5858
// Configuration properties file is optional
5959
File configurationFile = new File(configurationFilePath);
6060
if (!configurationFile.exists()) {
61-
setErrorMessage("Configuration file \"" + configurationFilePath + "\" not found.");
61+
addErrorMessage("Configuration file \"" + configurationFilePath + "\" not found.");
6262
return emptyMap();
6363
}
6464

@@ -67,9 +67,9 @@ static Map<String, String> loadConfigFile() {
6767
new InputStreamReader(new FileInputStream(configurationFile), StandardCharsets.UTF_8)) {
6868
properties.load(reader);
6969
} catch (FileNotFoundException fnf) {
70-
setErrorMessage("Configuration file \"" + configurationFilePath + "\" not found.");
70+
addErrorMessage("Configuration file \"" + configurationFilePath + "\" not found.");
7171
} catch (IOException ioe) {
72-
setErrorMessage(
72+
addErrorMessage(
7373
"Configuration file \""
7474
+ configurationFilePath
7575
+ "\" cannot be accessed or correctly parsed.");

javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/config/DeclarativeConfigEarlyInitAgentConfig.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import io.opentelemetry.javaagent.extension.DeclarativeConfigPropertiesBridge;
1212
import io.opentelemetry.sdk.OpenTelemetrySdk;
1313
import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk;
14-
import io.opentelemetry.sdk.autoconfigure.SdkAutoConfigureAccess;
14+
import io.opentelemetry.sdk.autoconfigure.SdkAutoconfigureAccess;
1515
import io.opentelemetry.sdk.autoconfigure.internal.SpiHelper;
1616
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
1717
import io.opentelemetry.sdk.common.CompletableResultCode;
@@ -80,7 +80,7 @@ private static OpenTelemetryConfigurationModel loadConfigurationModel(String con
8080
try (FileInputStream fis = new FileInputStream(configurationFile)) {
8181
return DeclarativeConfiguration.parse(fis);
8282
} catch (IOException e) {
83-
ErrorBuffer.setErrorMessage(
83+
ErrorBuffer.addErrorMessage(
8484
"Error reading configuration file: " + configurationFile + ". " + e.getMessage());
8585
return null;
8686
}
@@ -97,7 +97,7 @@ public AutoConfiguredOpenTelemetrySdk installOpenTelemetrySdk(ClassLoader extens
9797

9898
setForceFlush(sdk);
9999

100-
return SdkAutoConfigureAccess.create(
100+
return SdkAutoconfigureAccess.create(
101101
sdk, Resource.getDefault(), this.declarativeConfigProperties, this.configProvider);
102102
}
103103

javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/config/ErrorBuffer.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@
77

88
import static java.util.logging.Level.SEVERE;
99

10+
import java.util.ArrayList;
11+
import java.util.List;
1012
import java.util.logging.Logger;
11-
import javax.annotation.Nullable;
1213

1314
/**
1415
* This class is used to buffer error messages that occur during early initialization of the agent.
@@ -19,19 +20,15 @@ public final class ErrorBuffer {
1920
// this class is used early, and must not use logging in most of its methods
2021
// in case any file loading/parsing error occurs, we save the error message and log it later, when
2122
// the logging subsystem is initialized
22-
@Nullable private static String errorMessage;
23+
private static final List<String> errorMessages = new ArrayList<>();
2324

24-
static void setErrorMessage(String errorMessage) {
25-
if (ErrorBuffer.errorMessage == null) {
26-
ErrorBuffer.errorMessage = errorMessage;
27-
} else {
28-
ErrorBuffer.errorMessage += "\n" + errorMessage;
29-
}
25+
static void addErrorMessage(String errorMessage) {
26+
errorMessages.add(errorMessage);
3027
}
3128

3229
public static void logErrorIfAny() {
33-
if (errorMessage != null) {
34-
Logger.getLogger(ConfigurationPropertiesSupplier.class.getName()).log(SEVERE, errorMessage);
30+
for (String message : errorMessages) {
31+
Logger.getLogger(ConfigurationPropertiesSupplier.class.getName()).log(SEVERE, message);
3532
}
3633
}
3734
}

javaagent-tooling/src/main/java/io/opentelemetry/sdk/autoconfigure/SdkAutoConfigureAccess.java

Lines changed: 0 additions & 17 deletions
This file was deleted.

javaagent-tooling/src/main/java/io/opentelemetry/sdk/autoconfigure/SdkAutoconfigureAccess.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,19 @@
66
package io.opentelemetry.sdk.autoconfigure;
77

88
import io.opentelemetry.api.common.Attributes;
9+
import io.opentelemetry.sdk.OpenTelemetrySdk;
10+
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
11+
import io.opentelemetry.sdk.resources.Resource;
912

1013
public final class SdkAutoconfigureAccess {
14+
private SdkAutoconfigureAccess() {}
15+
1116
public static Attributes getResourceAttributes(AutoConfiguredOpenTelemetrySdk sdk) {
1217
return sdk.getResource().getAttributes();
1318
}
1419

15-
private SdkAutoconfigureAccess() {}
20+
public static AutoConfiguredOpenTelemetrySdk create(
21+
OpenTelemetrySdk sdk, Resource resource, ConfigProperties config, Object configProvider) {
22+
return AutoConfiguredOpenTelemetrySdk.create(sdk, resource, config, configProvider);
23+
}
1624
}

0 commit comments

Comments
 (0)