@@ -80,32 +80,36 @@ static bool GetStringDualEnvVar(const char *signal_name,
8080 return exists;
8181}
8282
83- static std:: uint32_t GetUintEnvVarOrDefault (opentelemetry::nostd::string_view signal_env ,
84- opentelemetry::nostd::string_view generic_env ,
85- std::uint32_t default_value )
83+ static bool GetUintDualEnvVar ( const char *signal_name ,
84+ const char *generic_name ,
85+ std::uint32_t &value )
8686{
87- std::string value ;
87+ bool exists ;
8888
89- if (GetStringDualEnvVar (signal_env.data (), generic_env.data (), value))
89+ exists = sdk_common::GetUintEnvironmentVariable (signal_name, value);
90+ if (exists)
9091 {
91- return static_cast <std:: uint32_t >( std::strtoul (value. c_str (), nullptr , 10 )) ;
92+ return true ;
9293 }
9394
94- return default_value;
95+ exists = sdk_common::GetUintEnvironmentVariable (generic_name, value);
96+
97+ return exists;
9598}
9699
97- static float GetFloatEnvVarOrDefault (opentelemetry::nostd::string_view signal_env,
98- opentelemetry::nostd::string_view generic_env,
99- float default_value)
100+ static float GetFloatDualEnvVar (const char *signal_name, const char *generic_name, float &value)
100101{
101- std::string value ;
102+ bool exists ;
102103
103- if (GetStringDualEnvVar (signal_env.data (), generic_env.data (), value))
104+ exists = sdk_common::GetFloatEnvironmentVariable (signal_name, value);
105+ if (exists)
104106 {
105- return std::strtof (value. c_str (), nullptr ) ;
107+ return true ;
106108 }
107109
108- return default_value;
110+ exists = sdk_common::GetFloatEnvironmentVariable (generic_name, value);
111+
112+ return exists;
109113}
110114
111115std::string GetOtlpDefaultGrpcTracesEndpoint ()
@@ -1157,84 +1161,168 @@ std::uint32_t GetOtlpDefaultTracesRetryMaxAttempts()
11571161{
11581162 constexpr char kSignalEnv [] = " OTEL_EXPORTER_OTLP_TRACES_RETRY_MAX_ATTEMPTS" ;
11591163 constexpr char kGenericEnv [] = " OTEL_EXPORTER_OTLP_RETRY_MAX_ATTEMPTS" ;
1160- return GetUintEnvVarOrDefault (kSignalEnv , kGenericEnv , 5U );
1164+ std::uint32_t value;
1165+
1166+ if (!GetUintDualEnvVar (kSignalEnv , kGenericEnv , value))
1167+ {
1168+ return 5U ;
1169+ }
1170+
1171+ return value;
11611172}
11621173
11631174std::uint32_t GetOtlpDefaultMetricsRetryMaxAttempts ()
11641175{
11651176 constexpr char kSignalEnv [] = " OTEL_EXPORTER_OTLP_METRICS_RETRY_MAX_ATTEMPTS" ;
11661177 constexpr char kGenericEnv [] = " OTEL_EXPORTER_OTLP_RETRY_MAX_ATTEMPTS" ;
1167- return GetUintEnvVarOrDefault (kSignalEnv , kGenericEnv , 5U );
1178+ std::uint32_t value;
1179+
1180+ if (!GetUintDualEnvVar (kSignalEnv , kGenericEnv , value))
1181+ {
1182+ return 5U ;
1183+ }
1184+
1185+ return value;
11681186}
11691187
11701188std::uint32_t GetOtlpDefaultLogsRetryMaxAttempts ()
11711189{
11721190 constexpr char kSignalEnv [] = " OTEL_EXPORTER_OTLP_LOGS_RETRY_MAX_ATTEMPTS" ;
11731191 constexpr char kGenericEnv [] = " OTEL_EXPORTER_OTLP_RETRY_MAX_ATTEMPTS" ;
1174- return GetUintEnvVarOrDefault (kSignalEnv , kGenericEnv , 5U );
1192+ std::uint32_t value;
1193+
1194+ if (!GetUintDualEnvVar (kSignalEnv , kGenericEnv , value))
1195+ {
1196+ return 5U ;
1197+ }
1198+
1199+ return value;
11751200}
11761201
11771202float GetOtlpDefaultTracesRetryInitialBackoff ()
11781203{
11791204 constexpr char kSignalEnv [] = " OTEL_EXPORTER_OTLP_TRACES_RETRY_INITIAL_BACKOFF" ;
11801205 constexpr char kGenericEnv [] = " OTEL_EXPORTER_OTLP_RETRY_INITIAL_BACKOFF" ;
1181- return GetFloatEnvVarOrDefault (kSignalEnv , kGenericEnv , 1.0 );
1206+ float value;
1207+
1208+ if (!GetFloatDualEnvVar (kSignalEnv , kGenericEnv , value))
1209+ {
1210+ return 1 .0f ;
1211+ }
1212+
1213+ return value;
11821214}
11831215
11841216float GetOtlpDefaultMetricsRetryInitialBackoff ()
11851217{
11861218 constexpr char kSignalEnv [] = " OTEL_EXPORTER_OTLP_METRICS_RETRY_INITIAL_BACKOFF" ;
11871219 constexpr char kGenericEnv [] = " OTEL_EXPORTER_OTLP_RETRY_INITIAL_BACKOFF" ;
1188- return GetFloatEnvVarOrDefault (kSignalEnv , kGenericEnv , 1.0 );
1220+ float value;
1221+
1222+ if (!GetFloatDualEnvVar (kSignalEnv , kGenericEnv , value))
1223+ {
1224+ return 1 .0f ;
1225+ }
1226+
1227+ return value;
11891228}
11901229
11911230float GetOtlpDefaultLogsRetryInitialBackoff ()
11921231{
11931232 constexpr char kSignalEnv [] = " OTEL_EXPORTER_OTLP_LOGS_RETRY_INITIAL_BACKOFF" ;
11941233 constexpr char kGenericEnv [] = " OTEL_EXPORTER_OTLP_RETRY_INITIAL_BACKOFF" ;
1195- return GetFloatEnvVarOrDefault (kSignalEnv , kGenericEnv , 1.0 );
1234+ float value;
1235+
1236+ if (!GetFloatDualEnvVar (kSignalEnv , kGenericEnv , value))
1237+ {
1238+ return 1 .0f ;
1239+ }
1240+
1241+ return value;
11961242}
11971243
11981244float GetOtlpDefaultTracesRetryMaxBackoff ()
11991245{
12001246 constexpr char kSignalEnv [] = " OTEL_EXPORTER_OTLP_TRACES_RETRY_MAX_BACKOFF" ;
12011247 constexpr char kGenericEnv [] = " OTEL_EXPORTER_OTLP_RETRY_MAX_BACKOFF" ;
1202- return GetFloatEnvVarOrDefault (kSignalEnv , kGenericEnv , 5.0 );
1248+ float value;
1249+
1250+ if (!GetFloatDualEnvVar (kSignalEnv , kGenericEnv , value))
1251+ {
1252+ return 5 .0f ;
1253+ }
1254+
1255+ return value;
12031256}
12041257
12051258float GetOtlpDefaultMetricsRetryMaxBackoff ()
12061259{
12071260 constexpr char kSignalEnv [] = " OTEL_EXPORTER_OTLP_METRICS_RETRY_MAX_BACKOFF" ;
12081261 constexpr char kGenericEnv [] = " OTEL_EXPORTER_OTLP_RETRY_MAX_BACKOFF" ;
1209- return GetFloatEnvVarOrDefault (kSignalEnv , kGenericEnv , 5.0 );
1262+ float value;
1263+
1264+ if (!GetFloatDualEnvVar (kSignalEnv , kGenericEnv , value))
1265+ {
1266+ return 5 .0f ;
1267+ }
1268+
1269+ return value;
12101270}
12111271
12121272float GetOtlpDefaultLogsRetryMaxBackoff ()
12131273{
12141274 constexpr char kSignalEnv [] = " OTEL_EXPORTER_OTLP_LOGS_RETRY_MAX_BACKOFF" ;
12151275 constexpr char kGenericEnv [] = " OTEL_EXPORTER_OTLP_RETRY_MAX_BACKOFF" ;
1216- return GetFloatEnvVarOrDefault (kSignalEnv , kGenericEnv , 5.0 );
1276+ float value;
1277+
1278+ if (!GetFloatDualEnvVar (kSignalEnv , kGenericEnv , value))
1279+ {
1280+ return 5 .0f ;
1281+ }
1282+
1283+ return value;
12171284}
12181285
12191286float GetOtlpDefaultTracesRetryBackoffMultiplier ()
12201287{
12211288 constexpr char kSignalEnv [] = " OTEL_EXPORTER_OTLP_TRACES_RETRY_BACKOFF_MULTIPLIER" ;
12221289 constexpr char kGenericEnv [] = " OTEL_EXPORTER_OTLP_RETRY_BACKOFF_MULTIPLIER" ;
1223- return GetFloatEnvVarOrDefault (kSignalEnv , kGenericEnv , 1 .5f );
1290+ float value;
1291+
1292+ if (!GetFloatDualEnvVar (kSignalEnv , kGenericEnv , value))
1293+ {
1294+ return 1 .5f ;
1295+ }
1296+
1297+ return value;
12241298}
12251299
12261300float GetOtlpDefaultMetricsRetryBackoffMultiplier ()
12271301{
12281302 constexpr char kSignalEnv [] = " OTEL_EXPORTER_OTLP_METRICS_RETRY_BACKOFF_MULTIPLIER" ;
12291303 constexpr char kGenericEnv [] = " OTEL_EXPORTER_OTLP_RETRY_BACKOFF_MULTIPLIER" ;
1230- return GetFloatEnvVarOrDefault (kSignalEnv , kGenericEnv , 1 .5f );
1304+ float value;
1305+
1306+ if (!GetFloatDualEnvVar (kSignalEnv , kGenericEnv , value))
1307+ {
1308+ return 1 .5f ;
1309+ }
1310+
1311+ return value;
12311312}
12321313
12331314float GetOtlpDefaultLogsRetryBackoffMultiplier ()
12341315{
12351316 constexpr char kSignalEnv [] = " OTEL_EXPORTER_OTLP_LOGS_RETRY_BACKOFF_MULTIPLIER" ;
12361317 constexpr char kGenericEnv [] = " OTEL_EXPORTER_OTLP_RETRY_BACKOFF_MULTIPLIER" ;
1237- return GetFloatEnvVarOrDefault (kSignalEnv , kGenericEnv , 1 .5f );
1318+ float value;
1319+
1320+ if (!GetFloatDualEnvVar (kSignalEnv , kGenericEnv , value))
1321+ {
1322+ return 1 .5f ;
1323+ }
1324+
1325+ return value;
12381326}
12391327
12401328} // namespace otlp
0 commit comments