monitoring: fix metric value NaN
Signed-off-by: huanggze <loganhuang@yunify.com>
This commit is contained in:
@@ -50,9 +50,22 @@ func (w wrapper) Less(i, j int) bool {
|
||||
p := w.MetricValues[i]
|
||||
q := w.MetricValues[j]
|
||||
|
||||
if p.Sample.Value() == q.Sample.Value() {
|
||||
// Place Nil to the tail.
|
||||
if p.Sample == nil && q.Sample != nil {
|
||||
return false
|
||||
}
|
||||
if p.Sample != nil && q.Sample == nil {
|
||||
return true
|
||||
}
|
||||
|
||||
// If both Samples are Nil or have the same metric value, sort by resource name
|
||||
if p.Sample == q.Sample || p.Sample[1] == q.Sample[1] {
|
||||
return p.Metadata[w.identifier] < q.Metadata[w.identifier]
|
||||
}
|
||||
// Place NaN to the tail (NaN takes precedence over Nil).
|
||||
if math.IsNaN(p.Sample[1]) != math.IsNaN(q.Sample[1]) {
|
||||
return !math.IsNaN(p.Sample[1])
|
||||
}
|
||||
|
||||
switch w.order {
|
||||
case OrderAscending:
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/json-iterator/go"
|
||||
"io/ioutil"
|
||||
"math"
|
||||
"testing"
|
||||
)
|
||||
|
||||
@@ -34,8 +35,22 @@ func TestSort(t *testing.T) {
|
||||
target: "node_memory_utilisation",
|
||||
order: "desc",
|
||||
identifier: "node",
|
||||
raw: "faulty-node-metrics.json",
|
||||
expected: "faulty-node-metrics-sorted.json",
|
||||
raw: "faulty-node-metrics-1.json",
|
||||
expected: "faulty-node-metrics-sorted-1.json",
|
||||
},
|
||||
{
|
||||
target: "node_cpu_utilisation",
|
||||
order: "asc",
|
||||
identifier: "node",
|
||||
raw: "faulty-node-metrics-2.json",
|
||||
expected: "faulty-node-metrics-sorted-2.json",
|
||||
},
|
||||
{
|
||||
target: "node_cpu_utilisation",
|
||||
order: "asc",
|
||||
identifier: "node",
|
||||
raw: "faulty-node-metrics-3.json",
|
||||
expected: "faulty-node-metrics-sorted-3.json",
|
||||
},
|
||||
{
|
||||
target: "node_memory_utilisation",
|
||||
@@ -61,7 +76,10 @@ func TestSort(t *testing.T) {
|
||||
}
|
||||
|
||||
result := source.Sort(tt.target, tt.order, tt.identifier)
|
||||
if diff := cmp.Diff(*result, *expected); diff != "" {
|
||||
opt := cmp.Comparer(func(x, y float64) bool {
|
||||
return (math.IsNaN(x) && math.IsNaN(y)) || x == y
|
||||
})
|
||||
if diff := cmp.Diff(*result, *expected, opt); diff != "" {
|
||||
t.Fatalf("%T differ (-got, +want): %s", expected, diff)
|
||||
}
|
||||
})
|
||||
@@ -102,7 +120,7 @@ func TestPage(t *testing.T) {
|
||||
{
|
||||
page: 1,
|
||||
limit: 2,
|
||||
raw: "faulty-node-metrics-sorted.json",
|
||||
raw: "faulty-node-metrics-sorted-1.json",
|
||||
expected: "faulty-node-metrics-paged.json",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.42012898861983516
|
||||
"0.42012898861983516"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -20,7 +20,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.2588273152865106
|
||||
"0.2588273152865106"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -29,7 +29,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.29849334024542695
|
||||
"0.29849334024542695"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -46,7 +46,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.5286875837861773
|
||||
"0.5286875837861773"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -55,7 +55,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.2497060264216553
|
||||
"0.2497060264216553"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -64,7 +64,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.23637090535053928
|
||||
"0.23637090535053928"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.42012898861983516
|
||||
"0.42012898861983516"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -20,7 +20,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.2601006025131434
|
||||
"0.2601006025131434"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -29,7 +29,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.29849334024542695
|
||||
"0.29849334024542695"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -38,7 +38,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.2588273152865106
|
||||
"0.2588273152865106"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -55,7 +55,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.5286875837861773
|
||||
"0.5286875837861773"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -64,7 +64,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.1446648505469157
|
||||
"0.1446648505469157"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -73,7 +73,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.23637090535053928
|
||||
"0.23637090535053928"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -82,7 +82,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.2497060264216553
|
||||
"0.2497060264216553"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.42012898861983516
|
||||
"0.42012898861983516"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -24,7 +24,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.2601006025131434
|
||||
"0.2601006025131434"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -33,7 +33,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.29849334024542695
|
||||
"0.29849334024542695"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -42,7 +42,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.2588273152865106
|
||||
"0.2588273152865106"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -59,7 +59,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.5286875837861773
|
||||
"0.5286875837861773"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -68,7 +68,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.1446648505469157
|
||||
"0.1446648505469157"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -77,7 +77,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.23637090535053928
|
||||
"0.23637090535053928"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -86,7 +86,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.2497060264216553
|
||||
"0.2497060264216553"
|
||||
]
|
||||
}
|
||||
]
|
||||
232
pkg/models/monitoring/testdata/faulty-node-metrics-2.json
vendored
Normal file
232
pkg/models/monitoring/testdata/faulty-node-metrics-2.json
vendored
Normal file
@@ -0,0 +1,232 @@
|
||||
{
|
||||
"results": [
|
||||
{
|
||||
"metric_name": "node_cpu_utilisation",
|
||||
"data": {
|
||||
"resultType": "vector",
|
||||
"result": [
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-2dazc1d6"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.18095833333306172"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-9jtsi522"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.03250000000007276"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-ezjb7gsk"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.07443750000044626"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-hgcoippu"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.05066666666655995"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-ircdnrao"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.05210416666595847"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-o13skypq"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.07756249999996119"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-tl1i71hr"
|
||||
}
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-xfcxdn7z"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.06745833333334303"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"metric_name": "node_disk_size_utilisation",
|
||||
"data": {
|
||||
"resultType": "vector",
|
||||
"result": [
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-2dazc1d6"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.42012898861983516"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-9jtsi522"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.2601006025131434"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-ezjb7gsk"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.29849334024542695"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-hgcoippu"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.2588273152865106"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-ircdnrao"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.21351118996831508"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-o13skypq"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.4329682466178235"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-tl1i71hr"
|
||||
}
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-xfcxdn7z"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.35981263055856705"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"metric_name": "node_memory_utilisation",
|
||||
"data": {
|
||||
"resultType": "vector",
|
||||
"result": [
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-2dazc1d6"
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
"0.5286875837861773"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-9jtsi522"
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
"0.1446648505469157"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-ezjb7gsk"
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
"0.23637090535053928"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-hgcoippu"
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
"0.2497060264216553"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-ircdnrao"
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
"0.21291125105270192"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-o13skypq"
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
"0.823247832787681"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-tl1i71hr"
|
||||
}
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-xfcxdn7z"
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
"0.40309723127991315"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
244
pkg/models/monitoring/testdata/faulty-node-metrics-3.json
vendored
Normal file
244
pkg/models/monitoring/testdata/faulty-node-metrics-3.json
vendored
Normal file
@@ -0,0 +1,244 @@
|
||||
{
|
||||
"results": [
|
||||
{
|
||||
"metric_name": "node_cpu_utilisation",
|
||||
"data": {
|
||||
"resultType": "vector",
|
||||
"result": [
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-2dazc1d6"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.18095833333306172"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-9jtsi522"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"+Inf"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-ezjb7gsk"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.07443750000044626"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-hgcoippu"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"-Inf"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-ircdnrao"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.05210416666595847"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-o13skypq"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.07756249999996119"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-tl1i71hr"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"NaN"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-xfcxdn7z"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.06745833333334303"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"metric_name": "node_disk_size_utilisation",
|
||||
"data": {
|
||||
"resultType": "vector",
|
||||
"result": [
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-2dazc1d6"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.42012898861983516"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-9jtsi522"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.2601006025131434"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-ezjb7gsk"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.29849334024542695"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-hgcoippu"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.2588273152865106"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-ircdnrao"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.21351118996831508"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-o13skypq"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.4329682466178235"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-tl1i71hr"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.5286875837861773"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-xfcxdn7z"
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
"0.35981263055856705"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"metric_name": "node_memory_utilisation",
|
||||
"data": {
|
||||
"resultType": "vector",
|
||||
"result": [
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-2dazc1d6"
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
"0.5286875837861773"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-9jtsi522"
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
"0.1446648505469157"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-ezjb7gsk"
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
"0.23637090535053928"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-hgcoippu"
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
"0.2497060264216553"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-ircdnrao"
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
"0.21291125105270192"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-o13skypq"
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
"0.823247832787681"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-tl1i71hr"
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
"0.5286875837861773"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"node": "i-xfcxdn7z"
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
"0.40309723127991315"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -15,7 +15,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.42012898861983516
|
||||
"0.42012898861983516"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -24,7 +24,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.2588273152865106
|
||||
"0.2588273152865106"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -41,7 +41,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.5286875837861773
|
||||
"0.5286875837861773"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -50,7 +50,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.2497060264216553
|
||||
"0.2497060264216553"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.42012898861983516
|
||||
"0.42012898861983516"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -24,7 +24,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.2588273152865106
|
||||
"0.2588273152865106"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -33,7 +33,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.29849334024542695
|
||||
"0.29849334024542695"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -42,7 +42,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.2601006025131434
|
||||
"0.2601006025131434"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -59,7 +59,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.5286875837861773
|
||||
"0.5286875837861773"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -68,7 +68,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.2497060264216553
|
||||
"0.2497060264216553"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -77,7 +77,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.23637090535053928
|
||||
"0.23637090535053928"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -86,7 +86,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.1446648505469157
|
||||
"0.1446648505469157"
|
||||
]
|
||||
}
|
||||
]
|
||||
235
pkg/models/monitoring/testdata/faulty-node-metrics-sorted-2.json
vendored
Normal file
235
pkg/models/monitoring/testdata/faulty-node-metrics-sorted-2.json
vendored
Normal file
@@ -0,0 +1,235 @@
|
||||
{
|
||||
"results":[
|
||||
{
|
||||
"metric_name":"node_cpu_utilisation",
|
||||
"data":{
|
||||
"resultType":"vector",
|
||||
"result":[
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-9jtsi522"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.03250000000007276"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-hgcoippu"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.05066666666655995"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-ircdnrao"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.05210416666595847"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-xfcxdn7z"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.06745833333334303"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-ezjb7gsk"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.07443750000044626"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-o13skypq"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.07756249999996119"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-2dazc1d6"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.18095833333306172"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-tl1i71hr"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"metric_name":"node_disk_size_utilisation",
|
||||
"data":{
|
||||
"resultType":"vector",
|
||||
"result":[
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-9jtsi522"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.2601006025131434"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-hgcoippu"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.2588273152865106"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-ircdnrao"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.21351118996831508"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-xfcxdn7z"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.35981263055856705"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-ezjb7gsk"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.29849334024542695"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-o13skypq"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.4329682466178235"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-2dazc1d6"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.42012898861983516"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-tl1i71hr"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"metric_name":"node_memory_utilisation",
|
||||
"data":{
|
||||
"resultType":"vector",
|
||||
"result":[
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-9jtsi522"
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
"0.1446648505469157"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-hgcoippu"
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
"0.2497060264216553"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-ircdnrao"
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
"0.21291125105270192"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-xfcxdn7z"
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
"0.40309723127991315"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-ezjb7gsk"
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
"0.23637090535053928"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-o13skypq"
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
"0.823247832787681"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-2dazc1d6"
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
"0.5286875837861773"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-tl1i71hr"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"page":1,
|
||||
"total_page":1,
|
||||
"total_item":8
|
||||
}
|
||||
247
pkg/models/monitoring/testdata/faulty-node-metrics-sorted-3.json
vendored
Normal file
247
pkg/models/monitoring/testdata/faulty-node-metrics-sorted-3.json
vendored
Normal file
@@ -0,0 +1,247 @@
|
||||
{
|
||||
"results":[
|
||||
{
|
||||
"metric_name":"node_cpu_utilisation",
|
||||
"data":{
|
||||
"resultType":"vector",
|
||||
"result":[
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-hgcoippu"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"-Inf"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-ircdnrao"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.05210416666595847"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-xfcxdn7z"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.06745833333334303"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-ezjb7gsk"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.07443750000044626"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-o13skypq"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.07756249999996119"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-2dazc1d6"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.18095833333306172"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-9jtsi522"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"+Inf"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-tl1i71hr"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"NaN"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"metric_name":"node_disk_size_utilisation",
|
||||
"data":{
|
||||
"resultType":"vector",
|
||||
"result":[
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-hgcoippu"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.2588273152865106"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-ircdnrao"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.21351118996831508"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-xfcxdn7z"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.35981263055856705"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-ezjb7gsk"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.29849334024542695"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-o13skypq"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.4329682466178235"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-2dazc1d6"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.42012898861983516"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-9jtsi522"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.2601006025131434"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-tl1i71hr"
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
"0.5286875837861773"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"metric_name":"node_memory_utilisation",
|
||||
"data":{
|
||||
"resultType":"vector",
|
||||
"result":[
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-hgcoippu"
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
"0.2497060264216553"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-ircdnrao"
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
"0.21291125105270192"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-xfcxdn7z"
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
"0.40309723127991315"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-ezjb7gsk"
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
"0.23637090535053928"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-o13skypq"
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
"0.823247832787681"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-2dazc1d6"
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
"0.5286875837861773"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-9jtsi522"
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
"0.1446648505469157"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric":{
|
||||
"node":"i-tl1i71hr"
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
"0.5286875837861773"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"page":1,
|
||||
"total_page":1,
|
||||
"total_item":8
|
||||
}
|
||||
@@ -22,7 +22,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.5286875837861773
|
||||
"0.5286875837861773"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -31,7 +31,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.2497060264216553
|
||||
"0.2497060264216553"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -40,7 +40,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.23637090535053928
|
||||
"0.23637090535053928"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.5286875837861773
|
||||
"0.5286875837861773"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -26,7 +26,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.23637090535053928
|
||||
"0.23637090535053928"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -35,7 +35,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.2497060264216553
|
||||
"0.2497060264216553"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.021645833333483702
|
||||
"0.021645833333483702"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -20,7 +20,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.03250000000007276
|
||||
"0.03250000000007276"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -29,7 +29,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.05066666666655995
|
||||
"0.05066666666655995"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -38,7 +38,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.05210416666595847
|
||||
"0.05210416666595847"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -47,7 +47,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.06745833333334303
|
||||
"0.06745833333334303"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -64,7 +64,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.3335848564534758
|
||||
"0.3335848564534758"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -73,7 +73,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.2601006025131434
|
||||
"0.2601006025131434"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -82,7 +82,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.2588273152865106
|
||||
"0.2588273152865106"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -91,7 +91,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.21351118996831508
|
||||
"0.21351118996831508"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -100,7 +100,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.35981263055856705
|
||||
"0.35981263055856705"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -117,7 +117,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.12824588180084573
|
||||
"0.12824588180084573"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -126,7 +126,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.1446648505469157
|
||||
"0.1446648505469157"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -135,7 +135,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.2497060264216553
|
||||
"0.2497060264216553"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -144,7 +144,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.21291125105270192
|
||||
"0.21291125105270192"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -153,7 +153,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.40309723127991315
|
||||
"0.40309723127991315"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.07443750000044626
|
||||
"0.07443750000044626"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -20,7 +20,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.07756249999996119
|
||||
"0.07756249999996119"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -29,7 +29,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.18095833333306172
|
||||
"0.18095833333306172"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -46,7 +46,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.29849334024542695
|
||||
"0.29849334024542695"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -55,7 +55,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.4329682466178235
|
||||
"0.4329682466178235"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -64,7 +64,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.42012898861983516
|
||||
"0.42012898861983516"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -81,7 +81,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.23637090535053928
|
||||
"0.23637090535053928"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -90,7 +90,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.823247832787681
|
||||
"0.823247832787681"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -99,7 +99,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.5286875837861773
|
||||
"0.5286875837861773"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.021645833333483702
|
||||
"0.021645833333483702"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -20,7 +20,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.03250000000007276
|
||||
"0.03250000000007276"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -29,7 +29,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.05066666666655995
|
||||
"0.05066666666655995"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -38,7 +38,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.05210416666595847
|
||||
"0.05210416666595847"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -47,7 +47,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.06745833333334303
|
||||
"0.06745833333334303"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -56,7 +56,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.07443750000044626
|
||||
"0.07443750000044626"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -65,7 +65,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.07756249999996119
|
||||
"0.07756249999996119"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -74,7 +74,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.18095833333306172
|
||||
"0.18095833333306172"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -91,7 +91,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.3335848564534758
|
||||
"0.3335848564534758"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -100,7 +100,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.2601006025131434
|
||||
"0.2601006025131434"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -109,7 +109,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.2588273152865106
|
||||
"0.2588273152865106"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -118,7 +118,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.21351118996831508
|
||||
"0.21351118996831508"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -127,7 +127,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.35981263055856705
|
||||
"0.35981263055856705"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -136,7 +136,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.29849334024542695
|
||||
"0.29849334024542695"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -145,7 +145,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.4329682466178235
|
||||
"0.4329682466178235"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -154,7 +154,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.42012898861983516
|
||||
"0.42012898861983516"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -171,7 +171,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.12824588180084573
|
||||
"0.12824588180084573"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -180,7 +180,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.1446648505469157
|
||||
"0.1446648505469157"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -189,7 +189,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.2497060264216553
|
||||
"0.2497060264216553"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -198,7 +198,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.21291125105270192
|
||||
"0.21291125105270192"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -207,7 +207,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.40309723127991315
|
||||
"0.40309723127991315"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -216,7 +216,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.23637090535053928
|
||||
"0.23637090535053928"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -225,7 +225,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.823247832787681
|
||||
"0.823247832787681"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -234,7 +234,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.5286875837861773
|
||||
"0.5286875837861773"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.07756249999996119
|
||||
"0.07756249999996119"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -20,7 +20,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.18095833333306172
|
||||
"0.18095833333306172"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -29,7 +29,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.06745833333334303
|
||||
"0.06745833333334303"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -38,7 +38,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.05066666666655995
|
||||
"0.05066666666655995"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -47,7 +47,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.07443750000044626
|
||||
"0.07443750000044626"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -56,7 +56,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.05210416666595847
|
||||
"0.05210416666595847"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -65,7 +65,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.03250000000007276
|
||||
"0.03250000000007276"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -74,7 +74,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.021645833333483702
|
||||
"0.021645833333483702"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -91,7 +91,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.4329682466178235
|
||||
"0.4329682466178235"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -100,7 +100,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.42012898861983516
|
||||
"0.42012898861983516"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -109,7 +109,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.35981263055856705
|
||||
"0.35981263055856705"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -118,7 +118,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.2588273152865106
|
||||
"0.2588273152865106"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -127,7 +127,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.29849334024542695
|
||||
"0.29849334024542695"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -136,7 +136,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.21351118996831508
|
||||
"0.21351118996831508"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -145,7 +145,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.2601006025131434
|
||||
"0.2601006025131434"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -154,7 +154,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.193,
|
||||
0.3335848564534758
|
||||
"0.3335848564534758"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -171,7 +171,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.823247832787681
|
||||
"0.823247832787681"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -180,7 +180,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.5286875837861773
|
||||
"0.5286875837861773"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -189,7 +189,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.40309723127991315
|
||||
"0.40309723127991315"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -198,7 +198,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.2497060264216553
|
||||
"0.2497060264216553"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -207,7 +207,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.23637090535053928
|
||||
"0.23637090535053928"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -216,7 +216,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.21291125105270192
|
||||
"0.21291125105270192"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -225,7 +225,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.1446648505469157
|
||||
"0.1446648505469157"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -234,7 +234,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585658599.195,
|
||||
0.12824588180084573
|
||||
"0.12824588180084573"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.18095833333306172
|
||||
"0.18095833333306172"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -20,7 +20,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.03250000000007276
|
||||
"0.03250000000007276"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -29,7 +29,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.07443750000044626
|
||||
"0.07443750000044626"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -38,7 +38,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.05066666666655995
|
||||
"0.05066666666655995"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -47,7 +47,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.05210416666595847
|
||||
"0.05210416666595847"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -56,7 +56,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.07756249999996119
|
||||
"0.07756249999996119"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -65,7 +65,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.021645833333483702
|
||||
"0.021645833333483702"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -74,7 +74,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.06745833333334303
|
||||
"0.06745833333334303"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -91,7 +91,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.42012898861983516
|
||||
"0.42012898861983516"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -100,7 +100,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.2601006025131434
|
||||
"0.2601006025131434"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -109,7 +109,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.29849334024542695
|
||||
"0.29849334024542695"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -118,7 +118,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.2588273152865106
|
||||
"0.2588273152865106"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -127,7 +127,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.21351118996831508
|
||||
"0.21351118996831508"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -136,7 +136,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.4329682466178235
|
||||
"0.4329682466178235"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -145,7 +145,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.3335848564534758
|
||||
"0.3335848564534758"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -154,7 +154,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.193,
|
||||
0.35981263055856705
|
||||
"0.35981263055856705"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -171,7 +171,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.5286875837861773
|
||||
"0.5286875837861773"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -180,7 +180,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.1446648505469157
|
||||
"0.1446648505469157"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -189,7 +189,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.23637090535053928
|
||||
"0.23637090535053928"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -198,7 +198,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.2497060264216553
|
||||
"0.2497060264216553"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -207,7 +207,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.21291125105270192
|
||||
"0.21291125105270192"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -216,7 +216,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.823247832787681
|
||||
"0.823247832787681"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -225,7 +225,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.12824588180084573
|
||||
"0.12824588180084573"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -234,7 +234,7 @@
|
||||
},
|
||||
"value": [
|
||||
1585658599.195,
|
||||
0.40309723127991315
|
||||
"0.40309723127991315"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -17,23 +17,23 @@
|
||||
"values":[
|
||||
[
|
||||
1585743925,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744045,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744165,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744285,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744405,
|
||||
1.123456
|
||||
"1.123456"
|
||||
]
|
||||
]
|
||||
},
|
||||
@@ -50,23 +50,23 @@
|
||||
"values":[
|
||||
[
|
||||
1585743925,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744045,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744165,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744285,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744405,
|
||||
1.123456
|
||||
"1.123456"
|
||||
]
|
||||
]
|
||||
},
|
||||
@@ -83,23 +83,23 @@
|
||||
"values":[
|
||||
[
|
||||
1585743925,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744045,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744165,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744285,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744405,
|
||||
1.123456
|
||||
"1.123456"
|
||||
]
|
||||
]
|
||||
},
|
||||
@@ -116,23 +116,23 @@
|
||||
"values":[
|
||||
[
|
||||
1585743925,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744045,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744165,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744285,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744405,
|
||||
1.123456
|
||||
"1.123456"
|
||||
]
|
||||
]
|
||||
},
|
||||
@@ -149,23 +149,23 @@
|
||||
"values":[
|
||||
[
|
||||
1585743925,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744045,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744165,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744285,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744405,
|
||||
1.123456
|
||||
"1.123456"
|
||||
]
|
||||
]
|
||||
},
|
||||
@@ -182,23 +182,23 @@
|
||||
"values":[
|
||||
[
|
||||
1585743925,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744045,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744165,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744285,
|
||||
1.123456
|
||||
"1.123456"
|
||||
],
|
||||
[
|
||||
1585744405,
|
||||
1.123456
|
||||
"1.123456"
|
||||
]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585743854.077,
|
||||
1.123456
|
||||
"1.123456"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -31,7 +31,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585743854.077,
|
||||
1.123456
|
||||
"1.123456"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -46,7 +46,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585743854.077,
|
||||
1.123456
|
||||
"1.123456"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -61,7 +61,7 @@
|
||||
},
|
||||
"value":[
|
||||
1585743854.077,
|
||||
1.123456
|
||||
"1.123456"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
package monitoring
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/json-iterator/go"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
const (
|
||||
MetricTypeMatrix = "matrix"
|
||||
MetricTypeVector = "vector"
|
||||
@@ -22,6 +29,8 @@ type MetricData struct {
|
||||
MetricValues []MetricValue `json:"result,omitempty" description:"metric data including labels, time series and values"`
|
||||
}
|
||||
|
||||
// The first element is the timestamp, the second is the metric value.
|
||||
// eg, [1585658599.195, 0.528]
|
||||
type Point [2]float64
|
||||
|
||||
type MetricValue struct {
|
||||
@@ -40,3 +49,50 @@ func (p Point) Timestamp() float64 {
|
||||
func (p Point) Value() float64 {
|
||||
return p[1]
|
||||
}
|
||||
|
||||
// MarshalJSON implements json.Marshaler. It will be called when writing JSON to HTTP response
|
||||
// Inspired by prometheus/client_golang
|
||||
func (p Point) MarshalJSON() ([]byte, error) {
|
||||
t, err := jsoniter.Marshal(p.Timestamp())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
v, err := jsoniter.Marshal(strconv.FormatFloat(p.Value(), 'f', -1, 64))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return []byte(fmt.Sprintf("[%s,%s]", t, v)), nil
|
||||
}
|
||||
|
||||
// UnmarshalJSON implements json.Unmarshaler. This is for unmarshaling test data.
|
||||
func (p *Point) UnmarshalJSON(b []byte) error {
|
||||
var v []interface{}
|
||||
if err := jsoniter.Unmarshal(b, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if v == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
if len(v) != 2 {
|
||||
return errors.New("unsupported array length")
|
||||
}
|
||||
|
||||
ts, ok := v[0].(float64)
|
||||
if !ok {
|
||||
return errors.New("failed to unmarshal [timestamp]")
|
||||
}
|
||||
valstr, ok := v[1].(string)
|
||||
if !ok {
|
||||
return errors.New("failed to unmarshal [value]")
|
||||
}
|
||||
valf, err := strconv.ParseFloat(valstr, 64)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
p[0] = ts
|
||||
p[1] = valf
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user