From 0c2b226e79d4910ac6a8d442aec1497e0c978941 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Tue, 26 May 2020 13:52:28 +0000 Subject: [PATCH] --- .../Controllers/ServerMetricsController.cs | 23 +++++++++++++------ .../generator/CoreJobMetricsSnapshot.cs | 2 +- 2 files changed, 17 insertions(+), 8 deletions(-) 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