aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfmenguy <francoisregis.menguy@orange.com>2020-10-05 18:13:05 +0200
committerFran�ois-R�gis Menguy <francoisregis.menguy@orange.com>2021-03-11 12:17:48 +0000
commitc3e9d0fc0076f0a2930f13366255b0e8e65fb814 (patch)
tree65293a4fbd1e163ccec18f52b42ed0df10af3b02
parentaffd504490093d4f62aa89900ba40e8c8be6e412 (diff)
Add Kibana visualizations examples for NDR result
Change-Id: I652dc2c3d69ae5f6bff5019b0868d1becaceec63 Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
-rw-r--r--docs/testing/user/userguide/conf.py2
-rw-r--r--docs/testing/user/userguide/fluentd.rst1
-rw-r--r--docs/testing/user/userguide/images/nfvbench-kibana-filter-kql.pngbin0 -> 27039 bytes
-rw-r--r--docs/testing/user/userguide/images/nfvbench-kibana-filter.pngbin0 -> 22998 bytes
-rw-r--r--docs/testing/user/userguide/images/nfvbench-kibana-gbps-line.pngbin0 -> 61856 bytes
-rw-r--r--docs/testing/user/userguide/images/nfvbench-kibana-pps-scatter.pngbin0 -> 56762 bytes
-rw-r--r--docs/testing/user/userguide/images/nfvbench-kibana-pps-theoretical.pngbin0 -> 60589 bytes
-rw-r--r--docs/testing/user/userguide/images/nfvbench-kibana-zoom-selection.pngbin0 -> 54663 bytes
-rw-r--r--docs/testing/user/userguide/images/nfvbench-kibana.pngbin0 -> 23015 bytes
-rw-r--r--docs/testing/user/userguide/index.rst1
-rw-r--r--docs/testing/user/userguide/kibana.rst93
-rw-r--r--kibana/visualizations/export.ndjson25
-rw-r--r--kibana/visualizations/ndr_capacity_gbps_line_chart.json95
-rw-r--r--kibana/visualizations/ndr_capacity_gbps_scatter_plot.json108
-rw-r--r--kibana/visualizations/ndr_capacity_gbps_theoretical_line_chart.json114
-rw-r--r--kibana/visualizations/ndr_capacity_gbps_theoretical_scatter_plot.json128
-rw-r--r--kibana/visualizations/ndr_capacity_pps_line_chart.json98
-rw-r--r--kibana/visualizations/ndr_capacity_pps_scatter_plot.json108
-rw-r--r--kibana/visualizations/ndr_capacity_pps_theoretical_line_chart.json115
-rw-r--r--kibana/visualizations/ndr_capacity_pps_theoretical_scatter_plot.json128
20 files changed, 1015 insertions, 1 deletions
diff --git a/docs/testing/user/userguide/conf.py b/docs/testing/user/userguide/conf.py
index 5846b00..bee045b 100644
--- a/docs/testing/user/userguide/conf.py
+++ b/docs/testing/user/userguide/conf.py
@@ -49,7 +49,7 @@ sys.path.insert(0, os.path.abspath('../..'))
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
-extensions = []
+extensions = ['sphinx.ext.autosectionlabel']
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
diff --git a/docs/testing/user/userguide/fluentd.rst b/docs/testing/user/userguide/fluentd.rst
index e1ff37f..7332458 100644
--- a/docs/testing/user/userguide/fluentd.rst
+++ b/docs/testing/user/userguide/fluentd.rst
@@ -192,3 +192,4 @@ And the results of this command obtained from fluentd by elasticsearch:
1508264203755
]
}
+
diff --git a/docs/testing/user/userguide/images/nfvbench-kibana-filter-kql.png b/docs/testing/user/userguide/images/nfvbench-kibana-filter-kql.png
new file mode 100644
index 0000000..f5c7b2d
--- /dev/null
+++ b/docs/testing/user/userguide/images/nfvbench-kibana-filter-kql.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-kibana-filter.png b/docs/testing/user/userguide/images/nfvbench-kibana-filter.png
new file mode 100644
index 0000000..18a6dc5
--- /dev/null
+++ b/docs/testing/user/userguide/images/nfvbench-kibana-filter.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-kibana-gbps-line.png b/docs/testing/user/userguide/images/nfvbench-kibana-gbps-line.png
new file mode 100644
index 0000000..1947412
--- /dev/null
+++ b/docs/testing/user/userguide/images/nfvbench-kibana-gbps-line.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-kibana-pps-scatter.png b/docs/testing/user/userguide/images/nfvbench-kibana-pps-scatter.png
new file mode 100644
index 0000000..89a8e47
--- /dev/null
+++ b/docs/testing/user/userguide/images/nfvbench-kibana-pps-scatter.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-kibana-pps-theoretical.png b/docs/testing/user/userguide/images/nfvbench-kibana-pps-theoretical.png
new file mode 100644
index 0000000..da7dc7a
--- /dev/null
+++ b/docs/testing/user/userguide/images/nfvbench-kibana-pps-theoretical.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-kibana-zoom-selection.png b/docs/testing/user/userguide/images/nfvbench-kibana-zoom-selection.png
new file mode 100644
index 0000000..6af64ea
--- /dev/null
+++ b/docs/testing/user/userguide/images/nfvbench-kibana-zoom-selection.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-kibana.png b/docs/testing/user/userguide/images/nfvbench-kibana.png
new file mode 100644
index 0000000..d185fa0
--- /dev/null
+++ b/docs/testing/user/userguide/images/nfvbench-kibana.png
Binary files differ
diff --git a/docs/testing/user/userguide/index.rst b/docs/testing/user/userguide/index.rst
index 78519c8..04d2581 100644
--- a/docs/testing/user/userguide/index.rst
+++ b/docs/testing/user/userguide/index.rst
@@ -29,6 +29,7 @@ Table of Content
mpls
extchains
fluentd
+ kibana
sriov
server
faq
diff --git a/docs/testing/user/userguide/kibana.rst b/docs/testing/user/userguide/kibana.rst
new file mode 100644
index 0000000..68c3d38
--- /dev/null
+++ b/docs/testing/user/userguide/kibana.rst
@@ -0,0 +1,93 @@
+NFVbench Kibana visualization: overview
+=======================================
+
+The fluentd integration offers the possibility to use elasticsearch and kibana as a visualization chain.
+
+Chain overview:
+
+.. image:: images/nfvbench-kibana.png
+
+Example of NFVbench visualizations
+----------------------------------
+
+Kibana offers a lot of visualization type (line and bar charts, pie, time series chart, data table ...) and also provide a plugin to develop graph using Vega.
+In the below examples, visualizations are based on an NDR result and are developed using `Vega-lite <https://vega.github.io/vega-lite-v2>`_.
+Data are aggregated using ``user_label`` and ``flow_count`` properties.
+
+In ``kibana/visualizations/`` pre-created graphs are available into json files.
+
+For NDR capacity in Gbps using line chart, the offered load in Gbps (``offered_tx_rate_bps``) is used and only the maximum value of the aggregation is kept.
+For NDR capacity in Mpps using line chart, the actual TX rate is used (``rate_pps``) and only the maximum value of the aggregation is kept.
+
+Scatter plot graphs use the same values but keep all values instead of keeping maximum.
+
+Example of a line chart:
+
+.. image:: images/nfvbench-kibana-gbps-line.png
+
+Example of a scatter plot chart:
+
+.. image:: images/nfvbench-kibana-pps-scatter.png
+
+Vega offers the possibility to add another graph as a new layer of current graph.
+This solution is used to combine NFVbench results and theoretical line rate.
+Using ``extra_encapsulation_bytes`` in --user-info property (see `User info data section <https://opnfv-nfvbench.readthedocs.io/en/latest/testing/user/userguide/advanced.html#user-info-data>`_),
+the theoretical max value (for bps and pps) will be calculated and can be used in graph through ``theoretical_tx_rate_bps`` and ``theoretical_tx_rate_pps`` properties.
+
+Example of chart with theoretical value (red line):
+
+.. image:: images/nfvbench-kibana-pps-theoretical.png
+
+Each Vega graph can be moved, zoomed (using mouse scroll) and one set of data can be selected.
+
+Example:
+
+.. image:: images/nfvbench-kibana-zoom-selection.png
+
+These visualizations are included into Kibana dashboard for a synthesis of one set of result (i.e. same ``user_label`` value) or for comparison (i.e. a selection of ``user_label`` values).
+See :ref:`filterkibana` for more details about ``user_label`` selection.
+
+All these visualizations and dashboards are saved into the ``export.ndjson`` file and can be imported in an existing Kibana. See :ref:`importkibana`.
+
+.. _importkibana:
+
+Import Kibana dashboards and visualization
+------------------------------------------
+
+To import Kibana dashboard and visualization:
+
+.. code-block:: bash
+
+ curl -X POST localhost:5601/api/saved_objects/_import -H "kbn-xsrf: true" --form file=@export.ndjson
+
+.. note:: ``.kibana`` index must exists in elasticsearch.
+.. note:: ``.kibana`` index is created automatically after a first deployment and configuration of Kibana.
+
+.. _filterkibana:
+
+Kibana user guide: Filter dashboards and visualizations
+=======================================================
+
+Filter Kibana dashboard or visualization using Kibana query language (KQL)
+--------------------------------------------------------------------------
+
+.. code-block:: bash
+
+ user_label:*demo* and (flow_count: 128 or flow_count:130000 or flow_count:1000000)
+
+.. note:: This query will filter all user label which contains ``demo`` in the value and filter 3 flow count (128, 130k, 1M).
+.. note:: ``flow_count`` is a number so KQL query can not contain formatted string.
+
+Example:
+
+.. image:: images/nfvbench-kibana-filter-kql.png
+
+
+Filter Kibana dashboard or visualization using Kibana filters
+-------------------------------------------------------------
+
+Kibana offers the possibility to add filter by selecting field and operator (is, is not, is one of, is not one of, exists, does not exist).
+
+Example:
+
+.. image:: images/nfvbench-kibana-filter.png \ No newline at end of file
diff --git a/kibana/visualizations/export.ndjson b/kibana/visualizations/export.ndjson
new file mode 100644
index 0000000..de72cb4
--- /dev/null
+++ b/kibana/visualizations/export.ndjson
@@ -0,0 +1,25 @@
+{"attributes":{"fieldFormatMap":"{\"frame_size_int\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0\"}},\"rate_pps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[000]a\"}},\"rate_bps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[0] bd\"}},\"forward_orig_rate_bps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[0] bd\"}},\"forward_rx_rate_bps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[0] bd\"}},\"forward_tx_rate_bps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[0] bd\"}},\"reverse_orig_rate_bps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[0] bd\"}},\"reverse_rx_rate_bps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[0] bd\"}},\"reverse_tx_rate_bps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[0] bd\"}},\"total_orig_rate_bps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[0] bd\"}},\"total_rx_rate_bps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[0] bd\"}},\"total_tx_rate_bps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[0] bd\"}},\"forward_orig_rate_pps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[000]a\"}},\"forward_rx_rate_pps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[000]a\"}},\"forward_tx_rate_pps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[000]a\"}},\"reverse_orig_rate_pps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[000]a\"}},\"reverse_rx_rate_pps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[000]a\"}},\"reverse_tx_rate_pps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[000]a\"}},\"total_orig_rate_pps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[000]a\"}},\"total_rx_rate_pps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[000]a\"}},\"total_tx_rate_pps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[000]a\"}},\"theoretical_tx_rate_bps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[0] bd\"}},\"theoretical_tx_rate_pps\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://172.20.73.203:5651\",\"pathname\":\"/app/kibana\",\"basePath\":\"\"},\"pattern\":\"0,0.[000]a\"}}}","fields":"[{\"name\":\"@timestamp\",\"type\":\"date\",\"esTypes\":[\"date\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"Encapsulation\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"Encapsulation.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"Encapsulation\"}}},{\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"esTypes\":[\"_source\"],\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"esTypes\":[\"_type\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"avg_delay_usec\",\"type\":\"number\",\"esTypes\":[\"float\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"bidirectional\",\"type\":\"boolean\",\"esTypes\":[\"boolean\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"drop_limit\",\"type\":\"number\",\"esTypes\":[\"float\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"drop_percentage\",\"type\":\"number\",\"esTypes\":[\"float\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"drop_rate_percent\",\"type\":\"number\",\"esTypes\":[\"float\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"flow_count\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"forward_orig_rate_bps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"forward_orig_rate_pps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"forward_rx_rate_bps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"forward_rx_rate_pps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"forward_tx_rate_bps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"forward_tx_rate_pps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"frame_size\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"frame_size.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"frame_size\"}}},{\"name\":\"lat_percentile_25\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"lat_percentile_75\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"lat_percentile_99\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"max_delay_usec\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"min_delay_usec\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"ndr_search_duration\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"ndr_search_duration.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"ndr_search_duration\"}}},{\"name\":\"offered_tx_rate_bps\",\"type\":\"number\",\"esTypes\":[\"float\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"profile\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"profile.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"profile\"}}},{\"name\":\"rate_bps\",\"type\":\"number\",\"esTypes\":[\"float\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"rate_pps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"reverse_orig_rate_bps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"reverse_orig_rate_pps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"reverse_rx_rate_bps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"reverse_rx_rate_pps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"reverse_tx_rate_bps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"reverse_tx_rate_pps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"runlogdate\",\"type\":\"date\",\"esTypes\":[\"date\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"sc_count\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"service_chain\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"service_chain.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"service_chain\"}}},{\"name\":\"theoretical_tx_rate_bps\",\"type\":\"number\",\"esTypes\":[\"float\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"theoretical_tx_rate_pps\",\"type\":\"number\",\"esTypes\":[\"float\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"total_orig_rate_bps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"total_orig_rate_pps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"total_rx_rate_bps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"total_rx_rate_pps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"total_tx_rate_bps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"total_tx_rate_pps\",\"type\":\"number\",\"esTypes\":[\"long\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"type\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"type.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"type\"}}},{\"name\":\"user_label\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"user_label.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"user_label\"}}},{\"name\":\"vSwitch\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"vSwitch.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"vSwitch\"}}},{\"name\":\"version\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"version.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"version\"}}},{\"name\":\"frame_size_int\",\"type\":\"number\",\"count\":0,\"scripted\":true,\"script\":\"if (doc['frame_size.keyword'] != null) {\\n if (doc['frame_size.keyword'].value != \\\"IMIX\\\") {\\n return Integer.parseInt(doc['frame_size.keyword'].value) \\n }\\n else { \\n return 362 \\n } \\n}\",\"lang\":\"painless\",\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false}]","timeFieldName":"@timestamp","title":"resu*"},"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","migrationVersion":{"index-pattern":"7.6.0"},"references":[],"type":"index-pattern","updated_at":"2020-10-06T12:53:31.024Z","version":"WzE2NTYsMTJd"}
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\",\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"type.keyword\",\"negate\":true,\"params\":{\"query\":\"single_run\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match_phrase\":{\"type.keyword\":\"single_run\"}}}]}"},"title":"Synthesis - one label","uiStateJSON":"{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}","version":1,"visState":"{\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"rate_bps\",\"customLabel\":\"Offered bps\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"rate_pps\",\"customLabel\":\"Offered pps\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"std_dev\",\"schema\":\"metric\",\"params\":{\"field\":\"total_orig_rate_bps\",\"customLabel\":\"std max bps\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"avg_delay_usec\",\"customLabel\":\"latency avg\"}},{\"id\":\"6\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"split\",\"params\":{\"field\":\"flow_count\",\"orderBy\":\"_key\",\"order\":\"asc\",\"size\":50,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"flow count\"}},{\"id\":\"8\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"frame_size_int\",\"orderBy\":\"_key\",\"order\":\"asc\",\"size\":50,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"frame size (bytes)\"}}],\"params\":{\"perPage\":10,\"percentageCol\":\"\",\"row\":false,\"showMetricsAtAllLevels\":false,\"showPartialRows\":false,\"showTotal\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"totalFunc\":\"sum\"},\"title\":\"Synthesis - one label\"}"},"id":"0d2c4070-e6e3-11ea-a933-05dd8fc4d76f","migrationVersion":{"visualization":"7.8.0"},"references":[{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index","type":"index-pattern"}],"type":"visualization","updated_at":"2020-09-03T13:55:18.628Z","version":"WzExMTcsNV0="}
+{"attributes":{"description":"NDR / PDR line chart - in Mpps","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"type.keyword\",\"negate\":true,\"params\":{\"query\":\"single_run\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match_phrase\":{\"type.keyword\":\"single_run\"}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"frame_size\",\"negate\":true,\"params\":{\"query\":\"IMIX\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index\"},\"query\":{\"match_phrase\":{\"frame_size\":\"IMIX\"}}}]}"},"title":"[NDR] Capacity in Mpps - Line chart","uiStateJSON":"{}","version":1,"visState":"{\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n $schema: https: //vega.github.io/schema/vega-lite/v2.json\\n title: \\\"Capacity in Mpps - 0,001% loss ratio\\\"\\n data: {\\n url: {\\n %context%: true\\n %timefield%: \\\"@timestamp\\\"\\n index: resu*\\n body: {\\n _source: [\\\"@timestamp\\\", \\\"_source\\\", \\\"rate_pps\\\", \\\"flow_count\\\", \\\"frame_size\\\", \\\"user_label\\\", \\\"type\\\"]\\n },\\n size: 10000\\n },\\n format: { property: \\\"hits.hits\\\" }\\n },\\n\\n transform: [\\n { calculate: \\\"datum._source['rate_pps'] / 1000000\\\" as: \\\"offered_load_pps\\\"},\\n { calculate: \\\"datum._source['flow_count']\\\" as: \\\"flow_count\\\"},\\n { calculate: \\\"isNaN(toNumber(datum._source['frame_size'])) ? 362 : toNumber(datum._source['frame_size'])\\\" as: \\\"frame_size\\\"},\\n { calculate: \\\"datum._source['user_label'] + '-' + datum._source['flow_count']\\\" as: \\\"label\\\"}\\n { aggregate: [{op: \\\"max\\\", field: \\\"offered_load_pps\\\", as: \\\"max_offered_load_pps\\\"}], groupby: [\\\"frame_size\\\", \\\"label\\\",\\\"flow_count\\\"]}\\n \\n ],\\n center: true,\\n hconcat: [\\n {\\n width:10,\\n selection: {\\n legendSel: {\\n type: \\\"multi\\\",\\n encodings: [ \\\"color\\\", \\\"shape\\\" ],\\n toggle: \\\"event.shiftKey\\\"\\n }\\n },\\n encoding: {\\n y: {\\n field: \\\"label\\\",\\n type: \\\"nominal\\\",\\n axis: {\\n title: \\\"\\\",\\n domain: false,\\n ticks: false,\\n offset: 10\\n },\\n },\\n color: {\\n condition: {\\n selection: \\\"legendSel\\\",\\n field: \\\"label\\\",\\n type: \\\"nominal\\\",\\n legend: null\\n },\\n value: \\\"lightgrey\\\"\\n }\\n },\\n mark: {\\n type: \\\"square\\\",\\n size: 120,\\n opacity: 1\\n }\\n },\\n {\\n width:500,\\n height:280,\\n transform: [\\n {filter: { selection: \\\"legendSel\\\"}}\\n \\n ],\\n mark: {\\n type: \\\"line\\\",\\n tooltip: true,\\n point: true\\n },\\n selection: {\\n grid: {\\n type: \\\"interval\\\",\\n resolve: \\\"global\\\",\\n bind: \\\"scales\\\",\\n translate: \\\"[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!\\\",\\n zoom: \\\"wheel![!event.shiftKey]\\\"\\n },\\n pts: {\\n type: \\\"single\\\",\\n fields: [\\\"Label\\\"]\\n }\\n },\\n encoding: {\\n x: { field: \\\"frame_size\\\", type: \\\"quantitative\\\", title: \\\"Frame size (bytes)\\\", axis: {offset: 10} }\\n y: { field: \\\"max_offered_load_pps\\\", type: \\\"quantitative\\\", title: \\\"Offered load (Mpps)\\\" , axis: {offset: 10} }\\n color: {field: \\\"label\\\", \\\"type\\\": \\\"nominal\\\",\\n \\\"legend\\\": null}\\n tooltip: {\\\"field\\\": \\\"max_offered_load_pps\\\", \\\"type\\\": \\\"quantitative\\\"},\\n shape: {field: \\\"flow_count\\\", type: \\\"nominal\\\"}\\n }\\n } \\n ]\\n}\"},\"title\":\"[NDR] Capacity in Mpps - Line chart\"}"},"id":"1b471fa0-e6b0-11ea-bdc0-1fe1db0b9cb6","migrationVersion":{"visualization":"7.8.0"},"references":[{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index","type":"index-pattern"}],"type":"visualization","updated_at":"2020-10-06T12:39:19.799Z","version":"WzE2MDgsMTJd"}
+{"attributes":{"description":"NDR / PDR line chart - in Gbps","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"type.keyword\",\"negate\":true,\"params\":{\"query\":\"single_run\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match_phrase\":{\"type.keyword\":\"single_run\"}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"frame_size\",\"negate\":true,\"params\":{\"query\":\"IMIX\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index\"},\"query\":{\"match_phrase\":{\"frame_size\":\"IMIX\"}}},{\"$state\":{\"store\":\"appState\"},\"exists\":{\"field\":\"offered_tx_rate_bps\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"offered_tx_rate_bps\",\"negate\":false,\"type\":\"exists\",\"value\":\"exists\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[2].meta.index\"}}]}"},"title":"[NDR] Capacity in Gbps - Line chart","uiStateJSON":"{}","version":1,"visState":"{\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n $schema: https: //vega.github.io/schema/vega-lite/v2.json\\n title: \\\"Capacity in Gbps - 0,001% loss ratio\\\"\\n data: {\\n url: {\\n %context%: true\\n %timefield%: \\\"@timestamp\\\"\\n index: resu*\\n body: {\\n _source: [\\\"@timestamp\\\", \\\"_source\\\", \\\"offered_tx_rate_bps\\\", \\\"flow_count\\\", \\\"frame_size\\\", \\\"user_label\\\"]\\n },\\n size: 10000\\n },\\n format: { property: \\\"hits.hits\\\" }\\n },\\n transform: [\\n { calculate: \\\"datum._source['offered_tx_rate_bps'] / 1000000000\\\" as: \\\"offered_load_gbps\\\"},\\n { calculate: \\\"datum._source['flow_count']\\\" as: \\\"flow_count\\\"},\\n { calculate: \\\"isNaN(toNumber(datum._source['frame_size'])) ? 362 : toNumber(datum._source['frame_size'])\\\" as: \\\"frame_size\\\"},\\n { calculate: \\\"datum._source['user_label'] + '-' + datum._source['flow_count']\\\" as: \\\"label\\\"}\\n { aggregate: [{op: \\\"max\\\", field: \\\"offered_load_gbps\\\", as: \\\"max_offered_load_gbps\\\"}], groupby: [\\\"frame_size\\\", \\\"label\\\",\\\"flow_count\\\"]}\\n ],\\n center: true,\\n hconcat: [\\n {\\n width:10,\\n selection: {\\n legendSel: {\\n type: \\\"multi\\\",\\n encodings: [ \\\"color\\\", \\\"shape\\\" ],\\n toggle: \\\"event.shiftKey\\\"\\n }\\n },\\n encoding: {\\n y: {\\n field: \\\"label\\\",\\n type: \\\"nominal\\\",\\n axis: {\\n title: \\\"\\\",\\n domain: false,\\n ticks: false,\\n offset: 10\\n },\\n },\\n color: {\\n condition: {\\n selection: \\\"legendSel\\\",\\n field: \\\"label\\\",\\n type: \\\"nominal\\\",\\n legend: null\\n },\\n value: \\\"lightgrey\\\"\\n }\\n },\\n mark: {\\n type: \\\"square\\\",\\n size: 120,\\n opacity: 1\\n }\\n },\\n {\\n width:500,\\n height:280,\\n transform: [\\n {filter: { selection: \\\"legendSel\\\"}}\\n ],\\n mark: {\\n type: \\\"line\\\",\\n tooltip: true,\\n point: true\\n },\\n selection: {\\n grid: {\\n type: \\\"interval\\\",\\n resolve: \\\"global\\\",\\n bind: \\\"scales\\\",\\n translate: \\\"[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!\\\",\\n zoom: \\\"wheel![!event.shiftKey]\\\"\\n },\\n pts: {\\n type: \\\"single\\\",\\n fields: [\\\"Label\\\"]\\n }\\n },\\n encoding: {\\n x: { field: \\\"frame_size\\\", type: \\\"quantitative\\\", title: \\\"Frame size (bytes)\\\", axis: {offset: 10} }\\n y: { field: \\\"max_offered_load_gbps\\\", type: \\\"quantitative\\\", title: \\\"Offered load (Gbps)\\\" , axis: {offset: 10} }\\n color: {field: \\\"label\\\", \\\"type\\\": \\\"nominal\\\",\\n \\\"legend\\\": null}\\n shape: {field: \\\"flow_count\\\", type: \\\"nominal\\\"}\\n tooltip: {\\\"field\\\": \\\"max_offered_load_gbps\\\", \\\"type\\\": \\\"quantitative\\\"}\\n }\\n }\\n ]\\n}\"},\"title\":\"[NDR] Capacity in Gbps - Line chart\"}"},"id":"23b0eb40-e60a-11ea-bdc0-1fe1db0b9cb6","migrationVersion":{"visualization":"7.8.0"},"references":[{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[2].meta.index","type":"index-pattern"}],"type":"visualization","updated_at":"2020-10-06T12:41:52.380Z","version":"WzE2MTUsMTJd"}
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\",\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"type.keyword\",\"negate\":true,\"params\":{\"query\":\"single_run\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match_phrase\":{\"type.keyword\":\"single_run\"}}}]}"},"title":"Synthesis - multiple labels","uiStateJSON":"{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}","version":1,"visState":"{\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"rate_bps\",\"customLabel\":\"Offered bps\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"rate_pps\",\"customLabel\":\"Offered pps\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"std_dev\",\"schema\":\"metric\",\"params\":{\"field\":\"total_orig_rate_bps\",\"customLabel\":\"std max bps\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"avg_delay_usec\",\"customLabel\":\"latency avg\"}},{\"id\":\"6\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"split\",\"params\":{\"field\":\"flow_count\",\"orderBy\":\"_key\",\"order\":\"asc\",\"size\":50,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"flow count\"}},{\"id\":\"9\",\"enabled\":true,\"type\":\"significant_terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"user_label.keyword\",\"size\":10,\"customLabel\":\"label\"}},{\"id\":\"8\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"frame_size_int\",\"orderBy\":\"_key\",\"order\":\"asc\",\"size\":50,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"frame size (bytes)\"}}],\"params\":{\"perPage\":10,\"percentageCol\":\"\",\"row\":false,\"showMetricsAtAllLevels\":false,\"showPartialRows\":false,\"showTotal\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"totalFunc\":\"sum\"},\"title\":\"Synthesis - multiple labels\"}"},"id":"38cecb10-eded-11ea-a706-3fce679b2102","migrationVersion":{"visualization":"7.8.0"},"references":[{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index","type":"index-pattern"}],"type":"visualization","updated_at":"2020-09-03T13:56:10.433Z","version":"WzExMTksNV0="}
+{"attributes":{"description":"NDR / PDR scatter plot - in Gbps","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"type.keyword\",\"negate\":true,\"params\":{\"query\":\"single_run\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match_phrase\":{\"type.keyword\":\"single_run\"}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"frame_size\",\"negate\":true,\"params\":{\"query\":\"IMIX\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index\"},\"query\":{\"match_phrase\":{\"frame_size\":\"IMIX\"}}},{\"$state\":{\"store\":\"appState\"},\"exists\":{\"field\":\"offered_tx_rate_bps\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"offered_tx_rate_bps\",\"negate\":false,\"type\":\"exists\",\"value\":\"exists\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[2].meta.index\"}}]}"},"title":"[NDR] Capacity in Gbps - Scatter plot","uiStateJSON":"{}","version":1,"visState":"{\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n $schema: \\\"https://vega.github.io/schema/vega-lite/v2.json\\\"\\n title: \\\"Capacity in Gbps - 0.001% loss ratio\\\"\\n data: {\\n url: {\\n %context%: true\\n %timefield%: \\\"@timestamp\\\"\\n index: resu*\\n body: {\\n _source: [\\\"@timestamp\\\", \\\"_source\\\", \\\"offered_tx_rate_bps\\\", \\\"flow_count\\\", \\\"frame_size\\\", \\\"user_label\\\"]\\n },\\n size: 10000\\n },\\n format: { property: \\\"hits.hits\\\" }\\n },\\n transform: [\\n { calculate: \\\"datum._source['offered_tx_rate_bps'] / 1000000000\\\" as: \\\"Offered load (Gbps)\\\"},\\n { calculate: \\\"datum._source['flow_count']\\\" as: \\\"Flow count\\\"},\\n { calculate: \\\"isNaN(toNumber(datum._source['frame_size'])) ? 362 : toNumber(datum._source['frame_size'])\\\" as: \\\"Frame size (bytes)\\\"}\\n { calculate: \\\"datum._source['user_label'] + '-' + datum._source['flow_count']\\\" as: \\\"label\\\"}\\n ],\\n center: true,\\n hconcat: [\\n {\\n width:10,\\n selection: {\\n legendSel: {\\n type: \\\"multi\\\",\\n encodings: [ \\\"color\\\", \\\"shape\\\" ],\\n toggle: \\\"event.shiftKey\\\"\\n }\\n },\\n encoding: {\\n y: {\\n field: \\\"label\\\",\\n type: \\\"nominal\\\",\\n axis: {\\n title: \\\"\\\",\\n domain: false,\\n ticks: false,\\n offset: 10\\n },\\n },\\n color: {\\n condition: {\\n selection: \\\"legendSel\\\",\\n field: \\\"label\\\",\\n type: \\\"nominal\\\",\\n legend: null\\n },\\n value: \\\"lightgrey\\\"\\n }\\n },\\n mark: {\\n type: \\\"square\\\",\\n size: 120,\\n opacity: 1\\n }\\n },\\n {\\n width:500,\\n height:280,\\n transform: [\\n {filter: { selection: \\\"legendSel\\\"}}\\n \\n ],\\n mark: {\\n \\\"type\\\": \\\"point\\\",\\n \\\"tooltip\\\": true\\n },\\n selection: {\\n grid: {\\n type: \\\"interval\\\",\\n resolve: \\\"global\\\",\\n bind: \\\"scales\\\",\\n translate: \\\"[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!\\\",\\n zoom: \\\"wheel![!event.shiftKey]\\\"\\n },\\n pts: {\\n type: \\\"single\\\",\\n fields: [\\\"label\\\"]\\n }\\n },\\n encoding: {\\n x: {\\n field: \\\"Frame size (bytes)\\\",\\n type: \\\"quantitative\\\"\\n }\\n y: {\\n field: \\\"Offered load (Gbps)\\\",\\n type: \\\"quantitative\\\"\\n }\\n color: {\\n field: \\\"label\\\", \\\"type\\\": \\\"nominal\\\",\\n \\\"legend\\\": null\\n }\\n shape: {\\n field: \\\"Flow count\\\",\\n type: \\\"nominal\\\"\\n }\\n tooltip: {\\n \\\"field\\\": \\\"Offered load (Gbps)\\\",\\n \\\"type\\\": \\\"quantitative\\\"\\n }\\n }\\n }\\n ]\\n}\"},\"title\":\"[NDR] Capacity in Gbps - Scatter plot\"}"},"id":"82fc8690-e77c-11ea-bb67-9b8ce9c25c00","migrationVersion":{"visualization":"7.8.0"},"references":[{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[2].meta.index","type":"index-pattern"}],"type":"visualization","updated_at":"2020-10-06T12:43:07.344Z","version":"WzE2MjAsMTJd"}
+{"attributes":{"description":"NDR / PDR scatter plot - in Mpps","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"type.keyword\",\"negate\":true,\"params\":{\"query\":\"single_run\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match_phrase\":{\"type.keyword\":\"single_run\"}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"frame_size\",\"negate\":true,\"params\":{\"query\":\"IMIX\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index\"},\"query\":{\"match_phrase\":{\"frame_size\":\"IMIX\"}}}]}"},"title":"[NDR] Capacity in Mpps - Scatter plot","uiStateJSON":"{}","version":1,"visState":"{\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n $schema: \\\"https://vega.github.io/schema/vega-lite/v2.json\\\"\\n title: \\\"Capacity in Mpps - 0,001% loss ratio\\\"\\n data: {\\n url: {\\n %context%: true\\n %timefield%: \\\"@timestamp\\\"\\n index: resu*\\n body: {\\n _source: [\\\"@timestamp\\\", \\\"_source\\\", \\\"rate_pps\\\", \\\"flow_count\\\", \\\"frame_size\\\", \\\"user_label\\\"]\\n },\\n size: 10000\\n },\\n format: { property: \\\"hits.hits\\\" }\\n },\\n transform: [\\n { calculate: \\\"datum._source['rate_pps'] / 1000000\\\" as: \\\"Offered load (Mpps)\\\"},\\n { calculate: \\\"datum._source['flow_count']\\\" as: \\\"Flow count\\\"},\\n { calculate: \\\"isNaN(toNumber(datum._source['frame_size'])) ? 362 : toNumber(datum._source['frame_size'])\\\" as: \\\"Frame size (bytes)\\\"}\\n { calculate: \\\"datum._source['user_label'] + '-' + datum._source['flow_count']\\\" as: \\\"label\\\"}\\n ],\\n center: true,\\n hconcat: [\\n {\\n width:10,\\n selection: {\\n legendSel: {\\n type: \\\"multi\\\",\\n encodings: [ \\\"color\\\", \\\"shape\\\" ],\\n toggle: \\\"event.shiftKey\\\"\\n }\\n },\\n encoding: {\\n y: {\\n field: \\\"label\\\",\\n type: \\\"nominal\\\",\\n axis: {\\n title: \\\"\\\",\\n domain: false,\\n ticks: false,\\n offset: 10\\n },\\n },\\n color: {\\n condition: {\\n selection: \\\"legendSel\\\",\\n field: \\\"label\\\",\\n type: \\\"nominal\\\",\\n legend: null\\n },\\n value: \\\"lightgrey\\\"\\n }\\n },\\n mark: {\\n type: \\\"square\\\",\\n size: 120,\\n opacity: 1\\n }\\n },\\n {\\n width:500,\\n height:280,\\n transform: [\\n {filter: { selection: \\\"legendSel\\\"}}\\n \\n ],\\n mark: {\\n \\\"type\\\": \\\"point\\\",\\n \\\"tooltip\\\": true\\n },\\n selection: {\\n grid: {\\n type: \\\"interval\\\",\\n resolve: \\\"global\\\",\\n bind: \\\"scales\\\",\\n translate: \\\"[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!\\\",\\n zoom: \\\"wheel![!event.shiftKey]\\\"\\n },\\n pts: {\\n type: \\\"single\\\",\\n fields: [\\\"label\\\"]\\n }\\n },\\n encoding: {\\n x: {\\n field: \\\"Frame size (bytes)\\\",\\n type: \\\"quantitative\\\"\\n }\\n y: {\\n field: \\\"Offered load (Mpps)\\\",\\n type: \\\"quantitative\\\"\\n }\\n color: {\\n field: \\\"label\\\", \\\"type\\\": \\\"nominal\\\",\\n \\\"legend\\\": null\\n }\\n shape: {\\n field: \\\"Flow count\\\",\\n type: \\\"nominal\\\"\\n }\\n tooltip: {\\n \\\"field\\\": \\\"Offered load (Mpps)\\\",\\n \\\"type\\\": \\\"quantitative\\\"\\n }\\n }\\n }\\n ]\\n}\"},\"title\":\"[NDR] Capacity in Mpps - Scatter plot\"}"},"id":"51110c20-e879-11ea-9fcb-3bb6d0d175f6","migrationVersion":{"visualization":"7.8.0"},"references":[{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index","type":"index-pattern"}],"type":"visualization","updated_at":"2020-10-06T12:44:30.320Z","version":"WzE2MjIsMTJd"}
+{"attributes":{"description":"","hits":0,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filter\":[]}"},"optionsJSON":"{\"hidePanelTitles\":false,\"useMargins\":true}","panelsJSON":"[{\"embeddableConfig\":{\"title\":\"Max value over 3 measurements\"},\"gridData\":{\"h\":15,\"i\":\"e9186fd0-d3a5-47ae-88c5-20cf0e44dc30\",\"w\":24,\"x\":0,\"y\":0},\"panelIndex\":\"e9186fd0-d3a5-47ae-88c5-20cf0e44dc30\",\"title\":\"Max value over 3 measurements\",\"version\":\"7.8.0\",\"panelRefName\":\"panel_0\"},{\"embeddableConfig\":{\"title\":\"Scatter plot\"},\"gridData\":{\"h\":15,\"i\":\"89f92958-de63-4244-af53-9ef60958de41\",\"w\":24,\"x\":24,\"y\":0},\"panelIndex\":\"89f92958-de63-4244-af53-9ef60958de41\",\"title\":\"Scatter plot\",\"version\":\"7.8.0\",\"panelRefName\":\"panel_1\"},{\"embeddableConfig\":{\"title\":\"Max value over 3 measurements\"},\"gridData\":{\"h\":15,\"i\":\"87ec5dff-5c9b-4c88-b079-cbc63b4275ad\",\"w\":24,\"x\":0,\"y\":15},\"panelIndex\":\"87ec5dff-5c9b-4c88-b079-cbc63b4275ad\",\"title\":\"Max value over 3 measurements\",\"version\":\"7.8.0\",\"panelRefName\":\"panel_2\"},{\"embeddableConfig\":{\"title\":\"Scatter plot\"},\"gridData\":{\"h\":15,\"i\":\"813ff050-1ec7-48f4-82db-b63ab98e40c6\",\"w\":24,\"x\":24,\"y\":15},\"panelIndex\":\"813ff050-1ec7-48f4-82db-b63ab98e40c6\",\"title\":\"Scatter plot\",\"version\":\"7.8.0\",\"panelRefName\":\"panel_3\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":10,\"i\":\"d806469f-2ea3-4b45-99d8-acc7f09ee8f5\",\"w\":48,\"x\":0,\"y\":30},\"panelIndex\":\"d806469f-2ea3-4b45-99d8-acc7f09ee8f5\",\"version\":\"7.8.0\",\"panelRefName\":\"panel_4\"}]","timeRestore":false,"title":"Synthesis Max Throughput - NDR (0.001% loss ratio)","version":1},"id":"46874a00-e2b9-11ea-bdc0-1fe1db0b9cb6","migrationVersion":{"dashboard":"7.3.0"},"references":[{"id":"23b0eb40-e60a-11ea-bdc0-1fe1db0b9cb6","name":"panel_0","type":"visualization"},{"id":"82fc8690-e77c-11ea-bb67-9b8ce9c25c00","name":"panel_1","type":"visualization"},{"id":"1b471fa0-e6b0-11ea-bdc0-1fe1db0b9cb6","name":"panel_2","type":"visualization"},{"id":"51110c20-e879-11ea-9fcb-3bb6d0d175f6","name":"panel_3","type":"visualization"},{"id":"0d2c4070-e6e3-11ea-a933-05dd8fc4d76f","name":"panel_4","type":"visualization"}],"type":"dashboard","updated_at":"2020-10-06T12:46:24.279Z","version":"WzE2MzEsMTJd"}
+{"attributes":{"buildNum":16588,"defaultIndex":"39955f20-78ac-11ea-ae77-8339e5fd808c"},"id":"6.2.2","references":[],"type":"config","updated_at":"2020-07-21T08:47:10.197Z","version":"WzYsMV0="}
+{"attributes":{"buildNum":20352,"defaultIndex":"39955f20-78ac-11ea-ae77-8339e5fd808c"},"id":"6.8.0","references":[],"type":"config","updated_at":"2020-07-30T15:12:33.985Z","version":"WzE4LDFd"}
+{"attributes":{"buildNum":31997,"defaultIndex":"e0939790-e78f-11ea-8ca2-35af0cc4217c"},"id":"7.8.0","references":[],"type":"config","updated_at":"2020-08-27T09:31:50.697Z","version":"Wzc5MCw0XQ=="}
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[{\"$state\":{\"store\":\"appState\"},\"exists\":{\"field\":\"theoretical_tx_rate_bps\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"theoretical_tx_rate_bps\",\"negate\":false,\"type\":\"exists\",\"value\":\"exists\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"}}]}"},"title":"[NDR] Capacity in Gbps with theoretical max rate - Line chart","uiStateJSON":"{}","version":1,"visState":"{\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n $schema: https: //vega.github.io/schema/vega-lite/v2.json\\n title: \\\"Capacity in Gbps - 0,001% loss ratio\\\"\\n data: {\\n url: {\\n %context%: true\\n %timefield%: \\\"@timestamp\\\"\\n index: resu*\\n body: {\\n _source: [\\\"@timestamp\\\", \\\"_source\\\", \\\"offered_tx_rate_bps\\\", \\\"theoretical_tx_rate_bps\\\", \\\"flow_count\\\", \\\"frame_size\\\", \\\"user_label\\\"]\\n },\\n size: 10000\\n },\\n format: { property: \\\"hits.hits\\\" }\\n },\\n transform: [\\n { calculate: \\\"datum._source['offered_tx_rate_bps'] / 1000000000\\\" as: \\\"offered_load_gbps\\\"},\\n { calculate: \\\"datum._source['theoretical_tx_rate_bps'] / 1000000000\\\" as: \\\"theoretical_tx_rate_bps\\\"},\\n { calculate: \\\"datum._source['flow_count']\\\" as: \\\"flow_count\\\"},\\n { calculate: \\\"isNaN(toNumber(datum._source['frame_size'])) ? 362 : toNumber(datum._source['frame_size'])\\\" as: \\\"frame_size\\\"},\\n { calculate: \\\"datum._source['user_label'] + '-' + datum._source['flow_count']\\\" as: \\\"label\\\"}\\n { aggregate: [{op: \\\"max\\\", field: \\\"offered_load_gbps\\\", as: \\\"max_offered_load_gbps\\\"}, {op: \\\"max\\\", field: \\\"theoretical_tx_rate_bps\\\", as: \\\"theoretical_tx_rate_bps\\\"}], groupby: [\\\"frame_size\\\", \\\"label\\\",\\\"flow_count\\\"]}\\n ],\\n center: true,\\n hconcat: [\\n {\\n width:10,\\n selection: {\\n legendSel: {\\n type: \\\"multi\\\",\\n encodings: [ \\\"color\\\", \\\"shape\\\" ],\\n toggle: \\\"event.shiftKey\\\"\\n }\\n },\\n encoding: {\\n y: {\\n field: \\\"label\\\",\\n type: \\\"nominal\\\",\\n axis: {\\n title: \\\"\\\",\\n domain: false,\\n ticks: false,\\n offset: 10\\n },\\n },\\n color: {\\n condition: {\\n selection: \\\"legendSel\\\",\\n field: \\\"label\\\",\\n type: \\\"nominal\\\",\\n legend: null\\n },\\n value: \\\"lightgrey\\\"\\n }\\n },\\n mark: {\\n type: \\\"square\\\",\\n size: 120,\\n opacity: 1\\n }\\n },\\n {\\n layer: [\\n {\\n mark: {\\n type: \\\"line\\\",\\n tooltip: true,\\n point: true\\n },\\n encoding: {\\n x: { field: \\\"frame_size\\\", type: \\\"quantitative\\\", title: \\\"Frame size (bytes)\\\", axis: {offset: 10} }\\n y: { field: \\\"theoretical_tx_rate_bps\\\", type: \\\"quantitative\\\", title: \\\"Theoretical rate (Gbps)\\\" , axis: {offset: 10} }\\n strokeDash: {\\\"field\\\": \\\"theoretical_tx_rate_bps\\\", \\\"type\\\": \\\"nominal\\\"}\\n tooltip: [{\\\"field\\\": \\\"theoretical_tx_rate_bps\\\", \\\"type\\\": \\\"quantitative\\\", title: \\\"theoretical max capacity\\\"}],\\n color: { \\\"value\\\": \\\"red\\\"}\\n }\\n },\\n {\\n width:500,\\n height:280,\\n transform: [\\n {filter: { selection: \\\"legendSel\\\"}}\\n ],\\n mark: {\\n type: \\\"line\\\",\\n tooltip: true,\\n point: true\\n },\\n selection: {\\n grid: {\\n type: \\\"interval\\\",\\n resolve: \\\"global\\\",\\n bind: \\\"scales\\\",\\n translate: \\\"[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!\\\",\\n zoom: \\\"wheel![!event.shiftKey]\\\"\\n },\\n pts: {\\n type: \\\"single\\\",\\n fields: [\\\"Label\\\"]\\n }\\n },\\n encoding: {\\n x: { field: \\\"frame_size\\\", type: \\\"quantitative\\\", title: \\\"Frame size (bytes)\\\", axis: {offset: 10} }\\n y: { field: \\\"max_offered_load_gbps\\\", type: \\\"quantitative\\\", title: \\\"Offered load (Gbps)\\\" , axis: {offset: 10} }\\n color: {field: \\\"label\\\", \\\"type\\\": \\\"nominal\\\",\\n \\\"legend\\\": null}\\n shape: {field: \\\"flow_count\\\", type: \\\"nominal\\\"}\\n tooltip: {\\\"field\\\": \\\"max_offered_load_gbps\\\", \\\"type\\\": \\\"quantitative\\\"}\\n }\\n }\\n ]\\n }\\n ]\\n}\"},\"title\":\"[NDR] Capacity in Gbps with theoretical max rate - Line chart\"}"},"id":"966a5990-0712-11eb-92f0-3518df6b43ff","migrationVersion":{"visualization":"7.8.0"},"references":[{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index","type":"index-pattern"}],"type":"visualization","updated_at":"2020-10-06T12:34:38.736Z","version":"WzE1OTIsMTJd"}
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\",\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"type.keyword\",\"negate\":true,\"params\":{\"query\":\"single_run\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match_phrase\":{\"type.keyword\":\"single_run\"}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"frame_size\",\"negate\":true,\"params\":{\"query\":\"IMIX\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index\"},\"query\":{\"match_phrase\":{\"frame_size\":\"IMIX\"}}}]}"},"title":"[NDR] Capacity in Gbps - bar chart","uiStateJSON":"{}","version":1,"visState":"{\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"rate_bps\",\"customLabel\":\"Offered load (Gbps)\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"segment\",\"params\":{\"field\":\"frame_size_int\",\"orderBy\":\"_key\",\"order\":\"asc\",\"size\":50,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Frame size (bytes)\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"significant_terms\",\"schema\":\"group\",\"params\":{\"field\":\"user_label.keyword\",\"size\":10,\"customLabel\":\"Label\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"flow_count\",\"orderBy\":\"_key\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\"}}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100,\"rotate\":0},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\",\"setYExtents\":false},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Offered load (Gbps)\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\"Offered load (Gbps)\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}},\"title\":\"[NDR] Capacity in Gbps - bar chart\"}"},"id":"8c87f800-edeb-11ea-a706-3fce679b2102","migrationVersion":{"visualization":"7.8.0"},"references":[{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index","type":"index-pattern"}],"type":"visualization","updated_at":"2020-09-10T12:50:59.005Z","version":"WzEzNjIsOF0="}
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\",\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"type.keyword\",\"negate\":true,\"params\":{\"query\":\"single_run\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match_phrase\":{\"type.keyword\":\"single_run\"}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"frame_size\",\"negate\":true,\"params\":{\"query\":\"IMIX\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index\"},\"query\":{\"match_phrase\":{\"frame_size\":\"IMIX\"}}}]}"},"title":"[NDR] Capacity in Mpps - bar chart","uiStateJSON":"{}","version":1,"visState":"{\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"rate_pps\",\"customLabel\":\"Offered load (Mpps)\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"segment\",\"params\":{\"field\":\"frame_size_int\",\"orderBy\":\"_key\",\"order\":\"asc\",\"size\":50,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Frame size (bytes)\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"significant_terms\",\"schema\":\"group\",\"params\":{\"field\":\"user_label.keyword\",\"size\":10,\"customLabel\":\"Label\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"flow_count\",\"orderBy\":\"_key\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\"}}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":true,\"valueAxis\":\"ValueAxis-1\"},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100,\"rotate\":0},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\",\"setYExtents\":false},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Offered load (Mpps)\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\"Offered load (Mpps)\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":20,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}},\"title\":\"[NDR] Capacity in Mpps - bar chart\"}"},"id":"8c14a8b0-e6d8-11ea-a933-05dd8fc4d76f","migrationVersion":{"visualization":"7.8.0"},"references":[{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index","type":"index-pattern"}],"type":"visualization","updated_at":"2020-09-10T12:51:33.492Z","version":"WzEzNjQsOF0="}
+{"attributes":{"description":"NDR / PDR line chart - in Mpps","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"type.keyword\",\"negate\":true,\"params\":{\"query\":\"single_run\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match_phrase\":{\"type.keyword\":\"single_run\"}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"frame_size\",\"negate\":true,\"params\":{\"query\":\"IMIX\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index\"},\"query\":{\"match_phrase\":{\"frame_size\":\"IMIX\"}}},{\"$state\":{\"store\":\"appState\"},\"exists\":{\"field\":\"theoretical_tx_rate_pps\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"theoretical_tx_rate_pps\",\"negate\":false,\"type\":\"exists\",\"value\":\"exists\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[2].meta.index\"}}]}"},"title":"[NDR] Capacity in Mpps with theoretical max rate - Line chart","uiStateJSON":"{}","version":1,"visState":"{\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n $schema: https: //vega.github.io/schema/vega-lite/v2.json\\n title: \\\"Capacity in Mpps - 0,001% loss ratio\\\"\\n data: {\\n url: {\\n %context%: true\\n %timefield%: \\\"@timestamp\\\"\\n index: resu*\\n body: {\\n _source: [\\\"@timestamp\\\", \\\"_source\\\", \\\"theoretical_tx_rate_pps\\\", \\\"rate_pps\\\", \\\"flow_count\\\", \\\"frame_size\\\", \\\"user_label\\\", \\\"type\\\"]\\n },\\n size: 10000\\n },\\n format: { property: \\\"hits.hits\\\" }\\n },\\n\\n transform: [\\n { calculate: \\\"datum._source['rate_pps'] / 1000000\\\" as: \\\"offered_load_pps\\\"},\\n { calculate: \\\"datum._source['theoretical_tx_rate_pps'] / 1000000\\\" as: \\\"theoretical_tx_rate_pps\\\"},\\n { calculate: \\\"datum._source['flow_count']\\\" as: \\\"flow_count\\\"},\\n { calculate: \\\"isNaN(toNumber(datum._source['frame_size'])) ? 362 : toNumber(datum._source['frame_size'])\\\" as: \\\"frame_size\\\"},\\n { calculate: \\\"datum._source['user_label'] + '-' + datum._source['flow_count']\\\" as: \\\"label\\\"}\\n { aggregate: [{op: \\\"max\\\", field: \\\"offered_load_pps\\\", as: \\\"max_offered_load_pps\\\"}, {op: \\\"max\\\", field: \\\"theoretical_tx_rate_pps\\\", as: \\\"theoretical_tx_rate_pps\\\"}], groupby: [\\\"frame_size\\\", \\\"label\\\",\\\"flow_count\\\"]}\\n \\n ],\\n center: true,\\n hconcat: [\\n {\\n width:10,\\n selection: {\\n legendSel: {\\n type: \\\"multi\\\",\\n encodings: [ \\\"color\\\", \\\"shape\\\" ],\\n toggle: \\\"event.shiftKey\\\"\\n }\\n },\\n encoding: {\\n y: {\\n field: \\\"label\\\",\\n type: \\\"nominal\\\",\\n axis: {\\n title: \\\"\\\",\\n domain: false,\\n ticks: false,\\n offset: 10\\n },\\n },\\n color: {\\n condition: {\\n selection: \\\"legendSel\\\",\\n field: \\\"label\\\",\\n type: \\\"nominal\\\",\\n legend: null\\n },\\n value: \\\"lightgrey\\\"\\n }\\n },\\n mark: {\\n type: \\\"square\\\",\\n size: 120,\\n opacity: 1\\n }\\n },\\n {\\n layer: [{\\n mark: {\\n type: \\\"line\\\",\\n tooltip: true,\\n point: true\\n },\\n encoding: {\\n x: { field: \\\"frame_size\\\", type: \\\"quantitative\\\", title: \\\"Frame size (bytes)\\\", axis: {offset: 10} }\\n y: { field: \\\"theoretical_tx_rate_pps\\\", type: \\\"quantitative\\\", title: \\\"Offered load (Mpps)\\\" , axis: {offset: 10} }\\n strokeDash: {\\\"field\\\": \\\"theoretical_tx_rate_pps\\\", \\\"type\\\": \\\"nominal\\\"}\\n tooltip: [{\\\"field\\\": \\\"theoretical_tx_rate_pps\\\", \\\"type\\\": \\\"quantitative\\\", title: \\\"theoretical max capacity\\\"}],\\n color: { \\\"value\\\": \\\"red\\\"}\\n }\\n },{\\n width:500,\\n height:280,\\n transform: [\\n {filter: { selection: \\\"legendSel\\\"}}\\n \\n ],mark: {\\n type: \\\"line\\\",\\n tooltip: true,\\n point: true\\n },\\n selection: {\\n grid: {\\n type: \\\"interval\\\",\\n resolve: \\\"global\\\",\\n bind: \\\"scales\\\",\\n translate: \\\"[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!\\\",\\n zoom: \\\"wheel![!event.shiftKey]\\\"\\n },\\n pts: {\\n type: \\\"single\\\",\\n fields: [\\\"Label\\\"]\\n }\\n },\\n encoding: {\\n x: { field: \\\"frame_size\\\", type: \\\"quantitative\\\", title: \\\"Frame size (bytes)\\\", axis: {offset: 10} }\\n y: { field: \\\"max_offered_load_pps\\\", type: \\\"quantitative\\\", title: \\\"Offered load (Mpps)\\\" , axis: {offset: 10} }\\n color: {field: \\\"label\\\", \\\"type\\\": \\\"nominal\\\",\\n \\\"legend\\\": null}\\n tooltip: {\\\"field\\\": \\\"max_offered_load_pps\\\", \\\"type\\\": \\\"quantitative\\\"},\\n shape: {field: \\\"flow_count\\\", type: \\\"nominal\\\"}\\n }\\n }\\n ]\\n }\\n \\n ]\\n}\"},\"title\":\"[NDR] Capacity in Mpps with theoretical max rate - Line chart\"}"},"id":"a523c930-07d0-11eb-92f0-3518df6b43ff","migrationVersion":{"visualization":"7.8.0"},"references":[{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[2].meta.index","type":"index-pattern"}],"type":"visualization","updated_at":"2020-10-06T12:37:07.011Z","version":"WzE1OTgsMTJd"}
+{"attributes":{"description":"","hits":0,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filter\":[]}"},"optionsJSON":"{\"hidePanelTitles\":false,\"useMargins\":true}","panelsJSON":"[{\"version\":\"7.8.0\",\"gridData\":{\"h\":15,\"i\":\"c6f77fa7-0493-4ef6-b995-9250039f26e0\",\"w\":24,\"x\":0,\"y\":0},\"panelIndex\":\"c6f77fa7-0493-4ef6-b995-9250039f26e0\",\"embeddableConfig\":{},\"panelRefName\":\"panel_0\"},{\"version\":\"7.8.0\",\"gridData\":{\"h\":15,\"i\":\"0b349901-c6f5-4a35-ad44-5331d75ceb8c\",\"w\":24,\"x\":24,\"y\":0},\"panelIndex\":\"0b349901-c6f5-4a35-ad44-5331d75ceb8c\",\"embeddableConfig\":{},\"panelRefName\":\"panel_1\"},{\"version\":\"7.8.0\",\"gridData\":{\"h\":15,\"i\":\"e7f9f670-3866-4795-a83e-3b208990262d\",\"w\":24,\"x\":24,\"y\":15},\"panelIndex\":\"e7f9f670-3866-4795-a83e-3b208990262d\",\"embeddableConfig\":{},\"panelRefName\":\"panel_2\"},{\"version\":\"7.8.0\",\"gridData\":{\"h\":16,\"i\":\"7ad18ce1-1916-4d5b-abe8-340571feb151\",\"w\":48,\"x\":0,\"y\":30},\"panelIndex\":\"7ad18ce1-1916-4d5b-abe8-340571feb151\",\"embeddableConfig\":{},\"panelRefName\":\"panel_3\"},{\"version\":\"7.8.0\",\"gridData\":{\"x\":0,\"y\":15,\"w\":24,\"h\":15,\"i\":\"29117e66-cb29-43fc-ba6f-5f61d356a236\"},\"panelIndex\":\"29117e66-cb29-43fc-ba6f-5f61d356a236\",\"embeddableConfig\":{},\"panelRefName\":\"panel_4\"}]","timeRestore":false,"title":"Comparison synthesis dashboard with max theoretical value","version":1},"id":"81cf0e70-070a-11eb-92f0-3518df6b43ff","migrationVersion":{"dashboard":"7.3.0"},"references":[{"id":"966a5990-0712-11eb-92f0-3518df6b43ff","name":"panel_0","type":"visualization"},{"id":"8c87f800-edeb-11ea-a706-3fce679b2102","name":"panel_1","type":"visualization"},{"id":"8c14a8b0-e6d8-11ea-a933-05dd8fc4d76f","name":"panel_2","type":"visualization"},{"id":"38cecb10-eded-11ea-a706-3fce679b2102","name":"panel_3","type":"visualization"},{"id":"a523c930-07d0-11eb-92f0-3518df6b43ff","name":"panel_4","type":"visualization"}],"type":"dashboard","updated_at":"2020-10-06T12:37:58.211Z","version":"WzE2MDIsMTJd"}
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\",\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"type.keyword\",\"negate\":true,\"params\":{\"query\":\"single_run\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match_phrase\":{\"type.keyword\":\"single_run\"}}}]}"},"title":"IMIX KPI","uiStateJSON":"{}","version":1,"visState":"{\"type\":\"metric\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"rate_bps\",\"customLabel\":\"IMIX Offered load (Mbps)\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"significant_terms\",\"schema\":\"group\",\"params\":{\"field\":\"user_label.keyword\",\"size\":10,\"customLabel\":\"label\"}}],\"params\":{\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric\",\"metric\":{\"percentageMode\":false,\"useRanges\":false,\"colorSchema\":\"Green to Red\",\"metricColorMode\":\"None\",\"colorsRange\":[{\"from\":0,\"to\":10000}],\"labels\":{\"show\":true},\"invertColors\":false,\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"labelColor\":false,\"subText\":\"\",\"fontSize\":60}}},\"title\":\"IMIX KPI\"}"},"id":"83434d80-e882-11ea-9fcb-3bb6d0d175f6","migrationVersion":{"visualization":"7.8.0"},"references":[{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index","type":"index-pattern"}],"type":"visualization","updated_at":"2020-08-27T16:29:43.383Z","version":"Wzk4Miw0XQ=="}
+{"attributes":{"description":"NDR / PDR scatter plot - in Mpps","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"type.keyword\",\"negate\":true,\"params\":{\"query\":\"single_run\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match_phrase\":{\"type.keyword\":\"single_run\"}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"frame_size\",\"negate\":true,\"params\":{\"query\":\"IMIX\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index\"},\"query\":{\"match_phrase\":{\"frame_size\":\"IMIX\"}}},{\"$state\":{\"store\":\"appState\"},\"exists\":{\"field\":\"theoretical_tx_rate_pps\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"theoretical_tx_rate_pps\",\"negate\":false,\"type\":\"exists\",\"value\":\"exists\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[2].meta.index\"}}]}"},"title":"[NDR] Capacity in Mpps with theoretical max rate - Scatter plot","uiStateJSON":"{}","version":1,"visState":"{\"aggs\":[],\"params\":{\"spec\":\"{\\n $schema: \\\"https://vega.github.io/schema/vega-lite/v2.json\\\"\\n title: \\\"Capacity in Mpps - 0,001% loss ratio\\\"\\n data: {\\n url: {\\n %context%: true\\n %timefield%: \\\"@timestamp\\\"\\n index: resu*\\n body: {\\n _source: [\\\"@timestamp\\\", \\\"_source\\\", \\\"rate_pps\\\", \\\"theoretical_tx_rate_pps\\\", \\\"flow_count\\\", \\\"frame_size\\\", \\\"user_label\\\"]\\n },\\n size: 10000\\n },\\n format: { property: \\\"hits.hits\\\" }\\n },\\n transform: [\\n { calculate: \\\"datum._source['rate_pps'] / 1000000\\\" as: \\\"rate_pps\\\"},\\n { calculate: \\\"datum._source['theoretical_tx_rate_pps'] / 1000000\\\" as: \\\"theoretical_tx_rate_pps\\\"},\\n { calculate: \\\"datum._source['flow_count']\\\" as: \\\"flow_count\\\"},\\n { calculate: \\\"isNaN(toNumber(datum._source['frame_size'])) ? 362 : toNumber(datum._source['frame_size'])\\\" as: \\\"frame_size\\\"}\\n { calculate: \\\"datum._source['user_label'] + '-' + datum._source['flow_count']\\\" as: \\\"label\\\"}\\n ],\\n center: true,\\n hconcat: [\\n {\\n width:10,\\n selection: {\\n legendSel: {\\n type: \\\"multi\\\",\\n encodings: [ \\\"color\\\", \\\"shape\\\" ],\\n toggle: \\\"event.shiftKey\\\"\\n }\\n },\\n encoding: {\\n y: {\\n field: \\\"label\\\",\\n type: \\\"nominal\\\",\\n axis: {\\n title: \\\"\\\",\\n domain: false,\\n ticks: false,\\n offset: 10\\n },\\n },\\n color: {\\n condition: {\\n selection: \\\"legendSel\\\",\\n field: \\\"label\\\",\\n type: \\\"nominal\\\",\\n legend: null\\n },\\n value: \\\"lightgrey\\\"\\n }\\n },\\n mark: {\\n type: \\\"square\\\",\\n size: 120,\\n opacity: 1\\n }\\n },\\n {\\n layer: [\\n {\\n mark: {\\n type: \\\"line\\\",\\n tooltip: true\\n },\\n encoding: {\\n x: { field: \\\"frame_size\\\", type: \\\"quantitative\\\", title: \\\"Frame size (bytes)\\\", axis: {offset: 10} }\\n y: { field: \\\"theoretical_tx_rate_pps\\\", type: \\\"quantitative\\\", title: \\\"Offered load (Mpps)\\\" , axis: {offset: 10} }\\n strokeDash: {\\\"field\\\": \\\"theoretical_tx_rate_pps\\\", \\\"type\\\": \\\"nominal\\\"}\\n tooltip: [{\\\"field\\\": \\\"theoretical_tx_rate_pps\\\", \\\"type\\\": \\\"quantitative\\\", title: \\\"theoretical max capacity\\\"}],\\n color: { \\\"value\\\": \\\"red\\\"}\\n }\\n },\\n {\\n width:500,\\n height:280,\\n transform: [\\n {filter: { selection: \\\"legendSel\\\"}}\\n ],\\n mark: {\\n \\\"type\\\": \\\"point\\\",\\n \\\"tooltip\\\": true\\n },\\n selection: {\\n grid: {\\n type: \\\"interval\\\",\\n resolve: \\\"global\\\",\\n bind: \\\"scales\\\",\\n translate: \\\"[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!\\\",\\n zoom: \\\"wheel![!event.shiftKey]\\\"\\n },\\n pts: {\\n type: \\\"single\\\",\\n fields: [\\\"label\\\"]\\n }\\n },\\n encoding: {\\n x: {\\n field: \\\"frame_size\\\",\\n title: \\\"Frame size (bytes)\\\",\\n type: \\\"quantitative\\\"\\n }\\n y: {\\n field: \\\"rate_pps\\\",\\n title: \\\"Offered load (Mpps)\\\",\\n type: \\\"quantitative\\\"\\n }\\n color: {\\n field: \\\"label\\\", \\\"type\\\": \\\"nominal\\\",\\n \\\"legend\\\": null\\n }\\n shape: {\\n field: \\\"flow_count\\\",\\n type: \\\"nominal\\\"\\n }\\n tooltip: {\\n \\\"field\\\": \\\"rate_pps\\\",\\n \\\"title\\\": \\\"Offered load (Mpps)\\\",\\n \\\"type\\\": \\\"quantitative\\\"\\n }\\n }\\n }\\n ]\\n }\\n ]\\n}\"},\"title\":\"[NDR] Capacity in Mpps with theoretical max rate - Scatter plot\",\"type\":\"vega\"}"},"id":"8eb9cd00-07d2-11eb-92f0-3518df6b43ff","migrationVersion":{"visualization":"7.8.0"},"references":[{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[2].meta.index","type":"index-pattern"}],"type":"visualization","updated_at":"2020-10-06T12:50:53.215Z","version":"WzE2NDksMTJd"}
+{"attributes":{"description":"","filters":[],"query":{"language":"kuery","query":"flow_count:128 or flow_count:2"},"title":"KQL - flow count"},"id":"KQL - flow count","references":[],"type":"query","updated_at":"2020-09-03T14:05:36.549Z","version":"WzExMjcsNV0="}
+{"attributes":{"description":"","hits":0,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filter\":[]}"},"optionsJSON":"{\"hidePanelTitles\":false,\"useMargins\":true}","panelsJSON":"[{\"version\":\"7.8.0\",\"gridData\":{\"h\":15,\"i\":\"885a2773-bf7e-4c93-a746-dd400ad3b25f\",\"w\":24,\"x\":0,\"y\":0},\"panelIndex\":\"885a2773-bf7e-4c93-a746-dd400ad3b25f\",\"embeddableConfig\":{},\"panelRefName\":\"panel_0\"},{\"version\":\"7.8.0\",\"gridData\":{\"h\":15,\"i\":\"e7f9f670-3866-4795-a83e-3b208990262d\",\"w\":24,\"x\":24,\"y\":15},\"panelIndex\":\"e7f9f670-3866-4795-a83e-3b208990262d\",\"embeddableConfig\":{},\"panelRefName\":\"panel_1\"},{\"version\":\"7.8.0\",\"gridData\":{\"h\":15,\"i\":\"0b349901-c6f5-4a35-ad44-5331d75ceb8c\",\"w\":24,\"x\":24,\"y\":0},\"panelIndex\":\"0b349901-c6f5-4a35-ad44-5331d75ceb8c\",\"embeddableConfig\":{},\"panelRefName\":\"panel_2\"},{\"version\":\"7.8.0\",\"gridData\":{\"x\":0,\"y\":30,\"w\":48,\"h\":16,\"i\":\"7ad18ce1-1916-4d5b-abe8-340571feb151\"},\"panelIndex\":\"7ad18ce1-1916-4d5b-abe8-340571feb151\",\"embeddableConfig\":{},\"panelRefName\":\"panel_3\"},{\"version\":\"7.8.0\",\"gridData\":{\"x\":0,\"y\":15,\"w\":24,\"h\":15,\"i\":\"631f6738-69c3-4637-b9cb-82d2a8cc1fae\"},\"panelIndex\":\"631f6738-69c3-4637-b9cb-82d2a8cc1fae\",\"embeddableConfig\":{},\"panelRefName\":\"panel_4\"}]","timeRestore":false,"title":"Comparison synthesis dashboard","version":1},"id":"c24f4c50-e778-11ea-bb67-9b8ce9c25c00","migrationVersion":{"dashboard":"7.3.0"},"references":[{"id":"23b0eb40-e60a-11ea-bdc0-1fe1db0b9cb6","name":"panel_0","type":"visualization"},{"id":"8c14a8b0-e6d8-11ea-a933-05dd8fc4d76f","name":"panel_1","type":"visualization"},{"id":"8c87f800-edeb-11ea-a706-3fce679b2102","name":"panel_2","type":"visualization"},{"id":"38cecb10-eded-11ea-a706-3fce679b2102","name":"panel_3","type":"visualization"},{"id":"1b471fa0-e6b0-11ea-bdc0-1fe1db0b9cb6","name":"panel_4","type":"visualization"}],"type":"dashboard","updated_at":"2020-09-03T15:32:16.951Z","version":"WzExODYsNV0="}
+{"attributes":{"description":"NDR / PDR scatter plot - in Gbps","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"type.keyword\",\"negate\":true,\"params\":{\"query\":\"single_run\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match_phrase\":{\"type.keyword\":\"single_run\"}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"frame_size\",\"negate\":true,\"params\":{\"query\":\"IMIX\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index\"},\"query\":{\"match_phrase\":{\"frame_size\":\"IMIX\"}}},{\"$state\":{\"store\":\"appState\"},\"exists\":{\"field\":\"theoretical_tx_rate_bps\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"theoretical_tx_rate_bps\",\"negate\":false,\"type\":\"exists\",\"value\":\"exists\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[2].meta.index\"}}]}"},"title":"[NDR] Capacity in Gbps with theoretical max value - Scatter plot","uiStateJSON":"{}","version":1,"visState":"{\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n $schema: \\\"https://vega.github.io/schema/vega-lite/v2.json\\\"\\n title: \\\"Capacity in Gbps - 0,001% loss ratio\\\"\\n data: {\\n url: {\\n %context%: true\\n %timefield%: \\\"@timestamp\\\"\\n index: resu*\\n body: {\\n _source: [\\\"@timestamp\\\", \\\"_source\\\", \\\"offered_tx_rate_bps\\\", \\\"theoretical_tx_rate_bps\\\", \\\"flow_count\\\", \\\"frame_size\\\", \\\"user_label\\\"]\\n },\\n size: 10000\\n },\\n format: { property: \\\"hits.hits\\\" }\\n },\\n transform: [\\n { calculate: \\\"datum._source['offered_tx_rate_bps'] / 1000000000\\\" as: \\\"offered_tx_rate_bps\\\"},\\n { calculate: \\\"datum._source['theoretical_tx_rate_bps'] / 1000000000\\\" as: \\\"theoretical_tx_rate_bps\\\"},\\n { calculate: \\\"datum._source['flow_count']\\\" as: \\\"flow_count\\\"},\\n { calculate: \\\"isNaN(toNumber(datum._source['frame_size'])) ? 362 : toNumber(datum._source['frame_size'])\\\" as: \\\"frame_size\\\"}\\n { calculate: \\\"datum._source['user_label'] + '-' + datum._source['flow_count']\\\" as: \\\"label\\\"}\\n ],\\n center: true,\\n hconcat: [\\n {\\n width:10,\\n selection: {\\n legendSel: {\\n type: \\\"multi\\\",\\n encodings: [ \\\"color\\\", \\\"shape\\\" ],\\n toggle: \\\"event.shiftKey\\\"\\n }\\n },\\n encoding: {\\n y: {\\n field: \\\"label\\\",\\n type: \\\"nominal\\\",\\n axis: {\\n title: \\\"\\\",\\n domain: false,\\n ticks: false,\\n offset: 10\\n },\\n },\\n color: {\\n condition: {\\n selection: \\\"legendSel\\\",\\n field: \\\"label\\\",\\n type: \\\"nominal\\\",\\n legend: null\\n },\\n value: \\\"lightgrey\\\"\\n }\\n },\\n mark: {\\n type: \\\"square\\\",\\n size: 120,\\n opacity: 1\\n }\\n },\\n {\\n layer: [\\n {\\n mark: {\\n type: \\\"line\\\",\\n tooltip: true\\n },\\n encoding: {\\n x: { field: \\\"frame_size\\\", type: \\\"quantitative\\\", title: \\\"Frame size (bytes)\\\", axis: {offset: 10} }\\n y: { field: \\\"theoretical_tx_rate_bps\\\", type: \\\"quantitative\\\", title: \\\"Offered load (Gbps)\\\" , axis: {offset: 10} }\\n strokeDash: {\\\"field\\\": \\\"theoretical_tx_rate_bps\\\", \\\"type\\\": \\\"nominal\\\"}\\n tooltip: [{\\\"field\\\": \\\"theoretical_tx_rate_bps\\\", \\\"type\\\": \\\"quantitative\\\", title: \\\"theoretical max capacity\\\"}],\\n color: { \\\"value\\\": \\\"red\\\"}\\n }\\n },\\n {\\n width:500,\\n height:280,\\n transform: [\\n {filter: { selection: \\\"legendSel\\\"}}\\n ],\\n mark: {\\n \\\"type\\\": \\\"point\\\",\\n \\\"tooltip\\\": true\\n },\\n selection: {\\n grid: {\\n type: \\\"interval\\\",\\n resolve: \\\"global\\\",\\n bind: \\\"scales\\\",\\n translate: \\\"[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!\\\",\\n zoom: \\\"wheel![!event.shiftKey]\\\"\\n },\\n pts: {\\n type: \\\"single\\\",\\n fields: [\\\"label\\\"]\\n }\\n },\\n encoding: {\\n x: {\\n field: \\\"frame_size\\\",\\n title: \\\"Frame size (bytes)\\\",\\n type: \\\"quantitative\\\"\\n }\\n y: {\\n field: \\\"offered_tx_rate_bps\\\",\\n title: \\\"Offered load (Gbps)\\\",\\n type: \\\"quantitative\\\"\\n }\\n color: {\\n field: \\\"label\\\", \\\"type\\\": \\\"nominal\\\",\\n \\\"legend\\\": null\\n }\\n shape: {\\n field: \\\"flow_count\\\",\\n type: \\\"nominal\\\"\\n }\\n tooltip: {\\n \\\"field\\\": \\\"offered_tx_rate_bps\\\",\\n \\\"title\\\": \\\"Offered load (Gbps)\\\",\\n \\\"type\\\": \\\"quantitative\\\"\\n }\\n }\\n }\\n ]\\n }\\n ]\\n}\"},\"title\":\"[NDR] Capacity in Gbps with theoretical max value - Scatter plot\"}"},"id":"eea11370-f82a-11ea-8203-0fee5ecd414e","migrationVersion":{"visualization":"7.8.0"},"references":[{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index","type":"index-pattern"},{"id":"e0939790-e78f-11ea-8ca2-35af0cc4217c","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[2].meta.index","type":"index-pattern"}],"type":"visualization","updated_at":"2020-10-06T12:49:41.894Z","version":"WzE2NDcsMTJd"}
+{"attributes":{"description":"","hits":0,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filter\":[]}"},"optionsJSON":"{\"hidePanelTitles\":false,\"useMargins\":true}","panelsJSON":"[{\"version\":\"7.8.0\",\"gridData\":{\"h\":10,\"i\":\"d806469f-2ea3-4b45-99d8-acc7f09ee8f5\",\"w\":48,\"x\":0,\"y\":30},\"panelIndex\":\"d806469f-2ea3-4b45-99d8-acc7f09ee8f5\",\"embeddableConfig\":{},\"panelRefName\":\"panel_0\"},{\"version\":\"7.8.0\",\"gridData\":{\"x\":0,\"y\":0,\"w\":24,\"h\":15,\"i\":\"dfc3abc1-8fcf-486f-8b8e-fa8956a4299b\"},\"panelIndex\":\"dfc3abc1-8fcf-486f-8b8e-fa8956a4299b\",\"embeddableConfig\":{},\"panelRefName\":\"panel_1\"},{\"version\":\"7.8.0\",\"gridData\":{\"x\":24,\"y\":0,\"w\":24,\"h\":15,\"i\":\"82bcc455-a312-49dc-b9b7-7414d53cfdd5\"},\"panelIndex\":\"82bcc455-a312-49dc-b9b7-7414d53cfdd5\",\"embeddableConfig\":{},\"panelRefName\":\"panel_2\"},{\"version\":\"7.8.0\",\"gridData\":{\"x\":0,\"y\":15,\"w\":24,\"h\":15,\"i\":\"eb3a0dcc-e55a-4f0b-87e7-70b15f864bf2\"},\"panelIndex\":\"eb3a0dcc-e55a-4f0b-87e7-70b15f864bf2\",\"embeddableConfig\":{},\"panelRefName\":\"panel_3\"},{\"version\":\"7.8.0\",\"gridData\":{\"x\":24,\"y\":15,\"w\":24,\"h\":15,\"i\":\"e6c3eeb1-5a7e-4a3e-89d1-c61193f31ccf\"},\"panelIndex\":\"e6c3eeb1-5a7e-4a3e-89d1-c61193f31ccf\",\"embeddableConfig\":{},\"panelRefName\":\"panel_4\"}]","timeRestore":false,"title":"Synthesis Max Throughput - NDR (0.001% loss ratio) with max theoretical value","version":1},"id":"c61120f0-07d2-11eb-92f0-3518df6b43ff","migrationVersion":{"dashboard":"7.3.0"},"references":[{"id":"0d2c4070-e6e3-11ea-a933-05dd8fc4d76f","name":"panel_0","type":"visualization"},{"id":"966a5990-0712-11eb-92f0-3518df6b43ff","name":"panel_1","type":"visualization"},{"id":"eea11370-f82a-11ea-8203-0fee5ecd414e","name":"panel_2","type":"visualization"},{"id":"a523c930-07d0-11eb-92f0-3518df6b43ff","name":"panel_3","type":"visualization"},{"id":"8eb9cd00-07d2-11eb-92f0-3518df6b43ff","name":"panel_4","type":"visualization"}],"type":"dashboard","updated_at":"2020-10-06T12:52:55.971Z","version":"WzE2NTUsMTJd"}
+{"attributes":{"description":"","filters":[{"$state":{"store":"appState"},"meta":{"alias":null,"disabled":false,"index":"39955f20-78ac-11ea-ae77-8339e5fd808c","key":"flow_count","negate":false,"params":{"query":"2"},"type":"phrase"},"query":{"match_phrase":{"flow_count":"2"}}}],"query":{"language":"kuery","query":""},"title":"flow count 2"},"id":"flow count 2","references":[],"type":"query","updated_at":"2020-08-26T09:25:58.265Z","version":"WzY0Miw0XQ=="}
+{"attributes":{"description":"","filters":[{"$state":{"store":"appState"},"meta":{"alias":null,"disabled":false,"index":"39955f20-78ac-11ea-ae77-8339e5fd808c","key":"user_label.keyword","negate":false,"params":["oslodu_oiaas_g4r1_ovsdpdk_tc20_ndr4latency","icnfvbench_none_none_loopback_tc3"],"type":"phrases","value":"oslodu_oiaas_g4r1_ovsdpdk_tc20_ndr4latency, icnfvbench_none_none_loopback_tc3"},"query":{"bool":{"minimum_should_match":1,"should":[{"match_phrase":{"user_label.keyword":"oslodu_oiaas_g4r1_ovsdpdk_tc20_ndr4latency"}},{"match_phrase":{"user_label.keyword":"icnfvbench_none_none_loopback_tc3"}}]}}},{"$state":{"store":"appState"},"meta":{"alias":null,"disabled":false,"index":"39955f20-78ac-11ea-ae77-8339e5fd808c","key":"flow_count","negate":false,"params":["2","128"],"type":"phrases","value":"2, 128"},"query":{"bool":{"minimum_should_match":1,"should":[{"match_phrase":{"flow_count":"2"}},{"match_phrase":{"flow_count":"128"}}]}}}],"query":{"language":"kuery","query":""},"title":"test filter"},"id":"test filter","references":[],"type":"query","updated_at":"2020-08-26T13:13:10.130Z","version":"WzY3MSw0XQ=="}
+{"exportedCount":24,"missingRefCount":0,"missingReferences":[]} \ No newline at end of file
diff --git a/kibana/visualizations/ndr_capacity_gbps_line_chart.json b/kibana/visualizations/ndr_capacity_gbps_line_chart.json
new file mode 100644
index 0000000..cb696ba
--- /dev/null
+++ b/kibana/visualizations/ndr_capacity_gbps_line_chart.json
@@ -0,0 +1,95 @@
+{
+ $schema: https: //vega.github.io/schema/vega-lite/v2.json
+ title: "Capacity in Gbps - 0,001% loss ratio"
+ data: {
+ url: {
+ %context%: true
+ %timefield%: "@timestamp"
+ index: resu*
+ body: {
+ _source: ["@timestamp", "_source", "offered_tx_rate_bps", "flow_count", "frame_size", "user_label"]
+ },
+ size: 10000
+ },
+ format: { property: "hits.hits" }
+ },
+ transform: [
+ { calculate: "datum._source['offered_tx_rate_bps'] / 1000000000" as: "offered_load_gbps"},
+ { calculate: "datum._source['flow_count']" as: "flow_count"},
+ { calculate: "isNaN(toNumber(datum._source['frame_size'])) ? 362 : toNumber(datum._source['frame_size'])" as: "frame_size"},
+ { calculate: "datum._source['user_label'] + '-' + datum._source['flow_count']" as: "label"}
+ { aggregate: [{op: "max", field: "offered_load_gbps", as: "max_offered_load_gbps"}], groupby: ["frame_size", "label","flow_count"]}
+ ],
+ center: true,
+ hconcat: [
+ {
+ width:10,
+ selection: {
+ legendSel: {
+ type: "multi",
+ encodings: [ "color", "shape" ],
+ toggle: "event.shiftKey"
+ }
+ },
+ encoding: {
+ y: {
+ field: "label",
+ type: "nominal",
+ axis: {
+ title: "",
+ domain: false,
+ ticks: false,
+ offset: 10
+ },
+ },
+ color: {
+ condition: {
+ selection: "legendSel",
+ field: "label",
+ type: "nominal",
+ legend: null
+ },
+ value: "lightgrey"
+ }
+ },
+ mark: {
+ type: "square",
+ size: 120,
+ opacity: 1
+ }
+ },
+ {
+ width:500,
+ height:280,
+ transform: [
+ {filter: { selection: "legendSel"}}
+ ],
+ mark: {
+ type: "line",
+ tooltip: true,
+ point: true
+ },
+ selection: {
+ grid: {
+ type: "interval",
+ resolve: "global",
+ bind: "scales",
+ translate: "[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!",
+ zoom: "wheel![!event.shiftKey]"
+ },
+ pts: {
+ type: "single",
+ fields: ["label"]
+ }
+ },
+ encoding: {
+ x: { field: "frame_size", type: "quantitative", title: "Frame size (bytes)", axis: {offset: 10} }
+ y: { field: "max_offered_load_gbps", type: "quantitative", title: "Offered load (Gbps)" , axis: {offset: 10} }
+ color: {field: "label", "type": "nominal",
+ "legend": null}
+ shape: {field: "flow_count", type: "nominal"}
+ tooltip: {"field": "max_offered_load_gbps", "type": "quantitative"}
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/kibana/visualizations/ndr_capacity_gbps_scatter_plot.json b/kibana/visualizations/ndr_capacity_gbps_scatter_plot.json
new file mode 100644
index 0000000..9908e9d
--- /dev/null
+++ b/kibana/visualizations/ndr_capacity_gbps_scatter_plot.json
@@ -0,0 +1,108 @@
+{
+ $schema: "https://vega.github.io/schema/vega-lite/v2.json"
+ title: "Capacity in Gbps - 0.001% loss ratio"
+ data: {
+ url: {
+ %context%: true
+ %timefield%: "@timestamp"
+ index: resu*
+ body: {
+ _source: ["@timestamp", "_source", "offered_tx_rate_bps", "flow_count", "frame_size", "user_label"]
+ },
+ size: 10000
+ },
+ format: { property: "hits.hits" }
+ },
+ transform: [
+ { calculate: "datum._source['offered_tx_rate_bps'] / 1000000000" as: "Offered load (Gbps)"},
+ { calculate: "datum._source['flow_count']" as: "Flow count"},
+ { calculate: "isNaN(toNumber(datum._source['frame_size'])) ? 362 : toNumber(datum._source['frame_size'])" as: "Frame size (bytes)"}
+ { calculate: "datum._source['user_label'] + '-' + datum._source['flow_count']" as: "label"}
+ ],
+ center: true,
+ hconcat: [
+ {
+ width:10,
+ selection: {
+ legendSel: {
+ type: "multi",
+ encodings: [ "color", "shape" ],
+ toggle: "event.shiftKey"
+ }
+ },
+ encoding: {
+ y: {
+ field: "label",
+ type: "nominal",
+ axis: {
+ title: "",
+ domain: false,
+ ticks: false,
+ offset: 10
+ },
+ },
+ color: {
+ condition: {
+ selection: "legendSel",
+ field: "label",
+ type: "nominal",
+ legend: null
+ },
+ value: "lightgrey"
+ }
+ },
+ mark: {
+ type: "square",
+ size: 120,
+ opacity: 1
+ }
+ },
+ {
+ width:500,
+ height:280,
+ transform: [
+ {filter: { selection: "legendSel"}}
+
+ ],
+ mark: {
+ "type": "point",
+ "tooltip": true
+ },
+ selection: {
+ grid: {
+ type: "interval",
+ resolve: "global",
+ bind: "scales",
+ translate: "[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!",
+ zoom: "wheel![!event.shiftKey]"
+ },
+ pts: {
+ type: "single",
+ fields: ["label"]
+ }
+ },
+ encoding: {
+ x: {
+ field: "Frame size (bytes)",
+ type: "quantitative"
+ }
+ y: {
+ field: "Offered load (Gbps)",
+ type: "quantitative"
+ }
+ color: {
+ field: "label", "type": "nominal",
+ "legend": null
+ }
+ shape: {
+ field: "Flow count",
+ type: "nominal"
+ }
+ tooltip: {
+ "field": "Offered load (Gbps)",
+ "type": "quantitative"
+ }
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/kibana/visualizations/ndr_capacity_gbps_theoretical_line_chart.json b/kibana/visualizations/ndr_capacity_gbps_theoretical_line_chart.json
new file mode 100644
index 0000000..1ff4d23
--- /dev/null
+++ b/kibana/visualizations/ndr_capacity_gbps_theoretical_line_chart.json
@@ -0,0 +1,114 @@
+{
+ $schema: https: //vega.github.io/schema/vega-lite/v2.json
+ title: "Capacity in Gbps - 0,001% loss ratio"
+ data: {
+ url: {
+ %context%: true
+ %timefield%: "@timestamp"
+ index: resu*
+ body: {
+ _source: ["@timestamp", "_source", "offered_tx_rate_bps", "theoretical_tx_rate_bps", "flow_count", "frame_size", "user_label"]
+ },
+ size: 10000
+ },
+ format: { property: "hits.hits" }
+ },
+ transform: [
+ { calculate: "datum._source['offered_tx_rate_bps'] / 1000000000" as: "offered_load_gbps"},
+ { calculate: "datum._source['theoretical_tx_rate_bps'] / 1000000000" as: "theoretical_tx_rate_bps"},
+ { calculate: "datum._source['flow_count']" as: "flow_count"},
+ { calculate: "isNaN(toNumber(datum._source['frame_size'])) ? 362 : toNumber(datum._source['frame_size'])" as: "frame_size"},
+ { calculate: "datum._source['user_label'] + '-' + datum._source['flow_count']" as: "label"}
+ { aggregate: [{op: "max", field: "offered_load_gbps", as: "max_offered_load_gbps"}, {op: "max", field: "theoretical_tx_rate_bps", as: "theoretical_tx_rate_bps"}], groupby: ["frame_size", "label","flow_count"]}
+ ],
+ center: true,
+ hconcat: [
+ {
+ width:10,
+ selection: {
+ legendSel: {
+ type: "multi",
+ encodings: [ "color", "shape" ],
+ toggle: "event.shiftKey"
+ }
+ },
+ encoding: {
+ y: {
+ field: "label",
+ type: "nominal",
+ axis: {
+ title: "",
+ domain: false,
+ ticks: false,
+ offset: 10
+ },
+ },
+ color: {
+ condition: {
+ selection: "legendSel",
+ field: "label",
+ type: "nominal",
+ legend: null
+ },
+ value: "lightgrey"
+ }
+ },
+ mark: {
+ type: "square",
+ size: 120,
+ opacity: 1
+ }
+ },
+ {
+ layer: [
+ {
+ mark: {
+ type: "line",
+ tooltip: true,
+ point: true
+ },
+ encoding: {
+ x: { field: "frame_size", type: "quantitative", title: "Frame size (bytes)", axis: {offset: 10} }
+ y: { field: "theoretical_tx_rate_bps", type: "quantitative", title: "Theoretical rate (Gbps)" , axis: {offset: 10} }
+ strokeDash: {"field": "theoretical_tx_rate_bps", "type": "nominal"}
+ tooltip: [{"field": "theoretical_tx_rate_bps", "type": "quantitative", title: "theoretical max capacity"}],
+ color: { "value": "red"}
+ }
+ },
+ {
+ width:500,
+ height:280,
+ transform: [
+ {filter: { selection: "legendSel"}}
+ ],
+ mark: {
+ type: "line",
+ tooltip: true,
+ point: true
+ },
+ selection: {
+ grid: {
+ type: "interval",
+ resolve: "global",
+ bind: "scales",
+ translate: "[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!",
+ zoom: "wheel![!event.shiftKey]"
+ },
+ pts: {
+ type: "single",
+ fields: ["Label"]
+ }
+ },
+ encoding: {
+ x: { field: "frame_size", type: "quantitative", title: "Frame size (bytes)", axis: {offset: 10} }
+ y: { field: "max_offered_load_gbps", type: "quantitative", title: "Offered load (Gbps)" , axis: {offset: 10} }
+ color: {field: "label", "type": "nominal",
+ "legend": null}
+ shape: {field: "flow_count", type: "nominal"}
+ tooltip: {"field": "max_offered_load_gbps", "type": "quantitative"}
+ }
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/kibana/visualizations/ndr_capacity_gbps_theoretical_scatter_plot.json b/kibana/visualizations/ndr_capacity_gbps_theoretical_scatter_plot.json
new file mode 100644
index 0000000..55a48ff
--- /dev/null
+++ b/kibana/visualizations/ndr_capacity_gbps_theoretical_scatter_plot.json
@@ -0,0 +1,128 @@
+{
+ $schema: "https://vega.github.io/schema/vega-lite/v2.json"
+ title: "Capacity in Gbps - 0,001% loss ratio"
+ data: {
+ url: {
+ %context%: true
+ %timefield%: "@timestamp"
+ index: resu*
+ body: {
+ _source: ["@timestamp", "_source", "offered_tx_rate_bps", "theoretical_tx_rate_bps", "flow_count", "frame_size", "user_label"]
+ },
+ size: 10000
+ },
+ format: { property: "hits.hits" }
+ },
+ transform: [
+ { calculate: "datum._source['offered_tx_rate_bps'] / 1000000000" as: "offered_tx_rate_bps"},
+ { calculate: "datum._source['theoretical_tx_rate_bps'] / 1000000000" as: "theoretical_tx_rate_bps"},
+ { calculate: "datum._source['flow_count']" as: "flow_count"},
+ { calculate: "isNaN(toNumber(datum._source['frame_size'])) ? 362 : toNumber(datum._source['frame_size'])" as: "frame_size"}
+ { calculate: "datum._source['user_label'] + '-' + datum._source['flow_count']" as: "label"}
+ ],
+ center: true,
+ hconcat: [
+ {
+ width:10,
+ selection: {
+ legendSel: {
+ type: "multi",
+ encodings: [ "color", "shape" ],
+ toggle: "event.shiftKey"
+ }
+ },
+ encoding: {
+ y: {
+ field: "label",
+ type: "nominal",
+ axis: {
+ title: "",
+ domain: false,
+ ticks: false,
+ offset: 10
+ },
+ },
+ color: {
+ condition: {
+ selection: "legendSel",
+ field: "label",
+ type: "nominal",
+ legend: null
+ },
+ value: "lightgrey"
+ }
+ },
+ mark: {
+ type: "square",
+ size: 120,
+ opacity: 1
+ }
+ },
+ {
+ layer: [
+ {
+ mark: {
+ type: "line",
+ tooltip: true
+ },
+ encoding: {
+ x: { field: "frame_size", type: "quantitative", title: "Frame size (bytes)", axis: {offset: 10} }
+ y: { field: "theoretical_tx_rate_bps", type: "quantitative", title: "Offered load (Gbps)" , axis: {offset: 10} }
+ strokeDash: {"field": "theoretical_tx_rate_bps", "type": "nominal"}
+ tooltip: [{"field": "theoretical_tx_rate_bps", "type": "quantitative", title: "theoretical max capacity"}],
+ color: { "value": "red"}
+ }
+ },
+ {
+ width:500,
+ height:280,
+ transform: [
+ {filter: { selection: "legendSel"}}
+ ],
+ mark: {
+ "type": "point",
+ "tooltip": true
+ },
+ selection: {
+ grid: {
+ type: "interval",
+ resolve: "global",
+ bind: "scales",
+ translate: "[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!",
+ zoom: "wheel![!event.shiftKey]"
+ },
+ pts: {
+ type: "single",
+ fields: ["label"]
+ }
+ },
+ encoding: {
+ x: {
+ field: "frame_size",
+ title: "Frame size (bytes)",
+ type: "quantitative"
+ }
+ y: {
+ field: "offered_tx_rate_bps",
+ title: "Offered load (Gbps)",
+ type: "quantitative"
+ }
+ color: {
+ field: "label", "type": "nominal",
+ "legend": null
+ }
+ shape: {
+ field: "flow_count",
+ type: "nominal"
+ }
+ tooltip: {
+ "field": "offered_tx_rate_bps",
+ "title": "Offered load (Gbps)",
+ "type": "quantitative"
+ }
+ }
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/kibana/visualizations/ndr_capacity_pps_line_chart.json b/kibana/visualizations/ndr_capacity_pps_line_chart.json
new file mode 100644
index 0000000..ad79caa
--- /dev/null
+++ b/kibana/visualizations/ndr_capacity_pps_line_chart.json
@@ -0,0 +1,98 @@
+{
+ $schema: https: //vega.github.io/schema/vega-lite/v2.json
+ title: "Capacity in Mpps - 0,001% loss ratio"
+ data: {
+ url: {
+ %context%: true
+ %timefield%: "@timestamp"
+ index: resu*
+ body: {
+ _source: ["@timestamp", "_source", "rate_pps", "flow_count", "frame_size", "user_label", "type"]
+ },
+ size: 10000
+ },
+ format: { property: "hits.hits" }
+ },
+
+ transform: [
+ { calculate: "datum._source['rate_pps'] / 1000000" as: "offered_load_pps"},
+ { calculate: "datum._source['flow_count']" as: "flow_count"},
+ { calculate: "isNaN(toNumber(datum._source['frame_size'])) ? 362 : toNumber(datum._source['frame_size'])" as: "frame_size"},
+ { calculate: "datum._source['user_label'] + '-' + datum._source['flow_count']" as: "label"}
+ { aggregate: [{op: "max", field: "offered_load_pps", as: "max_offered_load_pps"}], groupby: ["frame_size", "label","flow_count"]}
+
+ ],
+ center: true,
+ hconcat: [
+ {
+ width:10,
+ selection: {
+ legendSel: {
+ type: "multi",
+ encodings: [ "color", "shape" ],
+ toggle: "event.shiftKey"
+ }
+ },
+ encoding: {
+ y: {
+ field: "label",
+ type: "nominal",
+ axis: {
+ title: "",
+ domain: false,
+ ticks: false,
+ offset: 10
+ },
+ },
+ color: {
+ condition: {
+ selection: "legendSel",
+ field: "label",
+ type: "nominal",
+ legend: null
+ },
+ value: "lightgrey"
+ }
+ },
+ mark: {
+ type: "square",
+ size: 120,
+ opacity: 1
+ }
+ },
+ {
+ width:500,
+ height:280,
+ transform: [
+ {filter: { selection: "legendSel"}}
+
+ ],
+ mark: {
+ type: "line",
+ tooltip: true,
+ point: true
+ },
+ selection: {
+ grid: {
+ type: "interval",
+ resolve: "global",
+ bind: "scales",
+ translate: "[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!",
+ zoom: "wheel![!event.shiftKey]"
+ },
+ pts: {
+ type: "single",
+ fields: ["Label"]
+ }
+ },
+ encoding: {
+ x: { field: "frame_size", type: "quantitative", title: "Frame size (bytes)", axis: {offset: 10} }
+ y: { field: "max_offered_load_pps", type: "quantitative", title: "Offered load (Mpps)" , axis: {offset: 10} }
+ color: {field: "label", "type": "nominal",
+ "legend": null}
+ tooltip: {"field": "max_offered_load_pps", "type": "quantitative"},
+ shape: {field: "flow_count", type: "nominal"}
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/kibana/visualizations/ndr_capacity_pps_scatter_plot.json b/kibana/visualizations/ndr_capacity_pps_scatter_plot.json
new file mode 100644
index 0000000..0bb8f2f
--- /dev/null
+++ b/kibana/visualizations/ndr_capacity_pps_scatter_plot.json
@@ -0,0 +1,108 @@
+{
+ $schema: "https://vega.github.io/schema/vega-lite/v2.json"
+ title: "Capacity in Mpps - 0,001% loss ratio"
+ data: {
+ url: {
+ %context%: true
+ %timefield%: "@timestamp"
+ index: resu*
+ body: {
+ _source: ["@timestamp", "_source", "rate_pps", "flow_count", "frame_size", "user_label"]
+ },
+ size: 10000
+ },
+ format: { property: "hits.hits" }
+ },
+ transform: [
+ { calculate: "datum._source['rate_pps'] / 1000000" as: "Offered load (Mpps)"},
+ { calculate: "datum._source['flow_count']" as: "Flow count"},
+ { calculate: "isNaN(toNumber(datum._source['frame_size'])) ? 362 : toNumber(datum._source['frame_size'])" as: "Frame size (bytes)"}
+ { calculate: "datum._source['user_label'] + '-' + datum._source['flow_count']" as: "label"}
+ ],
+ center: true,
+ hconcat: [
+ {
+ width:10,
+ selection: {
+ legendSel: {
+ type: "multi",
+ encodings: [ "color", "shape" ],
+ toggle: "event.shiftKey"
+ }
+ },
+ encoding: {
+ y: {
+ field: "label",
+ type: "nominal",
+ axis: {
+ title: "",
+ domain: false,
+ ticks: false,
+ offset: 10
+ },
+ },
+ color: {
+ condition: {
+ selection: "legendSel",
+ field: "label",
+ type: "nominal",
+ legend: null
+ },
+ value: "lightgrey"
+ }
+ },
+ mark: {
+ type: "square",
+ size: 120,
+ opacity: 1
+ }
+ },
+ {
+ width:500,
+ height:280,
+ transform: [
+ {filter: { selection: "legendSel"}}
+
+ ],
+ mark: {
+ "type": "point",
+ "tooltip": true
+ },
+ selection: {
+ grid: {
+ type: "interval",
+ resolve: "global",
+ bind: "scales",
+ translate: "[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!",
+ zoom: "wheel![!event.shiftKey]"
+ },
+ pts: {
+ type: "single",
+ fields: ["label"]
+ }
+ },
+ encoding: {
+ x: {
+ field: "Frame size (bytes)",
+ type: "quantitative"
+ }
+ y: {
+ field: "Offered load (Mpps)",
+ type: "quantitative"
+ }
+ color: {
+ field: "label", "type": "nominal",
+ "legend": null
+ }
+ shape: {
+ field: "Flow count",
+ type: "nominal"
+ }
+ tooltip: {
+ "field": "Offered load (Mpps)",
+ "type": "quantitative"
+ }
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/kibana/visualizations/ndr_capacity_pps_theoretical_line_chart.json b/kibana/visualizations/ndr_capacity_pps_theoretical_line_chart.json
new file mode 100644
index 0000000..00b9765
--- /dev/null
+++ b/kibana/visualizations/ndr_capacity_pps_theoretical_line_chart.json
@@ -0,0 +1,115 @@
+{
+ $schema: https: //vega.github.io/schema/vega-lite/v2.json
+ title: "Capacity in Mpps - 0,001% loss ratio"
+ data: {
+ url: {
+ %context%: true
+ %timefield%: "@timestamp"
+ index: resu*
+ body: {
+ _source: ["@timestamp", "_source", "theoretical_tx_rate_pps", "rate_pps", "flow_count", "frame_size", "user_label", "type"]
+ },
+ size: 10000
+ },
+ format: { property: "hits.hits" }
+ },
+
+ transform: [
+ { calculate: "datum._source['rate_pps'] / 1000000" as: "offered_load_pps"},
+ { calculate: "datum._source['theoretical_tx_rate_pps'] / 1000000" as: "theoretical_tx_rate_pps"},
+ { calculate: "datum._source['flow_count']" as: "flow_count"},
+ { calculate: "isNaN(toNumber(datum._source['frame_size'])) ? 362 : toNumber(datum._source['frame_size'])" as: "frame_size"},
+ { calculate: "datum._source['user_label'] + '-' + datum._source['flow_count']" as: "label"}
+ { aggregate: [{op: "max", field: "offered_load_pps", as: "max_offered_load_pps"}, {op: "max", field: "theoretical_tx_rate_pps", as: "theoretical_tx_rate_pps"}], groupby: ["frame_size", "label","flow_count"]}
+
+ ],
+ center: true,
+ hconcat: [
+ {
+ width:10,
+ selection: {
+ legendSel: {
+ type: "multi",
+ encodings: [ "color", "shape" ],
+ toggle: "event.shiftKey"
+ }
+ },
+ encoding: {
+ y: {
+ field: "label",
+ type: "nominal",
+ axis: {
+ title: "",
+ domain: false,
+ ticks: false,
+ offset: 10
+ },
+ },
+ color: {
+ condition: {
+ selection: "legendSel",
+ field: "label",
+ type: "nominal",
+ legend: null
+ },
+ value: "lightgrey"
+ }
+ },
+ mark: {
+ type: "square",
+ size: 120,
+ opacity: 1
+ }
+ },
+ {
+ layer: [{
+ mark: {
+ type: "line",
+ tooltip: true,
+ point: true
+ },
+ encoding: {
+ x: { field: "frame_size", type: "quantitative", title: "Frame size (bytes)", axis: {offset: 10} }
+ y: { field: "theoretical_tx_rate_pps", type: "quantitative", title: "Offered load (Mpps)" , axis: {offset: 10} }
+ strokeDash: {"field": "theoretical_tx_rate_pps", "type": "nominal"}
+ tooltip: [{"field": "theoretical_tx_rate_pps", "type": "quantitative", title: "theoretical max capacity"}],
+ color: { "value": "red"}
+ }
+ },{
+ width:500,
+ height:280,
+ transform: [
+ {filter: { selection: "legendSel"}}
+
+ ],mark: {
+ type: "line",
+ tooltip: true,
+ point: true
+ },
+ selection: {
+ grid: {
+ type: "interval",
+ resolve: "global",
+ bind: "scales",
+ translate: "[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!",
+ zoom: "wheel![!event.shiftKey]"
+ },
+ pts: {
+ type: "single",
+ fields: ["Label"]
+ }
+ },
+ encoding: {
+ x: { field: "frame_size", type: "quantitative", title: "Frame size (bytes)", axis: {offset: 10} }
+ y: { field: "max_offered_load_pps", type: "quantitative", title: "Offered load (Mpps)" , axis: {offset: 10} }
+ color: {field: "label", "type": "nominal",
+ "legend": null}
+ tooltip: {"field": "max_offered_load_pps", "type": "quantitative"},
+ shape: {field: "flow_count", type: "nominal"}
+ }
+ }
+ ]
+ }
+
+ ]
+} \ No newline at end of file
diff --git a/kibana/visualizations/ndr_capacity_pps_theoretical_scatter_plot.json b/kibana/visualizations/ndr_capacity_pps_theoretical_scatter_plot.json
new file mode 100644
index 0000000..984a7f4
--- /dev/null
+++ b/kibana/visualizations/ndr_capacity_pps_theoretical_scatter_plot.json
@@ -0,0 +1,128 @@
+{
+ $schema: "https://vega.github.io/schema/vega-lite/v2.json"
+ title: "Capacity in Mpps - 0,001% loss ratio"
+ data: {
+ url: {
+ %context%: true
+ %timefield%: "@timestamp"
+ index: resu*
+ body: {
+ _source: ["@timestamp", "_source", "rate_pps", "theoretical_tx_rate_pps", "flow_count", "frame_size", "user_label"]
+ },
+ size: 10000
+ },
+ format: { property: "hits.hits" }
+ },
+ transform: [
+ { calculate: "datum._source['rate_pps'] / 1000000" as: "rate_pps"},
+ { calculate: "datum._source['theoretical_tx_rate_pps'] / 1000000" as: "theoretical_tx_rate_pps"},
+ { calculate: "datum._source['flow_count']" as: "flow_count"},
+ { calculate: "isNaN(toNumber(datum._source['frame_size'])) ? 362 : toNumber(datum._source['frame_size'])" as: "frame_size"}
+ { calculate: "datum._source['user_label'] + '-' + datum._source['flow_count']" as: "label"}
+ ],
+ center: true,
+ hconcat: [
+ {
+ width:10,
+ selection: {
+ legendSel: {
+ type: "multi",
+ encodings: [ "color", "shape" ],
+ toggle: "event.shiftKey"
+ }
+ },
+ encoding: {
+ y: {
+ field: "label",
+ type: "nominal",
+ axis: {
+ title: "",
+ domain: false,
+ ticks: false,
+ offset: 10
+ },
+ },
+ color: {
+ condition: {
+ selection: "legendSel",
+ field: "label",
+ type: "nominal",
+ legend: null
+ },
+ value: "lightgrey"
+ }
+ },
+ mark: {
+ type: "square",
+ size: 120,
+ opacity: 1
+ }
+ },
+ {
+ layer: [
+ {
+ mark: {
+ type: "line",
+ tooltip: true
+ },
+ encoding: {
+ x: { field: "frame_size", type: "quantitative", title: "Frame size (bytes)", axis: {offset: 10} }
+ y: { field: "theoretical_tx_rate_pps", type: "quantitative", title: "Offered load (Mpps)" , axis: {offset: 10} }
+ strokeDash: {"field": "theoretical_tx_rate_pps", "type": "nominal"}
+ tooltip: [{"field": "theoretical_tx_rate_pps", "type": "quantitative", title: "theoretical max capacity"}],
+ color: { "value": "red"}
+ }
+ },
+ {
+ width:500,
+ height:280,
+ transform: [
+ {filter: { selection: "legendSel"}}
+ ],
+ mark: {
+ "type": "point",
+ "tooltip": true
+ },
+ selection: {
+ grid: {
+ type: "interval",
+ resolve: "global",
+ bind: "scales",
+ translate: "[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!",
+ zoom: "wheel![!event.shiftKey]"
+ },
+ pts: {
+ type: "single",
+ fields: ["label"]
+ }
+ },
+ encoding: {
+ x: {
+ field: "frame_size",
+ title: "Frame size (bytes)",
+ type: "quantitative"
+ }
+ y: {
+ field: "rate_pps",
+ title: "Offered load (Mpps)",
+ type: "quantitative"
+ }
+ color: {
+ field: "label", "type": "nominal",
+ "legend": null
+ }
+ shape: {
+ field: "flow_count",
+ type: "nominal"
+ }
+ tooltip: {
+ "field": "rate_pps",
+ "title": "Offered load (Mpps)",
+ "type": "quantitative"
+ }
+ }
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file