in agent/native/ext/ConfigManager.cpp [1251:1312]
void parseCombinedRawConfigSnapshot(
ConfigManager* cfgManager,
const CombinedRawConfigSnapshot* combinedRawCfgSnapshot,
ConfigSnapshot* cfgSnapshot )
{
ELASTIC_APM_ASSERT_VALID_PTR( cfgManager );
ELASTIC_APM_ASSERT_VALID_PTR( combinedRawCfgSnapshot );
ELASTIC_APM_ASSERT_VALID_PTR( cfgSnapshot );
const OptionMetadata* const optsMeta = cfgManager->meta.optionsMeta;
ELASTIC_APM_FOR_EACH_OPTION_ID( optId )
{
char txtOutStreamBuf[ ELASTIC_APM_TEXT_OUTPUT_STREAM_ON_STACK_BUFFER_SIZE ];
TextOutputStream txtOutStream = ELASTIC_APM_TEXT_OUTPUT_STREAM_FROM_STATIC_BUFFER( txtOutStreamBuf );
const OptionMetadata* const optMeta = &( optsMeta[ optId ] );
const String originalRawValue = combinedRawCfgSnapshot->original[ optId ];
const String interpretedRawValue = combinedRawCfgSnapshot->interpreted[ optId ];
const String sourceDescription = combinedRawCfgSnapshot->sourceDescriptions[ optId ];
ParsedOptionValue parsedOptValue;
ELASTIC_APM_ZERO_STRUCT( &parsedOptValue );
if ( cfgManager->isLoggingRelatedOnly && !optMeta->isLoggingRelated )
{
continue;
}
if ( interpretedRawValue == NULL )
{
parsedOptValue = optMeta->defaultValue;
ELASTIC_APM_LOG_DEBUG(
"Configuration option `%s' is not set - using default value (%s)",
optMeta->name,
optMeta->streamParsedValue( optMeta, parsedOptValue, &txtOutStream ) );
}
else if ( optMeta->parseRawValue( optMeta, interpretedRawValue, &parsedOptValue ) == resultSuccess )
{
ELASTIC_APM_LOG_DEBUG(
"Successfully parsed configuration option `%s' - "
"parsed value: %s (raw value: `%s', interpreted as: `%s', source: %s)",
optMeta->name,
optMeta->streamParsedValue( optMeta, parsedOptValue, &txtOutStream ),
originalRawValue,
interpretedRawValue,
sourceDescription );
}
else
{
parsedOptValue = optMeta->defaultValue;
ELASTIC_APM_LOG_ERROR(
"Failed to parse configuration option `%s' - "
"using default value (%s). Failed to parse raw value: `%s', interpreted as: `%s', source: %s.",
optMeta->name,
optMeta->streamParsedValue( optMeta, parsedOptValue, &txtOutStream ),
originalRawValue,
interpretedRawValue,
sourceDescription );
}
optMeta->setField( optMeta, parsedOptValue, cfgSnapshot );
}
}