aboutsummaryrefslogtreecommitdiffstats
path: root/testcases/Controllers/ODL/odlreport2db.py
blob: 368d26611edc434a691b7049bbcedb54f9bc45e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
#!/usr/bin/python
#
# Authors:
# - peter.bandzi@cisco.com
# - morgan.richomme@orange.com
#
# src: Peter Bandzi
# https://github.com/pbandzi/parse-robot/blob/master/convert_robot_to_json.py
#
# Copyright (c) 2015 All rights reserved
# This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# 0.1: This script boots the VM1 and allocates IP address from Nova
# Later, the VM2 boots then execute cloud-init to ping VM1.
# After successful ping, both the VMs are deleted.
# 0.2: measure test duration and publish results under json format
# 0.3: adapt push 2 DB after Test API refacroting
#
#

import getopt
import json
import sys
import time
import xmltodict

import functest.utils.functest_utils as functest_utils


def usage():
    print """Usage:
    python odlreport2db.py --xml=<output.xml> --pod=<pod name>
                           --installer=<installer> --database=<database url>
                           --scenario=<scenario>
    -x, --xml   xml file generated by robot test
    -p, --pod   POD name where the test come from
    -i, --installer
    -s, --scenario
    -h, --help  this message
    """
    sys.exit(2)


def populate_detail(test):
    detail = {}
    detail['test_name'] = test['@name']
    detail['test_status'] = test['status']
    detail['test_doc'] = test['doc']
    return detail


def parse_test(tests, details):
    try:
        for test in tests:
            details.append(populate_detail(test))
    except TypeError:
        # tests is not iterable
        details.append(populate_detail(tests))
    return details


def parse_suites(suites):
    data = {}
    details = []
    for suite in suites:
        a = suite['suite']
        if type(a) == list:
            for b in a:
                data['details'] = parse_test(b['test'], details)
        else:
            data['details'] = parse_test(a['test'], details)

        # data['details'] = parse_test(suite['test'], details)
    # suites is not iterable
    return data


def main(argv):
    (xml_file, pod, installer, scenario) = None, None, None, None
    try:
        opts, args = getopt.getopt(argv,
                                   'x:p:i:s:h',
                                   ['xml=', 'pod=',
                                    'installer=',
                                    'scenario=',
                                    'help'])
    except getopt.GetoptError:
        usage()

    for opt, arg in opts:
        if opt in ('-h', '--help'):
            usage()
        elif opt in ('-x', '--xml'):
            xml_file = arg
        elif opt in ('-p', '--pod'):
            pod = arg
        elif opt in ('-i', '--installer'):
            installer = arg
        elif opt in ('-s', '--scenario'):
            scenario = arg
        else:
            usage()

    if not all(x is not None for x in (xml_file, pod, installer, scenario)):
        usage()

    with open(xml_file, "r") as myfile:
        xml_input = myfile.read().replace('\n', '')

    # dictionary populated with data from xml file
    all_data = xmltodict.parse(xml_input)['robot']

    try:
        data = parse_suites(all_data['suite']['suite'])
        data['description'] = all_data['suite']['@name']
        data['version'] = all_data['@generator']
        data['test_project'] = "functest"
        data['case_name'] = "odl"
        data['pod_name'] = pod
        data['installer'] = installer

        json.dumps(data, indent=4, separators=(',', ': '))

        # example:
        # python odlreport2db.py -x ~/Pictures/Perso/odl/output3.xml
        #                        -i fuel
        #                        -p opnfv-jump-2
        #                        -s os-odl_l2-ha

        # success criteria for ODL = 100% of tests OK
        status = "FAIL"
        # TODO as part of the tests are executed before in the bash
        # start and stoptime have no real meaning
        start_time = time.time()
        stop_time = start_time
        tests_passed = 0
        tests_failed = 0
        for v in data['details']:
            if v['test_status']['@status'] == "PASS":
                tests_passed += 1
            else:
                tests_failed += 1

        if (tests_failed < 1):
            status = "PASS"

        functest_utils.push_results_to_db(data['test_project'],
                                          data['case_name'],
                                          None,
                                          start_time,
                                          stop_time,
                                          status,
                                          data)

    except:
        print("Error pushing ODL results into DB '%s'" % sys.exc_info()[0])


if __name__ == "__main__":
    main(sys.argv[1:])
4' href='#n894'>894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154
{
  "__inputs": [
    {
      "name": "DS_YARDSTICK",
      "label": "yardstick",
      "description": "",
      "type": "datasource",
      "pluginId": "influxdb",
      "pluginName": "InfluxDB"
    }
  ],
  "__requires": [
    {
      "type": "grafana",
      "id": "grafana",
      "name": "Grafana",
      "version": "4.4.3"
    },
    {
      "type": "panel",
      "id": "graph",
      "name": "Graph",
      "version": ""
    },
    {
      "type": "datasource",
      "id": "influxdb",
      "name": "InfluxDB",
      "version": "1.0.0"
    },
    {
      "type": "panel",
      "id": "text",
      "name": "Text",
      "version": ""
    }
  ],
  "annotations": {
    "list": []
  },
  "editable": true,
  "gnetId": null,
  "graphTooltip": 0,
  "hideControls": false,
  "id": null,
  "links": [],
  "refresh": false,
  "rows": [
    {
      "collapse": false,
      "height": "25px",
      "panels": [
        {
          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 32px '#31A7D3'\"><center>OPNFV_Yardstick_NSB_PROX_Heat_LW_AFTR_4Port_Test</center> </a></h5>\n<center>\n<p>The light weight Address Family Transition Router workload terminates customer IPv6 tunnels and connects them to internet peering points. </p>\n<p>One pair of ports is connected towards CPE and the other pair is towards internet in the default configuration of this workload.</p>\n<p>The KPI is the number of packets per second with an accepted minimal packet loss.</p>\n</center>",
          "editable": true,
          "error": false,
          "height": "25",
          "id": 3,
          "links": [],
          "mode": "html",
          "span": 12,
          "title": "",
          "type": "text"
        },
        {
          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox LW_AFTR VNF stats</center> </a></h5>\n",
          "editable": true,
          "error": false,
          "height": "40",
          "id": 7,
          "links": [],
          "mode": "html",
          "span": 12,
          "title": "",
          "type": "text"
        }
      ],
      "repeat": null,
      "repeatIteration": null,
      "repeatRowId": null,
      "showTitle": false,
      "title": "Row",
      "titleSize": "h6"
    },
    {
      "collapse": false,
      "height": "300px",
      "panels": [
        {
          "aliasColors": {},
          "bars": false,
          "dashLength": 10,
          "dashes": false,
          "datasource": "${DS_YARDSTICK}",
          "editable": true,
          "error": false,
          "fill": 1,
          "grid": {},
          "height": "300",
          "id": 4,
          "legend": {
            "alignAsTable": true,
            "avg": true,
            "current": false,
            "max": true,
            "min": true,
            "rightSide": false,
            "show": true,
            "total": false,
            "values": true
          },
          "lines": true,
          "linewidth": 2,
          "links": [],
          "nullPointMode": "connected",
          "percentage": false,
          "pointradius": 1,
          "points": false,
          "renderer": "flot",
          "seriesOverrides": [],
          "spaceLength": 10,
          "span": 12,
          "stack": false,
          "steppedLine": false,
          "targets": [
            {
              "alias": "VNF packets Forward",
              "dsType": "influxdb",
              "groupBy": [
                {
                  "params": [
                    "$interval"
                  ],
                  "type": "time"
                },
                {
                  "params": [
                    "null"
                  ],
                  "type": "fill"
                }
              ],
              "measurement": "tc_prox_heat_context_lw_aftr-4",
              "orderByTime": "ASC",
              "policy": "default",
              "refId": "A",
              "resultFormat": "time_series",
              "select": [
                [
                  {
                    "params": [
                      "vnf__0.packets_fwd"
                    ],
                    "type": "field"
                  },
                  {
                    "params": [],
                    "type": "mean"
                  }
                ]
              ],
              "tags": []
            },
            {
              "alias": "VNF packets in",
              "dsType": "influxdb",
              "groupBy": [
                {
                  "params": [
                    "$interval"
                  ],
                  "type": "time"
                },
                {
                  "params": [
                    "null"
                  ],
                  "type": "fill"
                }
              ],
              "measurement": "tc_prox_heat_context_lw_aftr-4",
              "orderByTime": "ASC",
              "policy": "default",
              "refId": "C",
              "resultFormat": "time_series",
              "select": [
                [
                  {
                    "params": [
                      "vnf__0.packets_in"
                    ],
                    "type": "field"
                  },
                  {
                    "params": [],
                    "type": "mean"
                  }
                ]
              ],
              "tags": []
            },
            {
              "alias": "VNF packets dropped",
              "dsType": "influxdb",
              "groupBy": [
                {
                  "params": [
                    "$interval"
                  ],
                  "type": "time"
                },
                {
                  "params": [
                    "null"
                  ],
                  "type": "fill"
                }
              ],
              "measurement": "tc_prox_heat_context_lw_aftr-4",
              "orderByTime": "ASC",
              "policy": "default",
              "refId": "B",
              "resultFormat": "time_series",
              "select": [
                [
                  {
                    "params": [
                      "vnf__0.packets_dropped"
                    ],
                    "type": "field"
                  },
                  {
                    "params": [],
                    "type": "mean"
                  }
                ]
              ],
              "tags": []
            }
          ],
          "thresholds": [
            {
              "colorMode": "custom",
              "fill": true,
              "fillColor": "rgba(216, 200, 27, 0.27)",
              "op": "gt",
              "value": 2.5
            },
            {
              "colorMode": "custom",
              "fill": true,
              "fillColor": "rgba(234, 112, 112, 0.22)",
              "op": "gt",
              "value": 2.5
            }
          ],
          "timeFrom": null,
          "timeShift": null,
          "title": "LW_AFTR VNF stats",
          "tooltip": {
            "msResolution": true,
            "shared": true,
            "sort": 0,
            "value_type": "cumulative"
          },
          "type": "graph",
          "xaxis": {
            "buckets": null,
            "mode": "time",
            "name": null,
            "show": true,
            "values": []
          },
          "yaxes": [
            {
              "format": "short",
              "label": "Packets",
              "logBase": 1,
              "max": null,
              "min": null,
              "show": true
            },
            {
              "format": "short",
              "label": null,
              "logBase": 1,
              "max": null,
              "min": null,
              "show": true
            }
          ]
        },
        {
          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox LW_AFTR Traffic Gen stats</center> </a></h5>\n",
          "editable": true,
          "error": false,
          "height": "40",
          "id": 8,
          "links": [],
          "mode": "html",
          "span": 12,
          "title": "",
          "type": "text"
        }
      ],
      "repeat": null,
      "repeatIteration": null,
      "repeatRowId": null,
      "showTitle": false,
      "title": "New row",
      "titleSize": "h6"
    },
    {
      "collapse": false,
      "height": "300px",
      "panels": [
        {
          "aliasColors": {},
          "bars": false,
          "dashLength": 10,
          "dashes": false,
          "datasource": "${DS_YARDSTICK}",
          "editable": true,
          "error": false,
          "fill": 1,
          "grid": {},
          "id": 6,
          "legend": {
            "alignAsTable": true,
            "avg": true,
            "current": false,
            "max": true,
            "min": true,
            "rightSide": false,
            "show": true,
            "total": false,
            "values": true
          },
          "lines": true,
          "linewidth": 2,
          "links": [],
          "nullPointMode": "connected",
          "percentage": false,
          "pointradius": 5,
          "points": false,
          "renderer": "flot",
          "seriesOverrides": [],
          "spaceLength": 10,
          "span": 6,
          "stack": false,
          "steppedLine": false,
          "targets": [
            {
              "alias": "TG xe-0 Out packets",
              "dsType": "influxdb",
              "groupBy": [
                {
                  "params": [
                    "$interval"
                  ],
                  "type": "time"
                },
                {
                  "params": [
                    "null"
                  ],
                  "type": "fill"
                }
              ],
              "measurement": "tc_prox_heat_context_lw_aftr-4",
              "orderByTime": "ASC",
              "policy": "default",
              "refId": "A",
              "resultFormat": "time_series",
              "select": [
                [
                  {
                    "params": [
                      "tg__0.xe0.out_packets"
                    ],
                    "type": "field"
                  },
                  {
                    "params": [],
                    "type": "mean"
                  }
                ]
              ],
              "tags": []
            },
            {
              "alias": "TG xe-1 Out packets",
              "dsType": "influxdb",
              "groupBy": [
                {
                  "params": [
                    "$interval"
                  ],
                  "type": "time"
                },
                {
                  "params": [
                    "null"
                  ],
                  "type": "fill"
                }
              ],
              "measurement": "tc_prox_heat_context_lw_aftr-4",
              "orderByTime": "ASC",
              "policy": "default",
              "refId": "B",
              "resultFormat": "time_series",
              "select": [
                [
                  {
                    "params": [
                      "tg__0.xe1.out_packets"
                    ],
                    "type": "field"
                  },
                  {
                    "params": [],
                    "type": "mean"
                  }
                ]
              ],
              "tags": []
            },
            {
              "alias": "TG xe-2 Out packets",
              "dsType": "influxdb",
              "groupBy": [
                {
                  "params": [
                    "$interval"
                  ],
                  "type": "time"
                },
                {
                  "params": [
                    "null"
                  ],
                  "type": "fill"
                }
              ],
              "measurement": "tc_prox_heat_context_lw_aftr-4",
              "orderByTime": "ASC",
              "policy": "default",
              "refId": "C",
              "resultFormat": "time_series",
              "select": [
                [
                  {
                    "params": [
                      "tg__0.xe2.out_packets"
                    ],
                    "type": "field"
                  },
                  {
                    "params": [],
                    "type": "mean"
                  }
                ]
              ],
              "tags": []
            },
            {
              "alias": "TG xe-3 Out packets",
              "dsType": "influxdb",
              "groupBy": [
                {
                  "params": [
                    "$interval"
                  ],
                  "type": "time"
                },
                {
                  "params": [
                    "null"
                  ],
                  "type": "fill"
                }
              ],
              "measurement": "tc_prox_heat_context_lw_aftr-4",
              "orderByTime": "ASC",
              "policy": "default",
              "refId": "D",
              "resultFormat": "time_series",
              "select": [
                [
                  {
                    "params": [
                      "tg__0.xe3.out_packets"
                    ],
                    "type": "field"
                  },
                  {
                    "params": [],
                    "type": "mean"
                  }
                ]
              ],
              "tags": []
            }
          ],
          "thresholds": [
            {
              "colorMode": "custom",
              "fill": true,
              "fillColor": "rgba(216, 200, 27, 0.27)",
              "op": "gt",
              "value": 2.5
            },
            {
              "colorMode": "custom",
              "fill": true,
              "fillColor": "rgba(234, 112, 112, 0.22)",
              "op": "gt",
              "value": 2.5
            }
          ],
          "timeFrom": null,
          "timeShift": null,
          "title": "TG Port Stats: Out packets",
          "tooltip": {
            "msResolution": true,
            "shared": true,
            "sort": 0,
            "value_type": "cumulative"
          },
          "type": "graph",
          "xaxis": {
            "buckets": null,
            "mode": "time",
            "name": null,
            "show": true,
            "values": []
          },
          "yaxes": [
            {
              "format": "short",
              "label": "Packets",
              "logBase": 1,
              "max": null,
              "min": null,
              "show": true
            },
            {
              "format": "short",
              "label": null,
              "logBase": 1,
              "max": null,
              "min": null,
              "show": true
            }
          ]
        },
        {
          "aliasColors": {},
          "bars": false,
          "dashLength": 10,
          "dashes": false,
          "datasource": "${DS_YARDSTICK}",
          "editable": true,
          "error": false,
          "fill": 1,
          "grid": {},
          "id": 9,
          "legend": {
            "alignAsTable": true,
            "avg": true,
            "current": false,
            "max": true,
            "min": true,
            "show": true,
            "total": false,
            "values": true
          },
          "lines": true,
          "linewidth": 2,
          "links": [],
          "nullPointMode": "connected",
          "percentage": false,
          "pointradius": 5,
          "points": false,
          "renderer": "flot",
          "seriesOverrides": [],
          "spaceLength": 10,
          "span": 6,
          "stack": false,
          "steppedLine": false,
          "targets": [
            {
              "alias": "TG xe-0 in packets",
              "dsType": "influxdb",
              "groupBy": [
                {
                  "params": [
                    "$interval"
                  ],
                  "type": "time"
                },
                {
                  "params": [
                    "null"
                  ],
                  "type": "fill"
                }
              ],
              "measurement": "tc_prox_heat_context_lw_aftr-4",
              "orderByTime": "ASC",
              "policy": "default",
              "refId": "A",
              "resultFormat": "time_series",
              "select": [
                [
                  {
                    "params": [
                      "tg__0.xe0.in_packets"
                    ],
                    "type": "field"
                  },
                  {
                    "params": [],
                    "type": "mean"
                  }
                ]
              ],
              "tags": []
            },
            {
              "alias": "TG xe-1 in packets",
              "dsType": "influxdb",
              "groupBy": [
                {
                  "params": [
                    "$interval"
                  ],
                  "type": "time"
                },
                {
                  "params": [
                    "null"
                  ],
                  "type": "fill"
                }
              ],
              "measurement": "tc_prox_heat_context_lw_aftr-4",
              "orderByTime": "ASC",
              "policy": "default",
              "refId": "B",
              "resultFormat": "time_series",
              "select": [
                [
                  {
                    "params": [
                      "tg__0.xe1.in_packets"
                    ],
                    "type": "field"
                  },
                  {
                    "params": [],
                    "type": "mean"
                  }
                ]
              ],
              "tags": []
            },
            {
              "alias": "TG xe-2 in packets",
              "dsType": "influxdb",
              "groupBy": [
                {
                  "params": [
                    "$interval"
                  ],
                  "type": "time"
                },
                {
                  "params": [
                    "null"
                  ],
                  "type": "fill"
                }
              ],
              "measurement": "tc_prox_heat_context_lw_aftr-4",
              "orderByTime": "ASC",
              "policy": "default",
              "refId": "C",
              "resultFormat": "time_series",
              "select": [
                [
                  {
                    "params": [
                      "tg__0.xe2.in_packets"
                    ],
                    "type": "field"
                  },
                  {
                    "params": [],
                    "type": "mean"
                  }
                ]
              ],
              "tags": []
            },
            {
              "alias": "TG xe-3 in packets",
              "dsType": "influxdb",
              "groupBy": [
                {
                  "params": [
                    "$interval"
                  ],
                  "type": "time"
                },
                {
                  "params": [
                    "null"
                  ],
                  "type": "fill"
                }
              ],
              "measurement": "tc_prox_heat_context_lw_aftr-4",
              "orderByTime": "ASC",
              "policy": "default",
              "refId": "D",
              "resultFormat": "time_series",
              "select": [
                [
                  {
                    "params": [
                      "tg__0.xe3.in_packets"
                    ],
                    "type": "field"
                  },
                  {
                    "params": [],
                    "type": "mean"
                  }
                ]
              ],
              "tags": []
            }
          ],
          "thresholds": [
            {
              "colorMode": "custom",
              "fill": true,
              "fillColor": "rgba(216, 200, 27, 0.27)",
              "op": "gt",
              "value": 2.5
            },
            {
              "colorMode": "custom",
              "fill": true,
              "fillColor": "rgba(234, 112, 112, 0.22)",
              "op": "gt",
              "value": 2.5
            }
          ],
          "timeFrom": null,
          "timeShift": null,
          "title": "TG Port Stats: In packets",
          "tooltip": {
            "msResolution": true,
            "shared": true,
            "sort": 0,
            "value_type": "cumulative"
          },
          "type": "graph",
          "xaxis": {
            "buckets": null,
            "mode": "time",
            "name": null,
            "show": true,
            "values": []
          },
          "yaxes": [
            {
              "format": "short",
              "label": "Packets",
              "logBase": 1,
              "max": null,
              "min": null,
              "show": true
            },
            {
              "format": "short",
              "label": null,
              "logBase": 1,
              "max": null,
              "min": null,
              "show": true
            }
          ]
        }
      ],
      "repeat": null,
      "repeatIteration": null,
      "repeatRowId": null,
      "showTitle": false,
      "title": "New row",
      "titleSize": "h6"
    },
    {
      "collapse": false,
      "height": "250px",
      "panels": [
        {
          "aliasColors": {},
          "bars": false,
          "dashLength": 10,
          "dashes": false,
          "datasource": "${DS_YARDSTICK}",
          "editable": true,
          "error": false,
          "fill": 1,
          "grid": {},
          "id": 2,
          "legend": {
            "alignAsTable": true,
            "avg": true,
            "current": false,
            "max": true,
            "min": true,
            "show": true,
            "total": false,
            "values": true
          },
          "lines": true,
          "linewidth": 2,
          "links": [],
          "nullPointMode": "connected",
          "percentage": false,
          "pointradius": 5,
          "points": false,
          "renderer": "flot",
          "seriesOverrides": [],
          "spaceLength": 10,
          "span": 6,
          "stack": false,
          "steppedLine": false,
          "targets": [
            {
              "alias": "TG TX Throughput",
              "dsType": "influxdb",
              "groupBy": [
                {
                  "params": [
                    "$interval"
                  ],
                  "type": "time"
                },
                {
                  "params": [
                    "null"
                  ],
                  "type": "fill"
                }
              ],
              "measurement": "tc_prox_heat_context_lw_aftr-4",
              "orderByTime": "ASC",
              "policy": "default",
              "refId": "A",
              "resultFormat": "time_series",
              "select": [
                [
                  {
                    "params": [
                      "tg__0.TxThroughput"
                    ],
                    "type": "field"
                  },
                  {
                    "params": [],
                    "type": "mean"
                  }
                ]
              ],
              "tags": []
            },
            {
              "alias": "TG RX Throughput",
              "dsType": "influxdb",
              "groupBy": [
                {
                  "params": [
                    "$interval"
                  ],
                  "type": "time"
                },
                {
                  "params": [
                    "null"
                  ],
                  "type": "fill"
                }
              ],
              "measurement": "tc_prox_heat_context_lw_aftr-4",
              "orderByTime": "ASC",
              "policy": "default",
              "refId": "B",
              "resultFormat": "time_series",
              "select": [
                [
                  {
                    "params": [
                      "tg__0.RxThroughput"
                    ],
                    "type": "field"
                  },
                  {
                    "params": [],
                    "type": "mean"
                  }
                ]
              ],
              "tags": []
            }
          ],
          "thresholds": [
            {
              "colorMode": "custom",
              "fill": true,
              "fillColor": "rgba(216, 200, 27, 0.27)",
              "op": "gt",
              "value": 2.5
            },
            {
              "colorMode": "custom",
              "fill": true,
              "fillColor": "rgba(234, 112, 112, 0.22)",
              "op": "gt",
              "value": 2.5
            }
          ],
          "timeFrom": null,
          "timeShift": null,
          "title": "TG Tx vs Rx Throughput",
          "tooltip": {
            "msResolution": true,
            "shared": true,
            "sort": 0,
            "value_type": "cumulative"
          },
          "type": "graph",
          "xaxis": {
            "buckets": null,
            "mode": "time",
            "name": null,
            "show": true,
            "values": []
          },
          "yaxes": [
            {
              "format": "short",
              "label": "Throughput in MPPS",
              "logBase": 1,
              "max": null,
              "min": null,
              "show": true
            },
            {
              "format": "short",
              "label": null,
              "logBase": 1,
              "max": null,
              "min": null,
              "show": true
            }
          ]
        },
        {
          "aliasColors": {},
          "bars": false,
          "dashLength": 10,
          "dashes": false,
          "datasource": "${DS_YARDSTICK}",
          "editable": true,
          "error": false,
          "fill": 1,
          "grid": {},
          "id": 5,
          "legend": {
            "alignAsTable": true,
            "avg": true,
            "current": false,
            "max": true,
            "min": true,
            "show": true,
            "total": false,
            "values": true
          },
          "lines": true,
          "linewidth": 2,
          "links": [],
          "nullPointMode": "connected",
          "percentage": false,
          "pointradius": 5,
          "points": false,
          "renderer": "flot",
          "seriesOverrides": [],
          "spaceLength": 10,
          "span": 6,
          "stack": false,
          "steppedLine": false,
          "targets": [
            {
              "alias": "TG Packet Size",
              "dsType": "influxdb",
              "groupBy": [
                {
                  "params": [
                    "$interval"
                  ],
                  "type": "time"
                },
                {
                  "params": [
                    "null"
                  ],
                  "type": "fill"
                }
              ],
              "measurement": "tc_prox_heat_context_lw_aftr-4",
              "orderByTime": "ASC",
              "policy": "default",
              "refId": "A",
              "resultFormat": "time_series",
              "select": [
                [
                  {
                    "params": [
                      "tg__0.PktSize"
                    ],
                    "type": "field"
                  },
                  {
                    "params": [],
                    "type": "mean"
                  }
                ]
              ],
              "tags": []
            }
          ],
          "thresholds": [
            {
              "colorMode": "custom",
              "fill": true,
              "fillColor": "rgba(216, 200, 27, 0.27)",
              "op": "gt",
              "value": 2.5
            },
            {
              "colorMode": "custom",
              "fill": true,
              "fillColor": "rgba(234, 112, 112, 0.22)",
              "op": "gt",
              "value": 2.5
            }
          ],
          "timeFrom": null,
          "timeShift": null,
          "title": "TG Packet size",
          "tooltip": {
            "msResolution": true,
            "shared": true,
            "sort": 0,
            "value_type": "cumulative"
          },
          "type": "graph",
          "xaxis": {
            "buckets": null,
            "mode": "time",
            "name": null,
            "show": true,
            "values": []
          },
          "yaxes": [
            {
              "format": "bytes",
              "label": "Packet Size",
              "logBase": 1,
              "max": null,
              "min": null,
              "show": true
            },
            {
              "format": "short",
              "label": null,
              "logBase": 1,
              "max": null,
              "min": null,
              "show": true
            }
          ]
        }
      ],
      "repeat": null,
      "repeatIteration": null,
      "repeatRowId": null,
      "showTitle": false,
      "title": "New row",
      "titleSize": "h6"
    }
  ],
  "schemaVersion": 14,
  "style": "dark",
  "tags": [
    "yardstick",
    "NSB",
    "Prox",
    "4Port",
    "LW_AFTR",
    "Heat"
  ],
  "templating": {
    "list": []
  },
  "time": {
    "from": "2017-10-12T12:47:29.557Z",
    "to": "2017-10-12T12:53:03.217Z"
  },
  "timepicker": {
    "refresh_intervals": [
      "5s",
      "10s",
      "30s",
      "1m",
      "5m",
      "15m",
      "30m",
      "1h",
      "2h",
      "1d"
    ],
    "time_options": [
      "5m",
      "15m",
      "1h",
      "6h",
      "12h",
      "24h",
      "2d",
      "7d",
      "30d"
    ]
  },
  "timezone": "browser",
  "title": "Prox_Heat_LW_AFTR-4Port",
  "version": 4
}