private void SetFromSettingsContract()

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.");
        }
    }