private static void CleanupOldMetrics()

in Microsoft.Azure.WebJobs.Extensions.AzureCosmosDb.Mongo/Trigger/CosmosDBMongoMetricsStore.cs [107:130]


        private static void CleanupOldMetrics()
        {
            var keysToRemove = new List<string>();

            foreach (var key in _metricsHistory.Keys)
            {
                if (_metricsHistory.TryGetValue(key, out var queue))
                {
                    lock (queue)
                    {
                        if (queue.Count == 0 || (DateTime.UtcNow - queue.Last().Timestamp) > TimeSpan.FromHours(1))
                        {
                            keysToRemove.Add(key);
                        }
                    }
                }
            }

            foreach (var key in keysToRemove)
            {
                _metricsHistory.TryRemove(key, out _);
                _currentMetrics.TryRemove(key, out _);
            }
        }