@@ -681,6 +681,8 @@ private Config(final ConfigProvider configProvider, final InstrumenterConfig ins
681681
682682 if (agentHostFromEnvironment == null ) {
683683 agentHost = DEFAULT_AGENT_HOST ;
684+ } else if (agentHostFromEnvironment .charAt (0 ) == '[' ) {
685+ agentHost = agentHostFromEnvironment .substring (1 , agentHostFromEnvironment .length ()-2 );
684686 } else {
685687 agentHost = agentHostFromEnvironment ;
686688 }
@@ -691,12 +693,17 @@ private Config(final ConfigProvider configProvider, final InstrumenterConfig ins
691693 agentPort = agentPortFromEnvironment ;
692694 }
693695
694- if (rebuildAgentUrl ) {
695- agentUrl = "http://" + agentHost + ":" + agentPort ;
696+ if (rebuildAgentUrl ) { //check if agenthost contains ':'
697+ if (agentHost .indexOf (':' ) != -1 ) { //Checking to see whether host address is IPv6 vs IPv4
698+ agentUrl = "http://[" + agentHost + "]:" + agentPort ;
699+ } else {
700+ agentUrl = "http://" + agentHost + ":" + agentPort ;
701+ }
696702 } else {
697703 agentUrl = agentUrlFromEnvironment ;
698704 }
699705
706+
700707 if (unixSocketFromEnvironment == null ) {
701708 unixSocketFromEnvironment = configProvider .getString (AGENT_UNIX_DOMAIN_SOCKET );
702709 String unixPrefix = "unix://" ;
@@ -1203,7 +1210,7 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment())
12031210 telemetryMetricsInterval = telemetryInterval ;
12041211
12051212 telemetryMetricsEnabled =
1206- configProvider .getBoolean (GeneralConfig . TELEMETRY_METRICS_ENABLED , true );
1213+ configProvider .getBoolean (TELEMETRY_METRICS_ENABLED , true );
12071214
12081215 isTelemetryLogCollectionEnabled =
12091216 instrumenterConfig .isTelemetryEnabled ()
@@ -1686,16 +1693,16 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment())
16861693
16871694 boolean longRunningEnabled =
16881695 configProvider .getBoolean (
1689- TracerConfig . TRACE_LONG_RUNNING_ENABLED ,
1690- ConfigDefaults . DEFAULT_TRACE_LONG_RUNNING_ENABLED );
1696+ TRACE_LONG_RUNNING_ENABLED ,
1697+ DEFAULT_TRACE_LONG_RUNNING_ENABLED );
16911698 long longRunningTraceInitialFlushInterval =
16921699 configProvider .getLong (
1693- TracerConfig . TRACE_LONG_RUNNING_INITIAL_FLUSH_INTERVAL ,
1700+ TRACE_LONG_RUNNING_INITIAL_FLUSH_INTERVAL ,
16941701 DEFAULT_TRACE_LONG_RUNNING_INITIAL_FLUSH_INTERVAL );
16951702 long longRunningTraceFlushInterval =
16961703 configProvider .getLong (
1697- TracerConfig . TRACE_LONG_RUNNING_FLUSH_INTERVAL ,
1698- ConfigDefaults . DEFAULT_TRACE_LONG_RUNNING_FLUSH_INTERVAL );
1704+ TRACE_LONG_RUNNING_FLUSH_INTERVAL ,
1705+ DEFAULT_TRACE_LONG_RUNNING_FLUSH_INTERVAL );
16991706
17001707 if (longRunningEnabled
17011708 && (longRunningTraceInitialFlushInterval < 10
@@ -1722,30 +1729,30 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment())
17221729
17231730 this .sparkTaskHistogramEnabled =
17241731 configProvider .getBoolean (
1725- SPARK_TASK_HISTOGRAM_ENABLED , ConfigDefaults . DEFAULT_SPARK_TASK_HISTOGRAM_ENABLED );
1732+ SPARK_TASK_HISTOGRAM_ENABLED , DEFAULT_SPARK_TASK_HISTOGRAM_ENABLED );
17261733
17271734 this .sparkAppNameAsService =
17281735 configProvider .getBoolean (
1729- SPARK_APP_NAME_AS_SERVICE , ConfigDefaults . DEFAULT_SPARK_APP_NAME_AS_SERVICE );
1736+ SPARK_APP_NAME_AS_SERVICE , DEFAULT_SPARK_APP_NAME_AS_SERVICE );
17301737
17311738 this .jaxRsExceptionAsErrorsEnabled =
17321739 configProvider .getBoolean (
17331740 JAX_RS_EXCEPTION_AS_ERROR_ENABLED ,
1734- ConfigDefaults . DEFAULT_JAX_RS_EXCEPTION_AS_ERROR_ENABLED );
1741+ DEFAULT_JAX_RS_EXCEPTION_AS_ERROR_ENABLED );
17351742
17361743 axisPromoteResourceName = configProvider .getBoolean (AXIS_PROMOTE_RESOURCE_NAME , false );
17371744
17381745 this .traceFlushIntervalSeconds =
17391746 configProvider .getFloat (
1740- TracerConfig . TRACE_FLUSH_INTERVAL , ConfigDefaults . DEFAULT_TRACE_FLUSH_INTERVAL );
1747+ TRACE_FLUSH_INTERVAL , DEFAULT_TRACE_FLUSH_INTERVAL );
17411748 if (profilingAgentless && apiKey == null ) {
17421749 log .warn (
17431750 "Agentless profiling activated but no api key provided. Profile uploading will likely fail" );
17441751 }
17451752
17461753 this .tracePostProcessingTimeout =
17471754 configProvider .getLong (
1748- TRACE_POST_PROCESSING_TIMEOUT , ConfigDefaults . DEFAULT_TRACE_POST_PROCESSING_TIMEOUT );
1755+ TRACE_POST_PROCESSING_TIMEOUT , DEFAULT_TRACE_POST_PROCESSING_TIMEOUT );
17491756
17501757 if (isCiVisibilityEnabled ()
17511758 && ciVisibilityAgentlessEnabled
@@ -1757,36 +1764,36 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment())
17571764
17581765 this .telemetryDebugRequestsEnabled =
17591766 configProvider .getBoolean (
1760- GeneralConfig . TELEMETRY_DEBUG_REQUESTS_ENABLED ,
1761- ConfigDefaults . DEFAULT_TELEMETRY_DEBUG_REQUESTS_ENABLED );
1767+ TELEMETRY_DEBUG_REQUESTS_ENABLED ,
1768+ DEFAULT_TELEMETRY_DEBUG_REQUESTS_ENABLED );
17621769
17631770 this .agentlessLogSubmissionEnabled =
1764- configProvider .getBoolean (GeneralConfig . AGENTLESS_LOG_SUBMISSION_ENABLED , false );
1771+ configProvider .getBoolean (AGENTLESS_LOG_SUBMISSION_ENABLED , false );
17651772 this .agentlessLogSubmissionQueueSize =
1766- configProvider .getInteger (GeneralConfig . AGENTLESS_LOG_SUBMISSION_QUEUE_SIZE , 1024 );
1773+ configProvider .getInteger (AGENTLESS_LOG_SUBMISSION_QUEUE_SIZE , 1024 );
17671774 this .agentlessLogSubmissionLevel =
1768- configProvider .getString (GeneralConfig . AGENTLESS_LOG_SUBMISSION_LEVEL , "INFO" );
1775+ configProvider .getString (AGENTLESS_LOG_SUBMISSION_LEVEL , "INFO" );
17691776 this .agentlessLogSubmissionUrl =
1770- configProvider .getString (GeneralConfig . AGENTLESS_LOG_SUBMISSION_URL );
1777+ configProvider .getString (AGENTLESS_LOG_SUBMISSION_URL );
17711778 this .agentlessLogSubmissionProduct = isCiVisibilityEnabled () ? "citest" : "apm" ;
17721779
17731780 this .cloudPayloadTaggingServices =
17741781 configProvider .getSet (
1775- TracerConfig . TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES ,
1776- ConfigDefaults . DEFAULT_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES );
1782+ TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES ,
1783+ DEFAULT_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES );
17771784 this .cloudRequestPayloadTagging =
1778- configProvider .getList (TracerConfig . TRACE_CLOUD_REQUEST_PAYLOAD_TAGGING , null );
1785+ configProvider .getList (TRACE_CLOUD_REQUEST_PAYLOAD_TAGGING , null );
17791786 this .cloudResponsePayloadTagging =
1780- configProvider .getList (TracerConfig . TRACE_CLOUD_RESPONSE_PAYLOAD_TAGGING , null );
1787+ configProvider .getList (TRACE_CLOUD_RESPONSE_PAYLOAD_TAGGING , null );
17811788 this .cloudPayloadTaggingMaxDepth =
1782- configProvider .getInteger (TracerConfig . TRACE_CLOUD_PAYLOAD_TAGGING_MAX_DEPTH , 10 );
1789+ configProvider .getInteger (TRACE_CLOUD_PAYLOAD_TAGGING_MAX_DEPTH , 10 );
17831790 this .cloudPayloadTaggingMaxTags =
1784- configProvider .getInteger (TracerConfig . TRACE_CLOUD_PAYLOAD_TAGGING_MAX_TAGS , 758 );
1791+ configProvider .getInteger (TRACE_CLOUD_PAYLOAD_TAGGING_MAX_TAGS , 758 );
17851792
17861793 timelineEventsEnabled =
17871794 configProvider .getBoolean (
1788- ProfilingConfig . PROFILING_TIMELINE_EVENTS_ENABLED ,
1789- ProfilingConfig . PROFILING_TIMELINE_EVENTS_ENABLED_DEFAULT );
1795+ PROFILING_TIMELINE_EVENTS_ENABLED ,
1796+ PROFILING_TIMELINE_EVENTS_ENABLED_DEFAULT );
17901797
17911798 if (appSecScaEnabled != null
17921799 && appSecScaEnabled
@@ -3717,7 +3724,7 @@ public boolean isTraceAnalyticsIntegrationEnabled(
37173724 }
37183725
37193726 public boolean isSamplingMechanismValidationDisabled () {
3720- return configProvider .getBoolean (TracerConfig . SAMPLING_MECHANISM_VALIDATION_DISABLED , false );
3727+ return configProvider .getBoolean (SAMPLING_MECHANISM_VALIDATION_DISABLED , false );
37213728 }
37223729
37233730 public <T extends Enum <T >> T getEnumValue (
0 commit comments