Commit 06614476 authored by Joanne Hugé's avatar Joanne Hugé

Add option to modify script, improve show option, update measures

parent 617a6456
...@@ -33,8 +33,17 @@ class MeasureSetHandler: ...@@ -33,8 +33,17 @@ class MeasureSetHandler:
def __str__(self): def __str__(self):
s = "List of measures:\n\n" s = "List of measures:\n\n"
id_strs = []
for measure_set in self.measure_sets: for measure_set in self.measure_sets:
s += " {} : {}".format(measure_set, self.measure_sets[measure_set]) id_strs.append(" {} : {}".format(measure_set, self.measure_sets[measure_set]['ids']))
max_id_str_len = max([ len(s) for s in id_strs ])
for i, measure_set in enumerate(self.measure_sets):
next_id_str = self.measure_sets[measure_set]['next_id']
next_id_str = "{} (Next id: {})\n".format(" " * (max_id_str_len + 5 - len(id_strs[i])), next_id_str)
s+= id_strs[i] + next_id_str
return s return s
def save(self): def save(self):
...@@ -94,12 +103,24 @@ class MeasureSetHandler: ...@@ -94,12 +103,24 @@ class MeasureSetHandler:
print("Saved measure as {}{}".format(mtype, next_id)) print("Saved measure as {}{}".format(mtype, next_id))
def remove_measure_set(self, mtype, mid): def remove_measure_set(self, mtype, mid):
if mtype in self.measure_sets and len(self.measure_sets[mtype]['ids']) > 0: if mtype in self.measure_sets and mid in self.measure_sets[mtype]['ids']:
self.measure_sets[mtype]['ids'].remove(mid) self.measure_sets[mtype]['ids'].remove(mid)
measure_file_name = "{}/{}{}.json".format(MeasureSetHandler.measures_dir, mtype, mid) measure_file_name = "{}/{}{}.json".format(MeasureSetHandler.measures_dir, mtype, mid)
os.remove(measure_file_name) os.remove(measure_file_name)
self.save() self.save()
print("Removed measure {}{}".format(mtype, mid)) print("Removed measure {}{}".format(mtype, mid))
else:
print("{}{} doesn't exist".format(mtype, mid))
def modify_metadata(self, mtype, mid):
if mtype in self.measure_sets and mid in self.measure_sets[mtype]['ids']:
measure_set = self.get_measure_set("{}{}".format(mtype, mid))
metadata = measure_set.input_metadata()
measure_set.metadata.update(metadata)
measure_file_name = "{}/{}{}.json".format(MeasureSetHandler.measures_dir, mtype, mid)
measure_set.export_to_json(measure_file_name)
else:
print("{}{} doesn't exist".format(mtype, mid))
def remove_all(self): def remove_all(self):
for mtype in self.measure_sets: for mtype in self.measure_sets:
...@@ -543,6 +564,19 @@ class MeasureSet: ...@@ -543,6 +564,19 @@ class MeasureSet:
return (table_str, props_lens) return (table_str, props_lens)
def name_to_mtype_mid(file_name):
mid_start = 0
for c in range(len(file_name)-1, -1, -1):
if not str.isdigit(file_name[c]):
mid_start = c+1
break
mtype = file_name[:mid_start]
mid = int(file_name[mid_start:])
return (mtype, mid)
def parse_args(): def parse_args():
parser = argparse parser = argparse
parser = argparse.ArgumentParser(description='Measure analysis') parser = argparse.ArgumentParser(description='Measure analysis')
...@@ -550,6 +584,7 @@ def parse_args(): ...@@ -550,6 +584,7 @@ def parse_args():
parser.add_argument('-c', action='store_true', required=False, help='parse cyclictest histogram') parser.add_argument('-c', action='store_true', required=False, help='parse cyclictest histogram')
parser.add_argument('--remove', nargs=1, required=False, help='remove a measure') parser.add_argument('--remove', nargs=1, required=False, help='remove a measure')
parser.add_argument('--remove-all', action='store_true', help='remove all measure sets') parser.add_argument('--remove-all', action='store_true', help='remove all measure sets')
parser.add_argument('-m', nargs=1, required=False, help='modify the metadata of a measure')
parser.add_argument('-t', nargs='?', const='input_file', required=False, help='generate table') parser.add_argument('-t', nargs='?', const='input_file', required=False, help='generate table')
parser.add_argument('-R', action='store_true', required=False, help='generate full measure report') parser.add_argument('-R', action='store_true', required=False, help='generate full measure report')
parser.add_argument('-G', action='store_true', required=False, help='generate all graphs') parser.add_argument('-G', action='store_true', required=False, help='generate all graphs')
...@@ -560,18 +595,15 @@ def parse_args(): ...@@ -560,18 +595,15 @@ def parse_args():
ms_handler = MeasureSetHandler() ms_handler = MeasureSetHandler()
if args.remove is not None: if args.remove is not None:
file_name = args.remove[0]
mid_start = 0
for c in range(len(file_name)-1, -1, -1):
if not str.isdigit(file_name[c]):
mid_start = c+1
break
mtype = file_name[:mid_start]
mid = int(file_name[mid_start:])
mtype, mid = name_to_mtype_mid(args.remove[0])
ms_handler.remove_measure_set(mtype, mid) ms_handler.remove_measure_set(mtype, mid)
if args.m is not None:
mtype, mid = name_to_mtype_mid(args.m[0])
ms_handler.modify_metadata(mtype, mid)
if args.i is not None: if args.i is not None:
if args.c: if args.c:
...@@ -598,6 +630,6 @@ def parse_args(): ...@@ -598,6 +630,6 @@ def parse_args():
ms_handler.remove_all() ms_handler.remove_all()
if args.s: if args.s:
print( ms_handler) print(ms_handler)
parse_args() parse_args()
...@@ -33,14 +33,15 @@ Emerald, 24h, ssh | 12.0000us | 80.0000us | 15.4101u ...@@ -33,14 +33,15 @@ Emerald, 24h, ssh | 12.0000us | 80.0000us | 15.4101u
Similar to packet_recv_timestamps, but on the transmitting board. Similar to packet_recv_timestamps, but on the transmitting board.
**Common test metadata:** Linux kernel version: 4.19, Boot Parameters: isolcpus, ETF qdisc delta: 200us, Task priority: 99, Device and processor load: ssh, qdisc: pfifo_fast **Common test metadata:** Linux kernel version: 4.19, Boot Parameters: isolcpus, Task priority: 99, Device and processor load: ssh
Metadata | Min | Max | Avg | Var Metadata | Min | Max | Avg | Var
---------------------- | ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- --------------------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | -----------------------------
**board, i, duration** | **user_space - kernel_space** | **user_space - kernel_space** | **user_space - kernel_space** | **user_space - kernel_space** **board, i, duration, delta, qdisc** | **user_space - kernel_space** | **user_space - kernel_space** | **user_space - kernel_space** | **user_space - kernel_space**
Onyx, 100000us, 0h17 | 2.0000us - 42.0000us | 12.0000us - 145.0000us | 2.3099us - 51.8681us | 0.2716us - 56.2809us Onyx, 100000us, 0h17, 200us, pfifo_fast | 2.0000us - 42.0000us | 12.0000us - 145.0000us | 2.3099us - 51.8681us | 0.2716us - 56.2809us
Slate, 1000us, 1h00 | 1.0000us - 32.0000us | 12.0000us - 222.0000us | 2.0360us - 36.6218us | 0.0493us - 9.1563us Slate, 1000us, 1h00, 200us, pfifo_fast | 1.0000us - 32.0000us | 12.0000us - 222.0000us | 2.0360us - 36.6218us | 0.0493us - 9.1563us
Slate, 1000us, 0h2 | 1.0000us - 32.0000us | 12.0000us - 118.0000us | 1.9341us - 36.6011us | 0.0768us - 3.7223us Slate, 1000us, 0h2, 200us, pfifo_fast | 1.0000us - 32.0000us | 12.0000us - 118.0000us | 1.9341us - 36.6011us | 0.0768us - 3.7223us
Onyx, 1000us, 72h24, 160us, etf | 1.0000us - 33.0000us | 65.0000us - 110.0000us | 1.9916us - 37.1342us | 3.1052us - 13.6433us
![alt text](graphs/packet_send_timestampsuser_space.png "packet_send_timestamps Graph") ![alt text](graphs/packet_send_timestampsuser_space.png "packet_send_timestamps Graph")
...@@ -50,13 +51,14 @@ Slate, 1000us, 0h2 | 1.0000us - 32.0000us | 12.0000us - 118.0000us ...@@ -50,13 +51,14 @@ Slate, 1000us, 0h2 | 1.0000us - 32.0000us | 12.0000us - 118.0000us
An UDP packet is periodically sent from one board to another using a real time thread. The receiving board uses the SO_TIMESTAMPING option to see when the packet entered the kernel, and generates timestamps with clock_gettime once the packets enters userspace to compute the time the packet spent in kernel and user space. An UDP packet is periodically sent from one board to another using a real time thread. The receiving board uses the SO_TIMESTAMPING option to see when the packet entered the kernel, and generates timestamps with clock_gettime once the packets enters userspace to compute the time the packet spent in kernel and user space.
**Common test metadata:** Board name: Slate, Linux kernel version: 4.19, Boot Parameters: isolcpus, ETF qdisc delta: 200us, Task priority: 99, Device and processor load: ssh, qdisc: pfifo_fast **Common test metadata:** Linux kernel version: 4.19, Boot Parameters: isolcpus, Task priority: 99, Device and processor load: ssh
Metadata | Min | Max | Avg | Var Metadata | Min | Max | Avg | Var
--------------- | ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- ---------------------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | -----------------------------
**i, duration** | **user_space - kernel_space** | **user_space - kernel_space** | **user_space - kernel_space** | **user_space - kernel_space** **i, duration, board, delta, qdisc** | **user_space - kernel_space** | **user_space - kernel_space** | **user_space - kernel_space** | **user_space - kernel_space**
100000us, 0h17 | 0.0000us - 44.0000us | 26.0000us - 142.0000us | 0.1151us - 55.4212us | 0.1646us - 58.2870us 100000us, 0h17, Slate, 200us, pfifo_fast | 0.0000us - 44.0000us | 26.0000us - 142.0000us | 0.1151us - 55.4212us | 0.1646us - 58.2870us
1000us, 16h48 | 0.0000us - 35.0000us | 41.0000us - 233.0000us | 0.0036us - 41.5560us | 0.0521us - 27.0303us 1000us, 16h48, Slate, 200us, pfifo_fast | 0.0000us - 35.0000us | 41.0000us - 233.0000us | 0.0036us - 41.5560us | 0.0521us - 27.0303us
1000us, 72h24, Emerald, 160us, etf | 0.0000us - 41.0000us | 42.0000us - 291.0000us | 0.0235us - 50.7618us | 0.1085us - 55.3431us
![alt text](graphs/packet_recv_timestampsuser_space.png "packet_recv_timestamps Graph") ![alt text](graphs/packet_recv_timestampsuser_space.png "packet_recv_timestamps Graph")
...@@ -66,14 +68,15 @@ Metadata | Min | Max ...@@ -66,14 +68,15 @@ Metadata | Min | Max
An UDP packet is periodically sent from one board to another using a real time thread. The receiving board calculates the intervals between the packets it receives, and sees how much it differs from the scheduled interval. An UDP packet is periodically sent from one board to another using a real time thread. The receiving board calculates the intervals between the packets it receives, and sees how much it differs from the scheduled interval.
**Common test metadata:** Board name: Slate, Linux kernel version: 4.19, Boot Parameters: isolcpus, ETF qdisc delta: 200us, Task priority: 99, Device and processor load: ssh, qdisc: pfifo_fast **Common test metadata:** Linux kernel version: 4.19, Boot Parameters: isolcpus, Task priority: 99, Device and processor load: ssh
Metadata | Min | Max | Avg | Var Metadata | Min | Max | Avg | Var
--------------- | ----------- | ---------- | ---------- | ---------- ---------------------------------------- | ----------- | ---------- | ---------- | ----------
**i, duration** | **jitter** | **jitter** | **jitter** | **jitter** **i, duration, board, delta, qdisc** | **jitter** | **jitter** | **jitter** | **jitter**
100000us, 0h17 | -139.0000us | 147.0000us | 10.4314us | 252.7494us 100000us, 0h17, Slate, 200us, pfifo_fast | -139.0000us | 147.0000us | 10.4314us | 252.7494us
1000us, 0h1 | -140.0000us | 142.0000us | 5.1925us | 50.2992us 1000us, 0h1, Slate, 200us, pfifo_fast | -140.0000us | 142.0000us | 5.1925us | 50.2992us
1000us, 16h48 | -434.0000us | 237.0000us | 6.9930us | 81.8093us 1000us, 16h48, Slate, 200us, pfifo_fast | -434.0000us | 237.0000us | 6.9930us | 81.8093us
1000us, 72h24, Emerald, 160us, etf | -397.0000us | 369.0000us | 7.4514us | 155.0147us
![alt text](graphs/packet_jitterjitter.png "packet_jitter Graph") ![alt text](graphs/packet_jitterjitter.png "packet_jitter Graph")
......
{"cyclictest_wake-up_latency": {"ids": [25, 26, 28, 30], "next_id": 31}, "packet_send_timestamps": {"ids": [0, 5, 6], "next_id": 7}, "packet_recv_timestamps": {"ids": [0, 1], "next_id": 2}, "packet_jitter": {"ids": [0, 2, 3], "next_id": 4}, "packet_rtt": {"ids": [0], "next_id": 1}} {"cyclictest_wake-up_latency": {"ids": [25, 26, 28, 30], "next_id": 31}, "packet_send_timestamps": {"ids": [0, 5, 6, 7], "next_id": 8}, "packet_recv_timestamps": {"ids": [0, 1, 2], "next_id": 3}, "packet_jitter": {"ids": [0, 2, 3, 4], "next_id": 5}, "packet_rtt": {"ids": [0], "next_id": 1}}
\ No newline at end of file \ No newline at end of file
{"measure_sets": [{"measure_type": "packet_jitter", "props_names": ["jitter"], "units": ["us"], "middle": 397, "props": [[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 2, 0, 0, 1, 0, 3, 2, 1, 0, 0, 1, 1, 0, 0, 6, 1, 1, 0, 2, 0, 3, 1, 1, 0, 1, 0, 0, 4, 2, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 1, 2, 0, 1, 0, 0, 1, 2, 2, 1, 1, 3, 1, 2, 4, 3, 6, 5, 4, 2, 3, 2, 4, 4, 2, 5, 4, 4, 6, 3, 9, 4, 5, 7, 7, 8, 13, 14, 14, 11, 27, 23, 19, 22, 43, 37, 49, 41, 60, 47, 63, 78, 83, 92, 81, 100, 104, 85, 106, 98, 114, 115, 144, 110, 104, 116, 108, 122, 120, 125, 113, 94, 100, 85, 78, 94, 103, 74, 77, 73, 74, 89, 88, 68, 57, 58, 55, 58, 69, 63, 68, 46, 45, 48, 44, 47, 52, 47, 43, 45, 48, 51, 52, 51, 56, 53, 70, 57, 79, 67, 79, 121, 122, 117, 159, 134, 175, 191, 215, 249, 298, 332, 355, 401, 425, 547, 626, 656, 701, 898, 906, 1149, 1230, 1359, 1623, 1792, 2185, 2701, 3134, 3917, 4908, 5895, 7485, 9526, 12004, 14704, 18801, 23054, 28332, 34779, 41323, 48711, 58315, 69147, 82063, 96702, 112023, 128096, 141958, 150851, 155069, 151843, 270435, 109695, 92734, 76560, 63060, 53345, 46276, 40771, 36594, 33296, 30915, 28963, 26963, 25660, 24316, 23084, 21894, 20508, 18798, 16885, 14693, 12930, 11288, 9803, 8662, 7414, 6473, 5498, 4976, 4169, 3578, 3024, 2588, 2212, 1961, 1630, 1375, 1219, 1038, 966, 839, 745, 649, 567, 492, 430, 407, 330, 331, 275, 247, 269, 206, 182, 151, 161, 148, 110, 132, 87, 105, 98, 86, 86, 68, 58, 62, 50, 48, 50, 42, 38, 37, 32, 29, 35, 24, 34, 21, 33, 32, 27, 33, 18, 31, 31, 38, 33, 31, 29, 18, 30, 37, 36, 39, 29, 23, 21, 19, 24, 32, 26, 24, 20, 21, 25, 22, 19, 28, 28, 40, 39, 49, 53, 40, 55, 53, 59, 64, 69, 87, 89, 84, 78, 97, 93, 116, 100, 105, 105, 136, 123, 132, 138, 134, 127, 113, 108, 122, 125, 118, 93, 116, 100, 81, 78, 85, 59, 66, 64, 48, 39, 41, 26, 35, 34, 35, 35, 27, 18, 22, 17, 12, 15, 17, 16, 15, 13, 7, 9, 8, 8, 10, 3, 4, 6, 2, 6, 5, 10, 4, 5, 4, 5, 4, 5, 8, 8, 6, 3, 4, 2, 2, 3, 1, 3, 1, 1, 3, 2, 0, 4, 1, 2, 2, 1, 2, 2, 1, 2, 2, 3, 0, 0, 1, 1, 2, 3, 0, 0, 2, 1, 1, 1, 0, 1, 2, 0, 2, 0, 2, 0, 6, 2, 1, 1, 1, 2, 3, 0, 1, 0, 1, 1, 3, 0, 2, 1, 0, 3, 2, 0, 1, 0, 1, 3, 0, 0, 0, 1, 0, 1, 1, 4, 0, 2, 1, 1, 3, 2, 2, 2, 1, 1, 1, 2, 3, 0, 3, 1, 0, 3, 3, 1, 2, 1, 1, 0, 0, 2, 0, 0, 1, 0, 3, 0, 2, 2, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0]], "props_type": "histogram", "metadata": {"board": "Emerald", "ker": "4.19", "boot_p": "isolcpus", "i": "1000us", "delta": "160us", "prio": "99", "load": "ssh", "duration": "72h24", "qdisc": "etf"}}]}
\ No newline at end of file
{"measure_sets": [{"measure_type": "packet_recv_timestamps", "props_names": ["user_space", "kernel_space"], "units": ["us", "us"], "middle": 0, "props": [[2555414, 50531, 565, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 34, 77, 99, 65, 49, 26, 12, 12, 4, 1, 1, 2, 1, 0, 3, 1, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1504, 18008, 84995, 204420, 311580, 341002, 299012, 237628, 179889, 138282, 107522, 87712, 78064, 75428, 74175, 68558, 58960, 46799, 35542, 25870, 18894, 14320, 11004, 8809, 7164, 5972, 5088, 4436, 4326, 4193, 4095, 4031, 3554, 3243, 2989, 2573, 2269, 2197, 1915, 1741, 1603, 1452, 1395, 1272, 1127, 947, 832, 715, 606, 500, 461, 386, 283, 255, 231, 203, 181, 192, 159, 161, 109, 131, 104, 88, 94, 61, 54, 56, 52, 40, 27, 23, 30, 25, 41, 48, 44, 57, 58, 80, 108, 114, 146, 141, 210, 259, 298, 310, 347, 345, 364, 312, 274, 183, 157, 110, 79, 65, 44, 42, 37, 49, 16, 35, 19, 19, 20, 18, 18, 15, 9, 12, 10, 11, 9, 12, 13, 14, 12, 18, 18, 18, 16, 18, 28, 24, 23, 15, 23, 15, 12, 18, 14, 15, 20, 19, 22, 18, 15, 26, 22, 16, 19, 21, 17, 14, 20, 19, 16, 9, 9, 13, 3, 5, 2, 6, 10, 8, 5, 0, 4, 4, 2, 1, 3, 2, 5, 3, 3, 2, 0, 0, 1, 0, 0, 0, 0, 2, 2, 0, 0, 2, 2, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]], "props_type": "histogram", "metadata": {"board": "Emerald", "ker": "4.19", "boot_p": "isolcpus", "i": "1000us", "delta": "160us", "prio": "99", "load": "ssh", "duration": "72h24", "qdisc": "etf"}}]}
{"measure_sets": [{"measure_type": "packet_send_timestamps", "props_names": ["user_space", "kernel_space"], "units": ["us", "us"], "middle": 0, "props": [[0, 85, 1216, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 35, 224, 395, 286, 160, 92, 46, 21, 18, 4, 7, 5, 1, 1, 3, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], "props_type": "histogram", "metadata": {"board": "Onyx", "ker": "4.19", "boot_p": "isolcpus", "i": "1000us", "delta": "160us", "prio": "99", "load": "ssh", "duration": "72h24", "qdisc": "etf"}}]}
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment