in src/ServiceProfiler.EventPipe.Otel/Microsoft.ApplicationInsights.Profiler.Shared/Contracts/ProfilerSettings.cs [52:82]
private void SetFromSettingsContract(SettingsContract settingsContract)
{
if (settingsContract is null)
{
throw new ArgumentNullException(nameof(settingsContract));
}
string[] settingsToParse = {
settingsContract.CollectionPlan,
settingsContract.CpuTriggerConfiguration,
settingsContract.MemoryTriggerConfiguration,
settingsContract.DefaultConfiguration
};
AgentSettings parsedSettings = _settingsParser.ParseManyAgentSettings(settingsToParse.Where(setting => !String.IsNullOrEmpty(setting)).ToArray());
if (parsedSettings is not null)
{
parsedSettings.Enabled = settingsContract.Enabled;
Enabled = parsedSettings.Enabled;
SamplingOptions = parsedSettings.Engine.SamplingOptions ?? SamplingOptions;
CpuTriggerSettings = parsedSettings.Engine.CpuTriggerSettings ?? CpuTriggerSettings;
MemoryTriggerSettings = parsedSettings.Engine.MemoryTriggerSettings ?? MemoryTriggerSettings;
CollectionPlan = settingsContract.CollectionPlan ?? CollectionPlan;
Engine = parsedSettings.Engine ?? Engine;
}
else
{
_logger.LogWarning("No remote settings have been configured for this IKey.");
}
}