diff --git a/server/AyaNova/Controllers/ServerMetricsController.cs b/server/AyaNova/Controllers/ServerMetricsController.cs index 698b4428..013e5c2b 100644 --- a/server/AyaNova/Controllers/ServerMetricsController.cs +++ b/server/AyaNova/Controllers/ServerMetricsController.cs @@ -81,19 +81,28 @@ namespace AyaNova.Api.Controllers } - + //split out into seperate arrays + //10 digits is epoch seconds + //List> cpu=new List>(); + var cpu = MinuteMetrics.Select(z => new Tuple(new DateTimeOffset(z.t).ToUnixTimeSeconds(), z.CPU)).ToList(); - if (maxRecords < MinuteMetrics.Count) - { - //downsample it here - ;//https://github.com/sveinn-steinarsson/flot-downsample/ - } + if (maxRecords < MinuteMetrics.Count) + { + cpu=Util.DataUtil.LargestTriangleThreeBuckets(cpu,(int)maxRecords) as List>; + //downsample it here + ;//https://github.com/sveinn-steinarsson/flot-downsample/ + + } + +//convert to efficient array of double pairs +var v=cpu.Select(z=> new double[]{z.Item1,z.Item2}).ToArray(); + //Log await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.Metrics, AyaEvent.Retrieved), ct); - return Ok(ApiOkResponse.Response(MinuteMetrics)); + return Ok(ApiOkResponse.Response(v)); } diff --git a/server/AyaNova/generator/CoreJobMetricsSnapshot.cs b/server/AyaNova/generator/CoreJobMetricsSnapshot.cs index 174310a6..ec44aa5d 100644 --- a/server/AyaNova/generator/CoreJobMetricsSnapshot.cs +++ b/server/AyaNova/generator/CoreJobMetricsSnapshot.cs @@ -24,7 +24,7 @@ namespace AyaNova.Biz private static double _cpu = 0; #if(DEBUG) - private static TimeSpan tsOneMinute = new TimeSpan(0, 0, 10); + private static TimeSpan tsOneMinute = new TimeSpan(0, 1, 0); #else private static TimeSpan tsOneMinute = new TimeSpan(0, 1, 0); #endif