|
17 | 17 | import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk;
|
18 | 18 | import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
|
19 | 19 | import java.io.InputStream;
|
20 |
| -import java.nio.file.Files; |
21 |
| -import java.nio.file.Paths; |
| 20 | +import java.net.URL; |
22 | 21 | import java.time.Duration;
|
23 | 22 | import java.util.List;
|
24 | 23 |
|
@@ -81,10 +80,15 @@ private static void buildFromDefaultRules(
|
81 | 80 | private static void buildFromUserRules(
|
82 | 81 | MetricConfiguration conf, ConfigProperties configProperties) {
|
83 | 82 | List<String> configFiles = configProperties.getList("otel.jmx.config");
|
| 83 | + String configFileUrlString; |
84 | 84 | for (String configFile : configFiles) {
|
85 |
| - JmxMetricInsight.getLogger().log(FINE, "JMX config file name: {0}", configFile); |
| 85 | + configFileUrlString = configFile; |
| 86 | + if (configFile != null && !configFile.contains("://")) { |
| 87 | + configFileUrlString = "file://" + configFile; |
| 88 | + } |
| 89 | + JmxMetricInsight.getLogger().log(FINE, "JMX config file name: {0}", configFileUrlString); |
86 | 90 | RuleParser parserInstance = RuleParser.get();
|
87 |
| - try (InputStream inputStream = Files.newInputStream(Paths.get(configFile))) { |
| 91 | + try (InputStream inputStream = new URL(configFileUrlString).openStream()) { |
88 | 92 | parserInstance.addMetricDefsTo(conf, inputStream, configFile);
|
89 | 93 | } catch (Exception e) {
|
90 | 94 | // yaml parsing errors are caught and logged inside of addMetricDefsTo
|
|
0 commit comments