Microsoft.Azure.WebJobs.Script.WebHost.Diagnostics.MetricsEventManager.MetricsEventManager C# (CSharp) Method

MetricsEventManager() public method

public MetricsEventManager ( ScriptSettingsManager settingsManager, IEventGenerator generator, int functionActivityFlushIntervalSeconds, int metricsFlushIntervalMS = DefaultFlushIntervalMS ) : System
settingsManager Microsoft.Azure.WebJobs.Script.Config.ScriptSettingsManager
generator IEventGenerator
functionActivityFlushIntervalSeconds int
metricsFlushIntervalMS int
return System
        public MetricsEventManager(ScriptSettingsManager settingsManager, IEventGenerator generator, int functionActivityFlushIntervalSeconds, int metricsFlushIntervalMS = DefaultFlushIntervalMS)
        {
            // we read these in the ctor (not static ctor) since it can change on the fly
            appName = GetNormalizedString(settingsManager.AzureWebsiteDefaultSubdomain);
            subscriptionId = Utility.GetSubscriptionId() ?? string.Empty;

            _eventGenerator = generator;
            _functionActivityFlushIntervalSeconds = functionActivityFlushIntervalSeconds;
            QueuedEvents = new ConcurrentDictionary<string, SystemMetricEvent>(StringComparer.OrdinalIgnoreCase);

            // Initialize the periodic log flush timer
            _metricsFlushTimer = new Timer(TimerFlush, null, metricsFlushIntervalMS, metricsFlushIntervalMS);
        }