From c911cd86927cba77bb0a8df0c21021b044eee976 Mon Sep 17 00:00:00 2001 From: Ryan Dens Date: Thu, 7 Oct 2021 08:44:17 -0400 Subject: [PATCH 1/7] :arrow_up: upgrade agent config submodule --- .../extensions/FilterComponentInstaller.java | 2 +- .../extensions/HypertraceResourceProvider.java | 2 +- .../extensions/config/EnvironmentConfig.java | 18 +++++++++--------- .../config/HypertraceAgentConfiguration.java | 6 +++--- .../extensions/config/HypertraceConfig.java | 18 +++++++++--------- .../config/InstrumentationConfigImpl.java | 8 ++++---- .../extensions/config/ReportingConfigImpl.java | 2 +- otel-extensions/src/main/proto | 2 +- .../HypertraceAgentConfigurationTest.java | 2 +- .../config/EnvironmentConfigTest.java | 6 +++--- .../config/HypertraceConfigTest.java | 6 +++--- .../config/ReportingConfigImplTest.java | 6 +++--- 12 files changed, 39 insertions(+), 39 deletions(-) diff --git a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/FilterComponentInstaller.java b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/FilterComponentInstaller.java index b6271e5b1..f45a60dff 100644 --- a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/FilterComponentInstaller.java +++ b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/FilterComponentInstaller.java @@ -21,7 +21,7 @@ import io.opentelemetry.javaagent.extension.AgentListener; import java.util.List; import java.util.stream.Collectors; -import org.hypertrace.agent.config.Config.AgentConfig; +import org.hypertrace.agent.config.v1.Config.AgentConfig; import org.hypertrace.agent.filter.FilterRegistry; import org.hypertrace.agent.otel.extensions.config.HypertraceConfig; diff --git a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/HypertraceResourceProvider.java b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/HypertraceResourceProvider.java index d4abf0ad9..d810acc81 100644 --- a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/HypertraceResourceProvider.java +++ b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/HypertraceResourceProvider.java @@ -23,7 +23,7 @@ import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider; import io.opentelemetry.sdk.resources.Resource; import io.opentelemetry.semconv.resource.attributes.ResourceAttributes; -import org.hypertrace.agent.config.Config.AgentConfig; +import org.hypertrace.agent.config.v1.Config.AgentConfig; import org.hypertrace.agent.otel.extensions.config.HypertraceConfig; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfig.java b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfig.java index 2b4e5ff17..64bd697a1 100644 --- a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfig.java +++ b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfig.java @@ -19,15 +19,15 @@ import com.google.protobuf.BoolValue; import com.google.protobuf.Int32Value; import com.google.protobuf.StringValue; -import org.hypertrace.agent.config.Config.AgentConfig; -import org.hypertrace.agent.config.Config.DataCapture; -import org.hypertrace.agent.config.Config.JavaAgent; -import org.hypertrace.agent.config.Config.Message; -import org.hypertrace.agent.config.Config.Opa; -import org.hypertrace.agent.config.Config.Opa.Builder; -import org.hypertrace.agent.config.Config.PropagationFormat; -import org.hypertrace.agent.config.Config.Reporting; -import org.hypertrace.agent.config.Config.TraceReporterType; +import org.hypertrace.agent.config.v1.Config.AgentConfig; +import org.hypertrace.agent.config.v1.Config.DataCapture; +import org.hypertrace.agent.config.v1.Config.JavaAgent; +import org.hypertrace.agent.config.v1.Config.Message; +import org.hypertrace.agent.config.v1.Config.Opa; +import org.hypertrace.agent.config.v1.Config.Opa.Builder; +import org.hypertrace.agent.config.v1.Config.PropagationFormat; +import org.hypertrace.agent.config.v1.Config.Reporting; +import org.hypertrace.agent.config.v1.Config.TraceReporterType; public class EnvironmentConfig { diff --git a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/HypertraceAgentConfiguration.java b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/HypertraceAgentConfiguration.java index 4b2e8a58f..9abf6e952 100644 --- a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/HypertraceAgentConfiguration.java +++ b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/HypertraceAgentConfiguration.java @@ -23,9 +23,9 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; -import org.hypertrace.agent.config.Config.AgentConfig; -import org.hypertrace.agent.config.Config.PropagationFormat; -import org.hypertrace.agent.config.Config.TraceReporterType; +import org.hypertrace.agent.config.v1.Config.AgentConfig; +import org.hypertrace.agent.config.v1.Config.PropagationFormat; +import org.hypertrace.agent.config.v1.Config.TraceReporterType; @AutoService(ConfigPropertySource.class) public class HypertraceAgentConfiguration implements ConfigPropertySource { diff --git a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/HypertraceConfig.java b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/HypertraceConfig.java index c092a5aa2..83dc52956 100644 --- a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/HypertraceConfig.java +++ b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/HypertraceConfig.java @@ -30,15 +30,15 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; -import org.hypertrace.agent.config.Config; -import org.hypertrace.agent.config.Config.AgentConfig; -import org.hypertrace.agent.config.Config.DataCapture; -import org.hypertrace.agent.config.Config.Message; -import org.hypertrace.agent.config.Config.Opa; -import org.hypertrace.agent.config.Config.Opa.Builder; -import org.hypertrace.agent.config.Config.PropagationFormat; -import org.hypertrace.agent.config.Config.Reporting; -import org.hypertrace.agent.config.Config.TraceReporterType; +import org.hypertrace.agent.config.v1.Config; +import org.hypertrace.agent.config.v1.Config.AgentConfig; +import org.hypertrace.agent.config.v1.Config.DataCapture; +import org.hypertrace.agent.config.v1.Config.Message; +import org.hypertrace.agent.config.v1.Config.Opa; +import org.hypertrace.agent.config.v1.Config.Opa.Builder; +import org.hypertrace.agent.config.v1.Config.PropagationFormat; +import org.hypertrace.agent.config.v1.Config.Reporting; +import org.hypertrace.agent.config.v1.Config.TraceReporterType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/InstrumentationConfigImpl.java b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/InstrumentationConfigImpl.java index e49a42310..8e0873489 100644 --- a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/InstrumentationConfigImpl.java +++ b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/InstrumentationConfigImpl.java @@ -17,10 +17,10 @@ package org.hypertrace.agent.otel.extensions.config; import com.google.auto.service.AutoService; -import org.hypertrace.agent.config.Config; -import org.hypertrace.agent.config.Config.AgentConfig; -import org.hypertrace.agent.config.Config.DataCapture; -import org.hypertrace.agent.config.Config.Message; +import org.hypertrace.agent.config.v1.Config; +import org.hypertrace.agent.config.v1.Config.AgentConfig; +import org.hypertrace.agent.config.v1.Config.DataCapture; +import org.hypertrace.agent.config.v1.Config.Message; import org.hypertrace.agent.core.config.InstrumentationConfig; @AutoService(InstrumentationConfig.class) diff --git a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/ReportingConfigImpl.java b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/ReportingConfigImpl.java index 87e7474f2..ef3485034 100644 --- a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/ReportingConfigImpl.java +++ b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/ReportingConfigImpl.java @@ -17,7 +17,7 @@ package org.hypertrace.agent.otel.extensions.config; import com.google.auto.service.AutoService; -import org.hypertrace.agent.config.Config; +import org.hypertrace.agent.config.v1.Config; import org.hypertrace.agent.core.config.ReportingConfig; @AutoService(ReportingConfig.class) diff --git a/otel-extensions/src/main/proto b/otel-extensions/src/main/proto index 5142f17ae..f66d46bdf 160000 --- a/otel-extensions/src/main/proto +++ b/otel-extensions/src/main/proto @@ -1 +1 @@ -Subproject commit 5142f17ae5053cea947f73b1277ab9f6a8d3beda +Subproject commit f66d46bdfecb1c073bf7c91024d407a473e41c5b diff --git a/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/HypertraceAgentConfigurationTest.java b/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/HypertraceAgentConfigurationTest.java index ce245fd6c..9e211ce57 100644 --- a/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/HypertraceAgentConfigurationTest.java +++ b/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/HypertraceAgentConfigurationTest.java @@ -18,7 +18,7 @@ import java.util.Arrays; import java.util.List; -import org.hypertrace.agent.config.Config.PropagationFormat; +import org.hypertrace.agent.config.v1.Config.PropagationFormat; import org.hypertrace.agent.otel.extensions.config.HypertraceAgentConfiguration; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfigTest.java b/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfigTest.java index 4b3edbcc9..b29c3520e 100644 --- a/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfigTest.java +++ b/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfigTest.java @@ -18,9 +18,9 @@ import com.google.protobuf.StringValue; import java.util.Arrays; -import org.hypertrace.agent.config.Config.AgentConfig; -import org.hypertrace.agent.config.Config.PropagationFormat; -import org.hypertrace.agent.config.Config.TraceReporterType; +import org.hypertrace.agent.config.v1.Config.AgentConfig; +import org.hypertrace.agent.config.v1.Config.PropagationFormat; +import org.hypertrace.agent.config.v1.Config.TraceReporterType; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junitpioneer.jupiter.ClearSystemProperty; diff --git a/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/HypertraceConfigTest.java b/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/HypertraceConfigTest.java index 0e9148699..a2a3f731e 100644 --- a/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/HypertraceConfigTest.java +++ b/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/HypertraceConfigTest.java @@ -23,9 +23,9 @@ import java.io.IOException; import java.net.URL; import java.util.Arrays; -import org.hypertrace.agent.config.Config.AgentConfig; -import org.hypertrace.agent.config.Config.PropagationFormat; -import org.hypertrace.agent.config.Config.TraceReporterType; +import org.hypertrace.agent.config.v1.Config.AgentConfig; +import org.hypertrace.agent.config.v1.Config.PropagationFormat; +import org.hypertrace.agent.config.v1.Config.TraceReporterType; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; diff --git a/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/ReportingConfigImplTest.java b/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/ReportingConfigImplTest.java index c86611a7a..a5d378d70 100644 --- a/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/ReportingConfigImplTest.java +++ b/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/ReportingConfigImplTest.java @@ -21,9 +21,9 @@ import com.google.protobuf.BoolValue; import java.util.Iterator; import java.util.ServiceLoader; -import org.hypertrace.agent.config.Config.Opa; -import org.hypertrace.agent.config.Config.Reporting; -import org.hypertrace.agent.config.Config.Reporting.Builder; +import org.hypertrace.agent.config.v1.Config.Opa; +import org.hypertrace.agent.config.v1.Config.Reporting; +import org.hypertrace.agent.config.v1.Config.Reporting.Builder; import org.hypertrace.agent.core.config.ReportingConfig; import org.junit.jupiter.api.Test; From c500e16552f045fad7edf0d74197631401213073 Mon Sep 17 00:00:00 2001 From: Ryan Dens Date: Thu, 7 Oct 2021 08:55:22 -0400 Subject: [PATCH 2/7] :white_check_mark: add test case for yaml based config of cert file --- .../agent/otel/extensions/config/HypertraceConfigTest.java | 3 +++ otel-extensions/src/test/resources/config.yaml | 1 + 2 files changed, 4 insertions(+) diff --git a/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/HypertraceConfigTest.java b/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/HypertraceConfigTest.java index a2a3f731e..6edd9e7e1 100644 --- a/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/HypertraceConfigTest.java +++ b/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/HypertraceConfigTest.java @@ -41,6 +41,7 @@ public void defaultValues() throws IOException { Assertions.assertEquals("unknown", agentConfig.getServiceName().getValue()); Assertions.assertEquals( TraceReporterType.OTLP, agentConfig.getReporting().getTraceReporterType()); + Assertions.assertFalse(agentConfig.getReporting().hasCertFile()); Assertions.assertEquals( HypertraceConfig.DEFAULT_REPORTING_ENDPOINT, agentConfig.getReporting().getEndpoint().getValue()); @@ -105,6 +106,8 @@ private void assertConfig(AgentConfig agentConfig) { Arrays.asList(PropagationFormat.B3), agentConfig.getPropagationFormatsList()); Assertions.assertEquals( TraceReporterType.OTLP, agentConfig.getReporting().getTraceReporterType()); + Assertions.assertEquals( + "/foo/bar/example.pem", agentConfig.getReporting().getCertFile().getValue()); Assertions.assertEquals( "http://localhost:4317", agentConfig.getReporting().getEndpoint().getValue()); Assertions.assertEquals(true, agentConfig.getReporting().getSecure().getValue()); diff --git a/otel-extensions/src/test/resources/config.yaml b/otel-extensions/src/test/resources/config.yaml index e8102e355..e128c1a64 100644 --- a/otel-extensions/src/test/resources/config.yaml +++ b/otel-extensions/src/test/resources/config.yaml @@ -7,6 +7,7 @@ reporting: endpoint: http://localhost:4317 secure: true trace_reporter_type: OTLP + cert_file: /foo/bar/example.pem opa: endpoint: http://opa.localhost:8181/ pollPeriodSeconds: 12 From f6db1954ef51fdffdd13840d56f4d7306370c7c7 Mon Sep 17 00:00:00 2001 From: Ryan Dens Date: Thu, 7 Oct 2021 08:55:45 -0400 Subject: [PATCH 3/7] :white_check_mark: add test case for environment based config of cert file --- .../agent/otel/extensions/config/EnvironmentConfigTest.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfigTest.java b/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfigTest.java index b29c3520e..6c5e4e4d5 100644 --- a/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfigTest.java +++ b/otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfigTest.java @@ -31,6 +31,7 @@ class EnvironmentConfigTest { @ClearSystemProperty(key = EnvironmentConfig.REPORTING_ENDPOINT) @ClearSystemProperty(key = EnvironmentConfig.REPORTING_SECURE) @ClearSystemProperty(key = EnvironmentConfig.REPORTING_TRACE_TYPE) + @ClearSystemProperty(key = EnvironmentConfig.REPORTING_CERT_FILE) @ClearSystemProperty(key = EnvironmentConfig.OPA_ENDPOINT) @ClearSystemProperty(key = EnvironmentConfig.OPA_POLL_PERIOD) @ClearSystemProperty(key = EnvironmentConfig.OPA_ENABLED) @@ -46,6 +47,7 @@ public void systemProperties() { System.setProperty(EnvironmentConfig.REPORTING_ENDPOINT, "http://:-)"); System.setProperty(EnvironmentConfig.REPORTING_TRACE_TYPE, "OTLP"); System.setProperty(EnvironmentConfig.REPORTING_SECURE, "true"); + System.setProperty(EnvironmentConfig.REPORTING_CERT_FILE, "/bar/test.pem"); System.setProperty(EnvironmentConfig.CAPTURE_HTTP_BODY_PREFIX + "request", "true"); System.setProperty(EnvironmentConfig.OPA_ENDPOINT, "http://azkaban:9090"); System.setProperty(EnvironmentConfig.OPA_POLL_PERIOD, "10"); @@ -78,6 +80,7 @@ public void systemProperties() { 10, agentConfig.getReporting().getOpa().getPollPeriodSeconds().getValue()); Assertions.assertEquals(512, agentConfig.getDataCapture().getBodyMaxSizeBytes().getValue()); Assertions.assertEquals(true, agentConfig.getReporting().getSecure().getValue()); + Assertions.assertEquals("/bar/test.pem", agentConfig.getReporting().getCertFile().getValue()); Assertions.assertEquals( true, agentConfig.getDataCapture().getHttpBody().getRequest().getValue()); Assertions.assertEquals(2, agentConfig.getJavaagent().getFilterJarPathsCount()); From 908c9896744fc29adf591fcf457da612752a9f10 Mon Sep 17 00:00:00 2001 From: Ryan Dens Date: Thu, 7 Oct 2021 08:56:08 -0400 Subject: [PATCH 4/7] :sparkles: support cert file from evn var/system properties' --- .../agent/otel/extensions/config/EnvironmentConfig.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfig.java b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfig.java index 64bd697a1..b0b215853 100644 --- a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfig.java +++ b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfig.java @@ -46,6 +46,7 @@ private EnvironmentConfig() {} static final String REPORTING_ENDPOINT = REPORTING_PREFIX + "endpoint"; static final String REPORTING_TRACE_TYPE = REPORTING_PREFIX + "trace.reporter.type"; static final String REPORTING_SECURE = REPORTING_PREFIX + "secure"; + static final String REPORTING_CERT_FILE = REPORTING_PREFIX + "cert.file"; private static final String OPA_PREFIX = REPORTING_PREFIX + "opa."; static final String OPA_ENDPOINT = OPA_PREFIX + "endpoint"; @@ -133,6 +134,10 @@ private static Reporting.Builder applyReporting(Reporting.Builder builder) { if (secure != null) { builder.setSecure(BoolValue.newBuilder().setValue(Boolean.valueOf(secure)).build()); } + String certFilePath = getProperty(REPORTING_CERT_FILE); + if (certFilePath != null) { + builder.setCertFile(StringValue.of(certFilePath)); + } Builder opaBuilder = applyOpa(builder.getOpa().toBuilder()); builder.setOpa(opaBuilder); return builder; From 652dce989275e9ebccd3257fbca7725a4a50421d Mon Sep 17 00:00:00 2001 From: Ryan Dens Date: Thu, 7 Oct 2021 08:59:05 -0400 Subject: [PATCH 5/7] :sparkles: configure OpenTelemetry SDK certifacte based on HT cert_file config --- .../otel/extensions/config/HypertraceAgentConfiguration.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/HypertraceAgentConfiguration.java b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/HypertraceAgentConfiguration.java index 9abf6e952..806de7572 100644 --- a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/HypertraceAgentConfiguration.java +++ b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/HypertraceAgentConfiguration.java @@ -43,6 +43,7 @@ public class HypertraceAgentConfiguration implements ConfigPropertySource { private static final String OTEL_EXPORTER_OTLP_ENDPOINT = "otel.exporter.otlp.endpoint"; private static final String OTEL_ENABLED = "otel.javaagent.enabled"; + private static final String OTEL_CERT = "otel.exporter.otlp.certificate"; @Override public Map getProperties() { @@ -66,6 +67,9 @@ public Map getProperties() { OTEL_PROPAGATORS, toOtelPropagators(agentConfig.getPropagationFormatsList())); // metrics are not reported configProperties.put(OTEL_METRICS_EXPORTER, "none"); + if (agentConfig.getReporting().hasCertFile()) { + configProperties.put(OTEL_CERT, agentConfig.getReporting().getCertFile().getValue()); + } return configProperties; } From 2c319ef42bfae3879c1496827a4e7218b39ac917 Mon Sep 17 00:00:00 2001 From: Ryan Dens Date: Thu, 7 Oct 2021 11:01:30 -0400 Subject: [PATCH 6/7] :loud_sound: add log message for case when exporter is not OTLP but there is a cert_file configured' --- .../config/HypertraceAgentConfiguration.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/HypertraceAgentConfiguration.java b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/HypertraceAgentConfiguration.java index 806de7572..8fd4eda68 100644 --- a/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/HypertraceAgentConfiguration.java +++ b/otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/HypertraceAgentConfiguration.java @@ -26,10 +26,14 @@ import org.hypertrace.agent.config.v1.Config.AgentConfig; import org.hypertrace.agent.config.v1.Config.PropagationFormat; import org.hypertrace.agent.config.v1.Config.TraceReporterType; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @AutoService(ConfigPropertySource.class) public class HypertraceAgentConfiguration implements ConfigPropertySource { + private static final Logger log = LoggerFactory.getLogger(HypertraceAgentConfiguration.class); + // https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/sdk-environment-variables.md private static final String OTEL_TRACE_EXPORTER = "otel.traces.exporter"; private static final String OTEL_METRICS_EXPORTER = "otel.metrics.exporter"; @@ -43,7 +47,7 @@ public class HypertraceAgentConfiguration implements ConfigPropertySource { private static final String OTEL_EXPORTER_OTLP_ENDPOINT = "otel.exporter.otlp.endpoint"; private static final String OTEL_ENABLED = "otel.javaagent.enabled"; - private static final String OTEL_CERT = "otel.exporter.otlp.certificate"; + private static final String OTEL_OTLP_CERT = "otel.exporter.otlp.certificate"; @Override public Map getProperties() { @@ -68,7 +72,12 @@ public Map getProperties() { // metrics are not reported configProperties.put(OTEL_METRICS_EXPORTER, "none"); if (agentConfig.getReporting().hasCertFile()) { - configProperties.put(OTEL_CERT, agentConfig.getReporting().getCertFile().getValue()); + if (agentConfig.getReporting().getTraceReporterType() == TraceReporterType.OTLP) { + configProperties.put(OTEL_OTLP_CERT, agentConfig.getReporting().getCertFile().getValue()); + } else { + log.warn( + "A certificate file was configured, but a trace exporter other than OTLP was configured. If you would like to use a custom certificate file, you must use the OTLP exporter"); + } } return configProperties; From 07868e5d06cecb94290c5d522d03decd9f9b9e5e Mon Sep 17 00:00:00 2001 From: Ryan Dens Date: Thu, 7 Oct 2021 12:49:16 -0400 Subject: [PATCH 7/7] :bug: lock collector to version --- .../test/groovy/org/hypertrace/agent/smoketest/SmokeTest.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smoke-tests/src/test/groovy/org/hypertrace/agent/smoketest/SmokeTest.groovy b/smoke-tests/src/test/groovy/org/hypertrace/agent/smoketest/SmokeTest.groovy index ac9150ccb..a394924b0 100644 --- a/smoke-tests/src/test/groovy/org/hypertrace/agent/smoketest/SmokeTest.groovy +++ b/smoke-tests/src/test/groovy/org/hypertrace/agent/smoketest/SmokeTest.groovy @@ -255,7 +255,7 @@ abstract class SmokeTest extends Specification { .withLogConsumer(new Slf4jLogConsumer(LoggerFactory.getLogger("smoke.tests.backend"))) backend.start() - collector = new GenericContainer<>("otel/opentelemetry-collector-contrib-dev:latest") + collector = new GenericContainer<>("otel/opentelemetry-collector:0.21.0") .dependsOn(backend) .withNetwork(network) .withNetworkAliases("collector")