diff --git a/Helpers/HelperGatusToMona.cs b/Helpers/HelperGatusToMona.cs index 64f1189..7785fcd 100644 --- a/Helpers/HelperGatusToMona.cs +++ b/Helpers/HelperGatusToMona.cs @@ -59,10 +59,12 @@ internal static partial class HelperGatusToMona { private static void SendPerformanceMessage(AppSettings appSettings, ILogger logger, ReadOnlyCollection successMatches, CancellationToken cancellationToken) { string performanceName = string.Concat(appSettings.MonAConfiguration.Resource, appSettings.MonAConfiguration.Suffix); + double v = successMatches.Count / appSettings.MonAConfiguration.Expected; + double value = Math.Round(v, 3) * 100; Task httpResponseMessage = _MonIn.SendPerformanceMessage(appSettings.MonAConfiguration.Site, appSettings.MonAConfiguration.Resource, performanceName, - value: successMatches.Count, + value, description: string.Empty); httpResponseMessage.Wait(cancellationToken); if (httpResponseMessage.Result.StatusCode != System.Net.HttpStatusCode.OK) diff --git a/Models/AppSettings.cs b/Models/AppSettings.cs index cd33eaa..50c1ddb 100644 --- a/Models/AppSettings.cs +++ b/Models/AppSettings.cs @@ -39,7 +39,9 @@ public record AppSettings(GatusConfiguration GatusConfiguration, if (string.IsNullOrEmpty(appSettings.GatusToMonaConfiguration.Company)) throw new Exception("Company name must have a value!"); if (appSettings.MonAConfiguration.Minutes < 1) - throw new Exception("MonA Minutes must have a value more than one!"); + throw new Exception("MonA Minutes must have a value more than zero!"); + if (appSettings.MonAConfiguration.Expected < 1) + throw new Exception("MonA Expected must have a value more than zero!"); TimeSpan timeSpan = new(DateTime.MinValue.AddMinutes(appSettings.MonAConfiguration.Minutes).Ticks - DateTime.MinValue.Ticks); if (appSettings.GatusToMonaConfiguration.MillisecondsDelay < timeSpan.TotalMilliseconds) throw new Exception($"MonA doesn't support more than once per five minutes ({timeSpan.TotalMilliseconds})!"); diff --git a/Models/MonAConfiguration.cs b/Models/MonAConfiguration.cs index e28875b..f633400 100644 --- a/Models/MonAConfiguration.cs +++ b/Models/MonAConfiguration.cs @@ -3,7 +3,8 @@ using System.Text.Json.Serialization; namespace Gatus.To.MonA.Models; -public record MonAConfiguration(int Minutes, +public record MonAConfiguration(int Expected, + int Minutes, string Resource, string Site, string StateName,