diff --git a/server/AyaNova/Controllers/ServerMetricsController.cs b/server/AyaNova/Controllers/ServerMetricsController.cs index cca5f261..9454aab8 100644 --- a/server/AyaNova/Controllers/ServerMetricsController.cs +++ b/server/AyaNova/Controllers/ServerMetricsController.cs @@ -82,8 +82,8 @@ namespace AyaNova.Api.Controllers //Downsample - if (maxRecords < MinuteMetrics.Count) - { + // if (maxRecords < MinuteMetrics.Count) + // { var dsCPU = MinuteMetrics.Select(z => new Tuple(z.t.ToOADate(), z.CPU)).ToList(); dsCPU = Util.DataUtil.LargestTriangleThreeBuckets(dsCPU, (int)maxRecords) as List>; @@ -113,14 +113,11 @@ namespace AyaNova.Api.Controllers { DownSampled = true, MetricMM = new - { - cpuLabels = dsCPU.Select(z => DateTime.FromOADate(z.Item1)).ToArray(), - cpu = dsCPU.Select(z => z.Item2).ToArray(), - genAllLabels = dsGen0.Select(z => DateTime.FromOADate(z.Item1)).Union(dsGen1.Select(z => DateTime.FromOADate(z.Item1))).Union(dsGen2.Select(z => DateTime.FromOADate(z.Item1))).ToArray(), + { + cpu = dsCPU.Select(z => new MetricDouble(DateTime.FromOADate(z.Item1), z.Item2)).ToArray(), gen0 = dsGen0.Select(z => new MetricInt(DateTime.FromOADate(z.Item1), z.Item2)).ToArray(), gen1 = dsGen1.Select(z => new MetricInt(DateTime.FromOADate(z.Item1), z.Item2)).ToArray(), - gen2 = dsGen2.Select(z => new MetricInt(DateTime.FromOADate(z.Item1), z.Item2)).ToArray(), - memAllLabels = dsAllocated.Select(z => DateTime.FromOADate(z.Item1)).Union(dsWorkingSet.Select(z => DateTime.FromOADate(z.Item1))).Union(dsPrivateBytes.Select(z => DateTime.FromOADate(z.Item1))).ToArray(), + gen2 = dsGen2.Select(z => new MetricInt(DateTime.FromOADate(z.Item1), z.Item2)).ToArray(), allocated = dsAllocated.Select(z => new MetricLong(DateTime.FromOADate(z.Item1), z.Item2 / MB)).ToArray(), workingSet = dsWorkingSet.Select(z => new MetricLong(DateTime.FromOADate(z.Item1), z.Item2 / MB)).ToArray(), privateBytes = dsPrivateBytes.Select(z =>new MetricLong(DateTime.FromOADate(z.Item1), z.Item2 / MB)).ToArray() @@ -130,29 +127,29 @@ namespace AyaNova.Api.Controllers }; return Ok(ApiOkResponse.Response(ret)); - } - else - { - var tsOffset = new TimeSpan(0); - var ret = new - { - DownSampled = false, - MetricMM = new - { - labels = MinuteMetrics.Select(z => z.t).ToArray(), - cpu = MinuteMetrics.Select(z => z.CPU).ToArray(), - gen0 = MinuteMetrics.Select(z => z.Gen0).ToArray(), - gen1 = MinuteMetrics.Select(z => z.Gen1).ToArray(), - gen2 = MinuteMetrics.Select(z => z.Gen2).ToArray(), - allocated = MinuteMetrics.Select(z => z.Allocated / MB).ToArray(), - workingSet = MinuteMetrics.Select(z => z.WorkingSet / MB).ToArray(), - privateBytes = MinuteMetrics.Select(z => z.PrivateBytes / MB).ToArray() + // } + // else + // { + // var tsOffset = new TimeSpan(0); + // var ret = new + // { + // DownSampled = false, + // MetricMM = new + // { + // labels = MinuteMetrics.Select(z => z.t).ToArray(), + // cpu = MinuteMetrics.Select(z => z.CPU).ToArray(), + // gen0 = MinuteMetrics.Select(z => z.Gen0).ToArray(), + // gen1 = MinuteMetrics.Select(z => z.Gen1).ToArray(), + // gen2 = MinuteMetrics.Select(z => z.Gen2).ToArray(), + // allocated = MinuteMetrics.Select(z => z.Allocated / MB).ToArray(), + // workingSet = MinuteMetrics.Select(z => z.WorkingSet / MB).ToArray(), + // privateBytes = MinuteMetrics.Select(z => z.PrivateBytes / MB).ToArray() - } + // } - }; - return Ok(ApiOkResponse.Response(ret)); - } + // }; + // return Ok(ApiOkResponse.Response(ret)); + // } } @@ -180,6 +177,18 @@ namespace AyaNova.Api.Controllers } } + + public class MetricDouble + { + public DateTime x { get; set; } + public double y { get; set; } + public MetricDouble(DateTime px, double py) + { + x = px; + y = py; + + } + } //---------- }