Files
raven/server/AyaNova/util/MetricsRegistry.cs
2020-05-24 21:51:03 +00:00

168 lines
5.1 KiB
C#

// using App.Metrics;
// using App.Metrics.Counter;
// using App.Metrics.Gauge;
// using App.Metrics.Histogram;
// using App.Metrics.ReservoirSampling.Uniform;
// using App.Metrics.Meter;
// using App.Metrics.Timer;
// using App.Metrics.Apdex;
// using App.Metrics.ReservoirSampling.ExponentialDecay;
// namespace AyaNova.Util
// {
// /// <summary>
// /// All metrics gathered by AyaNova are defined here
// /// (except for endpoint ones gathered automatically by App.Metrics)
// /// https://www.app-metrics.io
// /// </summary>
// public static class MetricsRegistry
// {
// /// <summary>
// /// Physical memory
// /// Memory being used by this process (RAVEN)
// /// </summary>
// public static GaugeOptions PhysicalMemoryGauge = new GaugeOptions
// {
// Name = "Process Physical Memory",
// MeasurementUnit = Unit.Bytes
// };
// /// <summary>
// /// Private bytes
// /// The current size, in bytes, of the committed memory owned by this process.
// /// Memory leaks are identified by a consistent and prolonged increase in Private Bytes.
// /// This is the best performance counter for detecting memory leaks.
// /// </summary>
// public static GaugeOptions PrivateBytesGauge = new GaugeOptions
// {
// Name = "Process Private Bytes",
// MeasurementUnit = Unit.Bytes
// };
// /// <summary>
// /// Exceptions that are handled by the ApiCustomExceptionFilter
// /// Basically any exception that is not normal and expected
// /// </summary>
// public static MeterOptions UnhandledExceptionsMeter => new MeterOptions
// {
// Name = "Exceptions Meter",
// MeasurementUnit = Unit.Calls
// };
// /// <summary>
// /// Login failed meter
// /// </summary>
// public static MeterOptions FailedLoginMeter => new MeterOptions
// {
// Name = "Failed Login Meter",
// MeasurementUnit = Unit.Calls
// };
// /// <summary>
// /// Login failed meter
// /// </summary>
// public static MeterOptions SuccessfulLoginMeter => new MeterOptions
// {
// Name = "Successful Login Meter",
// MeasurementUnit = Unit.Calls
// };
// /// <summary>
// /// Records in db
// /// </summary>
// public static GaugeOptions DBRecordsGauge = new GaugeOptions
// {
// Name = "DB Records",
// MeasurementUnit = Unit.Items
// };
// /// <summary>
// /// Jobs in db
// /// </summary>
// public static GaugeOptions JobsGauge = new GaugeOptions
// {
// Name = "Jobs",
// MeasurementUnit = Unit.Items
// };
// /// <summary>
// /// File count on disk
// /// </summary>
// public static GaugeOptions FileCountGauge = new GaugeOptions
// {
// Name = "File count",
// MeasurementUnit = Unit.Items
// };
// /// <summary>
// /// File size on disk
// /// </summary>
// public static GaugeOptions FileSizeGauge = new GaugeOptions
// {
// Name = "File size",
// MeasurementUnit = Unit.Bytes
// };
// // ==================================================================
// // /// <summary>
// // ///
// // /// </summary>
// // public static GaugeOptions Errors => new GaugeOptions
// // {
// // Context = "My_Gauge_context",
// // Name = "Errors"
// // };
// // /// <summary>
// // ///
// // /// </summary>
// // public static HistogramOptions SampleHistogram => new HistogramOptions
// // {
// // Name = "Sample Histogram",
// // Reservoir = () => new DefaultAlgorithmRReservoir(),
// // MeasurementUnit = Unit.MegaBytes
// // };
// // /// <summary>
// // ///
// // /// </summary>
// // public static MeterOptions SampleMeter => new MeterOptions
// // {
// // Name = "Sample Meter",
// // MeasurementUnit = Unit.Calls
// // };
// // /// <summary>
// // ///
// // /// </summary>
// // public static TimerOptions SampleTimer => new TimerOptions
// // {
// // Name = "Sample Timer",
// // MeasurementUnit = Unit.Items,
// // DurationUnit = TimeUnit.Milliseconds,
// // RateUnit = TimeUnit.Milliseconds,
// // Reservoir = () => new DefaultForwardDecayingReservoir(sampleSize: 1028, alpha: 0.015)
// // };
// // /// <summary>
// // ///
// // /// </summary>
// // public static ApdexOptions SampleApdex => new ApdexOptions
// // {
// // Name = "Sample Apdex"
// // };
// }
// }