public RandomSchedulingPolicy()

in src/ServiceProfiler.EventPipe.Otel/Microsoft.ApplicationInsights.Profiler.Shared/Orchestrations/Scheduling/RandomSchedulingPolicy.cs [28:50]


    public RandomSchedulingPolicy(
        IOptions<UserConfigurationBase> userConfiguration,
        ProfilerSettings profilerSettings,
        ProcessExpirationPolicy expirationPolicy,
        IDelaySource delaySource,
        IRandomSource randomSource,
        IResourceUsageSource resourceUsageSource,
        ILogger<RandomSchedulingPolicy> logger)
        : base(
            profilingDuration: TimeSpan.FromSeconds(profilerSettings.SamplingOptions.ProfilingDurationInSeconds),
            profilingCooldown: TimeSpan.Zero,
            pollingInterval: userConfiguration.Value.ConfigurationUpdateFrequency,
            profilerSettings: profilerSettings,
            delaySource,
            expirationPolicy,
            resourceUsageSource,
            logger
        )
    {
        PolicyEnabled = profilerSettings.SamplingOptions.Enabled;
        _randomSource = randomSource ?? throw new ArgumentNullException(nameof(randomSource));
        _overhead = profilerSettings.SamplingOptions.SamplingRate;
    }