2019-07-16 19:59:06 +00:00
|
|
|
using App.Metrics;
|
|
|
|
using App.Metrics.Gauge;
|
2019-07-20 22:01:02 +00:00
|
|
|
using App.Metrics.Meter;
|
2019-08-12 00:05:30 +00:00
|
|
|
using App.Metrics.Timer;
|
2019-07-16 19:59:06 +00:00
|
|
|
|
|
|
|
namespace PluralKit.Core
|
|
|
|
{
|
|
|
|
public static class CoreMetrics
|
|
|
|
{
|
2019-07-20 22:11:46 +00:00
|
|
|
public static GaugeOptions SystemCount => new GaugeOptions { Name = "Systems", MeasurementUnit = Unit.Items };
|
|
|
|
public static GaugeOptions MemberCount => new GaugeOptions { Name = "Members", MeasurementUnit = Unit.Items };
|
|
|
|
public static GaugeOptions MessageCount => new GaugeOptions { Name = "Messages", MeasurementUnit = Unit.Items };
|
|
|
|
public static GaugeOptions SwitchCount => new GaugeOptions { Name = "Switches", MeasurementUnit = Unit.Items };
|
2020-08-25 16:26:30 +00:00
|
|
|
public static GaugeOptions GroupCount => new GaugeOptions { Name = "Groups", MeasurementUnit = Unit.Items };
|
2019-07-20 22:01:02 +00:00
|
|
|
|
|
|
|
public static GaugeOptions ProcessPhysicalMemory => new GaugeOptions { Name = "Process Physical Memory", MeasurementUnit = Unit.Bytes, Context = "Process" };
|
|
|
|
public static GaugeOptions ProcessVirtualMemory => new GaugeOptions { Name = "Process Virtual Memory", MeasurementUnit = Unit.Bytes, Context = "Process" };
|
|
|
|
public static GaugeOptions ProcessPrivateMemory => new GaugeOptions { Name = "Process Private Memory", MeasurementUnit = Unit.Bytes, Context = "Process" };
|
|
|
|
public static GaugeOptions ProcessThreads => new GaugeOptions { Name = "Process Thread Count", MeasurementUnit = Unit.Threads, Context = "Process" };
|
|
|
|
public static GaugeOptions ProcessHandles => new GaugeOptions { Name = "Process Handle Count", MeasurementUnit = Unit.Items, Context = "Process" };
|
|
|
|
public static GaugeOptions CpuUsage => new GaugeOptions { Name = "CPU Usage", MeasurementUnit = Unit.Percent, Context = "Process" };
|
2019-08-11 20:56:20 +00:00
|
|
|
|
2019-08-12 00:05:30 +00:00
|
|
|
public static MeterOptions DatabaseRequests => new MeterOptions() { Name = "Database Requests", MeasurementUnit = Unit.Requests, Context = "Database", RateUnit = TimeUnit.Seconds};
|
|
|
|
public static TimerOptions DatabaseQuery => new TimerOptions() { Name = "Database Query", MeasurementUnit = Unit.Requests, DurationUnit = TimeUnit.Seconds, RateUnit = TimeUnit.Seconds, Context = "Database" };
|
2019-08-11 20:56:20 +00:00
|
|
|
public static GaugeOptions DatabaseConnections => new GaugeOptions() { Name = "Database Connections", MeasurementUnit = Unit.Connections, Context = "Database" };
|
2019-07-16 19:59:06 +00:00
|
|
|
}
|
|
|
|
}
|