Add Kibana visualizations examples for NDR result 33/71333/2
authorfmenguy <francoisregis.menguy@orange.com>
Mon, 5 Oct 2020 16:13:05 +0000 (18:13 +0200)
committerFran�ois-R�gis Menguy <francoisregis.menguy@orange.com>
Thu, 11 Mar 2021 12:17:48 +0000 (12:17 +0000)
Change-Id: I652dc2c3d69ae5f6bff5019b0868d1becaceec63
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
20 files changed:
docs/testing/user/userguide/conf.py
docs/testing/user/userguide/fluentd.rst
docs/testing/user/userguide/images/nfvbench-kibana-filter-kql.png [new file with mode: 0644]
docs/testing/user/userguide/images/nfvbench-kibana-filter.png [new file with mode: 0644]
docs/testing/user/userguide/images/nfvbench-kibana-gbps-line.png [new file with mode: 0644]
docs/testing/user/userguide/images/nfvbench-kibana-pps-scatter.png [new file with mode: 0644]
docs/testing/user/userguide/images/nfvbench-kibana-pps-theoretical.png [new file with mode: 0644]
docs/testing/user/userguide/images/nfvbench-kibana-zoom-selection.png [new file with mode: 0644]
docs/testing/user/userguide/images/nfvbench-kibana.png [new file with mode: 0644]
docs/testing/user/userguide/index.rst
docs/testing/user/userguide/kibana.rst [new file with mode: 0644]
kibana/visualizations/export.ndjson [new file with mode: 0644]
kibana/visualizations/ndr_capacity_gbps_line_chart.json [new file with mode: 0644]
kibana/visualizations/ndr_capacity_gbps_scatter_plot.json [new file with mode: 0644]
kibana/visualizations/ndr_capacity_gbps_theoretical_line_chart.json [new file with mode: 0644]
kibana/visualizations/ndr_capacity_gbps_theoretical_scatter_plot.json [new file with mode: 0644]
kibana/visualizations/ndr_capacity_pps_line_chart.json [new file with mode: 0644]
kibana/visualizations/ndr_capacity_pps_scatter_plot.json [new file with mode: 0644]
kibana/visualizations/ndr_capacity_pps_theoretical_line_chart.json [new file with mode: 0644]
kibana/visualizations/ndr_capacity_pps_theoretical_scatter_plot.json [new file with mode: 0644]

index 5846b00..bee045b 100644 (file)
@@ -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']
index e1ff37f..7332458 100644 (file)
@@ -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 (file)
index 0000000..f5c7b2d
Binary files /dev/null and b/docs/testing/user/userguide/images/nfvbench-kibana-filter-kql.png 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 (file)
index 0000000..18a6dc5
Binary files /dev/null and b/docs/testing/user/userguide/images/nfvbench-kibana-filter.png 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 (file)
index 0000000..1947412
Binary files /dev/null and b/docs/testing/user/userguide/images/nfvbench-kibana-gbps-line.png 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 (file)
index 0000000..89a8e47
Binary files /dev/null and b/docs/testing/user/userguide/images/nfvbench-kibana-pps-scatter.png 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 (file)
index 0000000..da7dc7a
Binary files /dev/null and b/docs/testing/user/userguide/images/nfvbench-kibana-pps-theoretical.png 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 (file)
index 0000000..6af64ea
Binary files /dev/null and b/docs/testing/user/userguide/images/nfvbench-kibana-zoom-selection.png 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 (file)
index 0000000..d185fa0
Binary files /dev/null and b/docs/testing/user/userguide/images/nfvbench-kibana.png differ
index 78519c8..04d2581 100644 (file)
@@ -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 (file)
index 0000000..68c3d38
--- /dev/null
@@ -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 (file)
index 0000000..de72cb4
--- /dev/null
@@ -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 (file)
index 0000000..cb696ba
--- /dev/null
@@ -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 (file)
index 0000000..9908e9d
--- /dev/null
@@ -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 (file)
index 0000000..1ff4d23
--- /dev/null
@@ -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 (file)
index 0000000..55a48ff
--- /dev/null
@@ -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 (file)
index 0000000..ad79caa
--- /dev/null
@@ -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 (file)
index 0000000..0bb8f2f
--- /dev/null
@@ -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 (file)
index 0000000..00b9765
--- /dev/null
@@ -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 (file)
index 0000000..984a7f4
--- /dev/null
@@ -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