This commit is contained in:
@@ -82,8 +82,8 @@ namespace AyaNova.Api.Controllers
|
|||||||
|
|
||||||
|
|
||||||
//Downsample
|
//Downsample
|
||||||
if (maxRecords < MinuteMetrics.Count)
|
// if (maxRecords < MinuteMetrics.Count)
|
||||||
{
|
// {
|
||||||
var dsCPU = MinuteMetrics.Select(z => new Tuple<double, double>(z.t.ToOADate(), z.CPU)).ToList();
|
var dsCPU = MinuteMetrics.Select(z => new Tuple<double, double>(z.t.ToOADate(), z.CPU)).ToList();
|
||||||
dsCPU = Util.DataUtil.LargestTriangleThreeBuckets(dsCPU, (int)maxRecords) as List<Tuple<double, double>>;
|
dsCPU = Util.DataUtil.LargestTriangleThreeBuckets(dsCPU, (int)maxRecords) as List<Tuple<double, double>>;
|
||||||
|
|
||||||
@@ -114,13 +114,10 @@ namespace AyaNova.Api.Controllers
|
|||||||
DownSampled = true,
|
DownSampled = true,
|
||||||
MetricMM = new
|
MetricMM = new
|
||||||
{
|
{
|
||||||
cpuLabels = dsCPU.Select(z => DateTime.FromOADate(z.Item1)).ToArray(),
|
cpu = dsCPU.Select(z => new MetricDouble(DateTime.FromOADate(z.Item1), z.Item2)).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(),
|
|
||||||
gen0 = dsGen0.Select(z => new MetricInt(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(),
|
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(),
|
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(),
|
|
||||||
allocated = dsAllocated.Select(z => new MetricLong(DateTime.FromOADate(z.Item1), z.Item2 / MB)).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(),
|
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()
|
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));
|
return Ok(ApiOkResponse.Response(ret));
|
||||||
|
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
var tsOffset = new TimeSpan(0);
|
// var tsOffset = new TimeSpan(0);
|
||||||
var ret = new
|
// var ret = new
|
||||||
{
|
// {
|
||||||
DownSampled = false,
|
// DownSampled = false,
|
||||||
MetricMM = new
|
// MetricMM = new
|
||||||
{
|
// {
|
||||||
labels = MinuteMetrics.Select(z => z.t).ToArray(),
|
// labels = MinuteMetrics.Select(z => z.t).ToArray(),
|
||||||
cpu = MinuteMetrics.Select(z => z.CPU).ToArray(),
|
// cpu = MinuteMetrics.Select(z => z.CPU).ToArray(),
|
||||||
gen0 = MinuteMetrics.Select(z => z.Gen0).ToArray(),
|
// gen0 = MinuteMetrics.Select(z => z.Gen0).ToArray(),
|
||||||
gen1 = MinuteMetrics.Select(z => z.Gen1).ToArray(),
|
// gen1 = MinuteMetrics.Select(z => z.Gen1).ToArray(),
|
||||||
gen2 = MinuteMetrics.Select(z => z.Gen2).ToArray(),
|
// gen2 = MinuteMetrics.Select(z => z.Gen2).ToArray(),
|
||||||
allocated = MinuteMetrics.Select(z => z.Allocated / MB).ToArray(),
|
// allocated = MinuteMetrics.Select(z => z.Allocated / MB).ToArray(),
|
||||||
workingSet = MinuteMetrics.Select(z => z.WorkingSet / MB).ToArray(),
|
// workingSet = MinuteMetrics.Select(z => z.WorkingSet / MB).ToArray(),
|
||||||
privateBytes = MinuteMetrics.Select(z => z.PrivateBytes / 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;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
//----------
|
//----------
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user