Improved IDE performance tests vega specs
This commit is contained in:
@@ -87,7 +87,8 @@
|
|||||||
"update": "span(brush) ? invert('x', brush) : null"
|
"update": "span(brush) ? invert('x', brush) : null"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
{"name": "timestamp", "value": true, "bind": {"input": "checkbox"}}
|
||||||
],
|
],
|
||||||
"data": [
|
"data": [
|
||||||
{
|
{
|
||||||
@@ -96,7 +97,7 @@
|
|||||||
"comment": "source index pattern",
|
"comment": "source index pattern",
|
||||||
"index": "kotlin_ide_benchmarks*",
|
"index": "kotlin_ide_benchmarks*",
|
||||||
"comment": "it's a body of ES _search query to check query place it into `POST /kotlin_ide_benchmarks*/_search`",
|
"comment": "it's a body of ES _search query to check query place it into `POST /kotlin_ide_benchmarks*/_search`",
|
||||||
"comment": "it uses Kibana specific %timefilter% for time frame selection"
|
"comment": "it uses Kibana specific %timefilter% for time frame selection",
|
||||||
"body": {
|
"body": {
|
||||||
"size": 1000,
|
"size": 1000,
|
||||||
"query": {
|
"query": {
|
||||||
@@ -132,6 +133,7 @@
|
|||||||
"comment": "we need to have follow data: \"build_id\", \"metric_name\", \"metric_value\" and \"metric_error\"",
|
"comment": "we need to have follow data: \"build_id\", \"metric_name\", \"metric_value\" and \"metric_error\"",
|
||||||
"comment": "so it has to be array of {\"build_id\": \"...\", \"metric_name\": \"...\", \"metric_value\": ..., \"metric_error\": ...}",
|
"comment": "so it has to be array of {\"build_id\": \"...\", \"metric_name\": \"...\", \"metric_value\": ..., \"metric_error\": ...}",
|
||||||
"transform": [
|
"transform": [
|
||||||
|
{"type": "collect","sort": {"field": "_source.build\\.timestamp"}},
|
||||||
{
|
{
|
||||||
"comment": "make alias: _source.build_id -> build_id",
|
"comment": "make alias: _source.build_id -> build_id",
|
||||||
"type": "formula",
|
"type": "formula",
|
||||||
@@ -156,6 +158,11 @@
|
|||||||
"as": "metric_error",
|
"as": "metric_error",
|
||||||
"expr": "0"
|
"expr": "0"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "formula",
|
||||||
|
"as": "timestamp",
|
||||||
|
"expr": "timeFormat(toDate(datum._source['build.timestamp']), '%Y-%m-%d %H:%M')"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"comment": "create `url` value that points to TC build",
|
"comment": "create `url` value that points to TC build",
|
||||||
"type": "formula",
|
"type": "formula",
|
||||||
@@ -182,7 +189,7 @@
|
|||||||
"orient": "bottom",
|
"orient": "bottom",
|
||||||
"labelAngle": -20,
|
"labelAngle": -20,
|
||||||
"labelAlign": "right",
|
"labelAlign": "right",
|
||||||
"title": "build_id",
|
"title": {"signal": "timestamp ? 'timestamp' : 'build_id'"},
|
||||||
"titlePadding": 10,
|
"titlePadding": 10,
|
||||||
"tickCount": 5,
|
"tickCount": 5,
|
||||||
"encode": {
|
"encode": {
|
||||||
@@ -208,7 +215,7 @@
|
|||||||
"name": "x",
|
"name": "x",
|
||||||
"type": "point",
|
"type": "point",
|
||||||
"range": "width",
|
"range": "width",
|
||||||
"domain": {"data": "table", "field": "build_id"}
|
"domain": {"data": "table", "field": {"signal": "timestamp ? 'timestamp' : 'build_id'"}}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "y",
|
"name": "y",
|
||||||
@@ -290,7 +297,7 @@
|
|||||||
"encode": {
|
"encode": {
|
||||||
"hover": {"opacity": {"value": 1}, "strokeWidth": {"value": 4}},
|
"hover": {"opacity": {"value": 1}, "strokeWidth": {"value": 4}},
|
||||||
"update": {
|
"update": {
|
||||||
"x": {"scale": "x", "field": "build_id"},
|
"x": {"scale": "x", "field": {"signal": "timestamp ? 'timestamp' : 'build_id'"}},
|
||||||
"y": {"scale": "y", "field": "metric_value"},
|
"y": {"scale": "y", "field": "metric_value"},
|
||||||
"strokeWidth": {"value": 2},
|
"strokeWidth": {"value": 2},
|
||||||
"opacity": [
|
"opacity": [
|
||||||
@@ -322,7 +329,7 @@
|
|||||||
"href": {"field": "url"},
|
"href": {"field": "url"},
|
||||||
"cursor": {"value": "pointer"},
|
"cursor": {"value": "pointer"},
|
||||||
"size": {"scale": "size", "field": "metric_error"},
|
"size": {"scale": "size", "field": "metric_error"},
|
||||||
"x": {"scale": "x", "field": "build_id"},
|
"x": {"scale": "x", "field": {"signal": "timestamp ? 'timestamp' : 'build_id'"}},
|
||||||
"y": {"scale": "y", "field": "metric_value"},
|
"y": {"scale": "y", "field": "metric_value"},
|
||||||
"strokeWidth": {"value": 1},
|
"strokeWidth": {"value": 1},
|
||||||
"fill": {"scale": "color", "field": "metric_name"}
|
"fill": {"scale": "color", "field": "metric_name"}
|
||||||
|
|||||||
@@ -87,13 +87,14 @@
|
|||||||
"update": "span(brush) ? invert('x', brush) : null"
|
"update": "span(brush) ? invert('x', brush) : null"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
{"name": "timestamp", "value": true, "bind": {"input": "checkbox"}}
|
||||||
],
|
],
|
||||||
"data": [
|
"data": [
|
||||||
{
|
{
|
||||||
"name": "table",
|
"name": "table",
|
||||||
"comment": "Uncomment `values` and comment `url` to test chart in VEGA editor https://vega.github.io/editor/#/",
|
"comment": "To test chart in VEGA editor https://vega.github.io/editor/#/ change `_values` to `values` and rename `url` property",
|
||||||
/*"values" : {
|
"_values" : {
|
||||||
"hits" : {
|
"hits" : {
|
||||||
"hits" : [
|
"hits" : [
|
||||||
{
|
{
|
||||||
@@ -113,12 +114,12 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},*/
|
},
|
||||||
"url": {
|
"url": {
|
||||||
"comment": "source index pattern",
|
"comment": "source index pattern",
|
||||||
"index": "kotlin_ide_benchmarks*",
|
"index": "kotlin_ide_benchmarks*",
|
||||||
"comment": "it's a body of ES _search query to check query place it into `POST /kotlin_ide_benchmarks*/_search`",
|
"comment": "it's a body of ES _search query to check query place it into `POST /kotlin_ide_benchmarks*/_search`",
|
||||||
"comment": "it uses Kibana specific %timefilter% for time frame selection"
|
"comment": "it uses Kibana specific %timefilter% for time frame selection",
|
||||||
"body": {
|
"body": {
|
||||||
"size": 1000,
|
"size": 1000,
|
||||||
"query": {
|
"query": {
|
||||||
@@ -136,6 +137,7 @@
|
|||||||
"comment": "we need to have follow data: \"build_id\", \"metric_name\", \"metric_value\" and \"metric_error\"",
|
"comment": "we need to have follow data: \"build_id\", \"metric_name\", \"metric_value\" and \"metric_error\"",
|
||||||
"comment": "so it has to be array of {\"build_id\": \"...\", \"metric_name\": \"...\", \"metric_value\": ..., \"metric_error\": ...}",
|
"comment": "so it has to be array of {\"build_id\": \"...\", \"metric_name\": \"...\", \"metric_value\": ..., \"metric_error\": ...}",
|
||||||
"transform": [
|
"transform": [
|
||||||
|
{"type": "collect","sort": {"field": "_source.build\\.timestamp"}},
|
||||||
{
|
{
|
||||||
"comment": "make alias: _source.build_id -> build_id",
|
"comment": "make alias: _source.build_id -> build_id",
|
||||||
"type": "formula",
|
"type": "formula",
|
||||||
@@ -160,6 +162,11 @@
|
|||||||
"as": "metric_error",
|
"as": "metric_error",
|
||||||
"expr": "0"
|
"expr": "0"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "formula",
|
||||||
|
"as": "timestamp",
|
||||||
|
"expr": "timeFormat(toDate(datum._source['build.timestamp']), '%Y-%m-%d %H:%M')"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"comment": "create `url` value that points to TC build",
|
"comment": "create `url` value that points to TC build",
|
||||||
"type": "formula",
|
"type": "formula",
|
||||||
@@ -186,7 +193,7 @@
|
|||||||
"orient": "bottom",
|
"orient": "bottom",
|
||||||
"labelAngle": -20,
|
"labelAngle": -20,
|
||||||
"labelAlign": "right",
|
"labelAlign": "right",
|
||||||
"title": "build_id",
|
"title": {"signal": "timestamp ? 'timestamp' : 'build_id'"},
|
||||||
"titlePadding": 10,
|
"titlePadding": 10,
|
||||||
"tickCount": 5,
|
"tickCount": 5,
|
||||||
"encode": {
|
"encode": {
|
||||||
@@ -212,7 +219,7 @@
|
|||||||
"name": "x",
|
"name": "x",
|
||||||
"type": "point",
|
"type": "point",
|
||||||
"range": "width",
|
"range": "width",
|
||||||
"domain": {"data": "table", "field": "build_id"}
|
"domain": {"data": "table", "field": {"signal": "timestamp ? 'timestamp' : 'build_id'"}}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "y",
|
"name": "y",
|
||||||
@@ -294,7 +301,7 @@
|
|||||||
"encode": {
|
"encode": {
|
||||||
"hover": {"opacity": {"value": 1}, "strokeWidth": {"value": 4}},
|
"hover": {"opacity": {"value": 1}, "strokeWidth": {"value": 4}},
|
||||||
"update": {
|
"update": {
|
||||||
"x": {"scale": "x", "field": "build_id"},
|
"x": {"scale": "x", "field": {"signal": "timestamp ? 'timestamp' : 'build_id'"}},
|
||||||
"y": {"scale": "y", "field": "metric_value"},
|
"y": {"scale": "y", "field": "metric_value"},
|
||||||
"strokeWidth": {"value": 2},
|
"strokeWidth": {"value": 2},
|
||||||
"opacity": [
|
"opacity": [
|
||||||
@@ -326,7 +333,7 @@
|
|||||||
"href": {"field": "url"},
|
"href": {"field": "url"},
|
||||||
"cursor": {"value": "pointer"},
|
"cursor": {"value": "pointer"},
|
||||||
"size": {"scale": "size", "field": "metric_error"},
|
"size": {"scale": "size", "field": "metric_error"},
|
||||||
"x": {"scale": "x", "field": "build_id"},
|
"x": {"scale": "x", "field": {"signal": "timestamp ? 'timestamp' : 'build_id'"}},
|
||||||
"y": {"scale": "y", "field": "metric_value"},
|
"y": {"scale": "y", "field": "metric_value"},
|
||||||
"strokeWidth": {"value": 1},
|
"strokeWidth": {"value": 1},
|
||||||
"fill": {"scale": "color", "field": "metric_name"}
|
"fill": {"scale": "color", "field": "metric_name"}
|
||||||
|
|||||||
@@ -87,13 +87,14 @@
|
|||||||
"update": "span(brush) ? invert('x', brush) : null"
|
"update": "span(brush) ? invert('x', brush) : null"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
{"name": "timestamp", "value": true, "bind": {"input": "checkbox"}}
|
||||||
],
|
],
|
||||||
"data": [
|
"data": [
|
||||||
{
|
{
|
||||||
"name": "table",
|
"name": "table",
|
||||||
"comment": "Uncomment `values` and comment `url` to test chart in VEGA editor https://vega.github.io/editor/#/",
|
"comment": "To test chart in VEGA editor https://vega.github.io/editor/#/ change `_values` to `values` and rename `url` property",
|
||||||
/*"values" : {
|
"_values" : {
|
||||||
"hits" : {
|
"hits" : {
|
||||||
"hits" : [
|
"hits" : [
|
||||||
{
|
{
|
||||||
@@ -153,12 +154,12 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},*/
|
},
|
||||||
"url": {
|
"url": {
|
||||||
"comment": "source index pattern",
|
"comment": "source index pattern",
|
||||||
"index": "kotlin_ide_benchmarks*",
|
"index": "kotlin_ide_benchmarks*",
|
||||||
"comment": "it's a body of ES _search query to check query place it into `POST /kotlin_ide_benchmarks*/_search`",
|
"comment": "it's a body of ES _search query to check query place it into `POST /kotlin_ide_benchmarks*/_search`",
|
||||||
"comment": "it uses Kibana specific %timefilter% for time frame selection"
|
"comment": "it uses Kibana specific %timefilter% for time frame selection",
|
||||||
"body": {
|
"body": {
|
||||||
"size": 1000,
|
"size": 1000,
|
||||||
"query": {
|
"query": {
|
||||||
@@ -183,16 +184,23 @@
|
|||||||
"comment": "we need to have follow data: \"build_id\", \"metric_name\", \"metric_value\" and \"metric_error\"",
|
"comment": "we need to have follow data: \"build_id\", \"metric_name\", \"metric_value\" and \"metric_error\"",
|
||||||
"comment": "so it has to be array of {\"build_id\": \"...\", \"metric_name\": \"...\", \"metric_value\": ..., \"metric_error\": ...}",
|
"comment": "so it has to be array of {\"build_id\": \"...\", \"metric_name\": \"...\", \"metric_value\": ..., \"metric_error\": ...}",
|
||||||
"transform": [
|
"transform": [
|
||||||
|
{"type": "collect","sort": {"field": "_source.build\\.timestamp"}},
|
||||||
{"type": "flatten", "fields": ["_source.metrics"], "as": ["metrics"]},
|
{"type": "flatten", "fields": ["_source.metrics"], "as": ["metrics"]},
|
||||||
{
|
{
|
||||||
"type": "project",
|
"type": "project",
|
||||||
"fields": [
|
"fields": [
|
||||||
"_source.build_id",
|
"_source.build_id",
|
||||||
|
"_source.build\\.timestamp",
|
||||||
"metrics.metric_name",
|
"metrics.metric_name",
|
||||||
"metrics.metric_value",
|
"metrics.metric_value",
|
||||||
"metrics.metric_error"
|
"metrics.metric_error"
|
||||||
],
|
],
|
||||||
"as": ["build_id", "metric_name", "metric_value", "metric_error"]
|
"as": ["build_id", "build_timestamp", "metric_name", "metric_value", "metric_error"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "formula",
|
||||||
|
"as": "timestamp",
|
||||||
|
"expr": "timeFormat(toDate(datum.build_timestamp), '%Y-%m-%d %H:%M')"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"comment": "create `url` value that points to TC build",
|
"comment": "create `url` value that points to TC build",
|
||||||
@@ -220,7 +228,7 @@
|
|||||||
"orient": "bottom",
|
"orient": "bottom",
|
||||||
"labelAngle": -20,
|
"labelAngle": -20,
|
||||||
"labelAlign": "right",
|
"labelAlign": "right",
|
||||||
"title": "build_id",
|
"title": {"signal": "timestamp ? 'timestamp' : 'build_id'"},
|
||||||
"titlePadding": 10,
|
"titlePadding": 10,
|
||||||
"tickCount": 5,
|
"tickCount": 5,
|
||||||
"encode": {
|
"encode": {
|
||||||
@@ -246,7 +254,7 @@
|
|||||||
"name": "x",
|
"name": "x",
|
||||||
"type": "point",
|
"type": "point",
|
||||||
"range": "width",
|
"range": "width",
|
||||||
"domain": {"data": "table", "field": "build_id"}
|
"domain": {"data": "table", "field": {"signal": "timestamp ? 'timestamp' : 'build_id'"}}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "y",
|
"name": "y",
|
||||||
@@ -328,7 +336,7 @@
|
|||||||
"encode": {
|
"encode": {
|
||||||
"hover": {"opacity": {"value": 1}, "strokeWidth": {"value": 4}},
|
"hover": {"opacity": {"value": 1}, "strokeWidth": {"value": 4}},
|
||||||
"update": {
|
"update": {
|
||||||
"x": {"scale": "x", "field": "build_id"},
|
"x": {"scale": "x", "field": {"signal": "timestamp ? 'timestamp' : 'build_id'"}},
|
||||||
"y": {"scale": "y", "field": "metric_value"},
|
"y": {"scale": "y", "field": "metric_value"},
|
||||||
"strokeWidth": {"value": 2},
|
"strokeWidth": {"value": 2},
|
||||||
"opacity": [
|
"opacity": [
|
||||||
@@ -360,7 +368,7 @@
|
|||||||
"href": {"field": "url"},
|
"href": {"field": "url"},
|
||||||
"cursor": {"value": "pointer"},
|
"cursor": {"value": "pointer"},
|
||||||
"size": {"scale": "size", "field": "metric_error"},
|
"size": {"scale": "size", "field": "metric_error"},
|
||||||
"x": {"scale": "x", "field": "build_id"},
|
"x": {"scale": "x", "field": {"signal": "timestamp ? 'timestamp' : 'build_id'"}},
|
||||||
"y": {"scale": "y", "field": "metric_value"},
|
"y": {"scale": "y", "field": "metric_value"},
|
||||||
"strokeWidth": {"value": 1},
|
"strokeWidth": {"value": 1},
|
||||||
"fill": {"scale": "color", "field": "metric_name"}
|
"fill": {"scale": "color", "field": "metric_name"}
|
||||||
|
|||||||
Reference in New Issue
Block a user