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 _);
}
}