add gauges for queue free/active/inactive

This commit is contained in:
rootdarkarchon
2023-08-02 10:14:27 +02:00
parent 4024754b47
commit 255798c0c6
3 changed files with 9 additions and 0 deletions

View File

@@ -27,6 +27,9 @@ public class MetricsAPI
public const string GaugeFilesUniquePastDay = "mare_files_unique_past_day"; public const string GaugeFilesUniquePastDay = "mare_files_unique_past_day";
public const string GaugeFilesUniquePastDaySize = "mare_files_unique_past_day_size"; public const string GaugeFilesUniquePastDaySize = "mare_files_unique_past_day_size";
public const string GaugeCurrentDownloads = "mare_current_downloads"; public const string GaugeCurrentDownloads = "mare_current_downloads";
public const string GaugeQueueFree = "mare_download_queue_free";
public const string GaugeQueueActive = "mare_download_queue_active";
public const string GaugeQueueInactive = "mare_download_queue_inactive";
public const string GaugeDownloadQueue = "mare_download_queue"; public const string GaugeDownloadQueue = "mare_download_queue";
public const string CounterFileRequests = "mare_files_requests"; public const string CounterFileRequests = "mare_files_requests";
public const string CounterFileRequestSize = "mare_files_request_size"; public const string CounterFileRequestSize = "mare_files_request_size";

View File

@@ -193,6 +193,9 @@ public class RequestQueueService : IHostedService
_queueProcessingSemaphore.Release(); _queueProcessingSemaphore.Release();
} }
_metrics.SetGaugeTo(MetricsAPI.GaugeQueueFree, _userQueueRequests.Count(c => c == null));
_metrics.SetGaugeTo(MetricsAPI.GaugeQueueActive, _userQueueRequests.Count(c => c != null && c.IsActive));
_metrics.SetGaugeTo(MetricsAPI.GaugeQueueInactive, _userQueueRequests.Count(c => c != null && !c.IsActive));
_metrics.SetGaugeTo(MetricsAPI.GaugeDownloadQueue, _queue.Count); _metrics.SetGaugeTo(MetricsAPI.GaugeDownloadQueue, _queue.Count);
} }
} }

View File

@@ -65,6 +65,9 @@ public class Startup
MetricsAPI.GaugeFilesUniquePastHourSize, MetricsAPI.GaugeFilesUniquePastHourSize,
MetricsAPI.GaugeCurrentDownloads, MetricsAPI.GaugeCurrentDownloads,
MetricsAPI.GaugeDownloadQueue, MetricsAPI.GaugeDownloadQueue,
MetricsAPI.GaugeQueueFree,
MetricsAPI.GaugeQueueInactive,
MetricsAPI.GaugeQueueActive,
})); }));
services.AddSingleton<CachedFileProvider>(); services.AddSingleton<CachedFileProvider>();
services.AddSingleton<FileStatisticsService>(); services.AddSingleton<FileStatisticsService>();