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:
def __str__(self):
s = "List of measures:\n\n"
id_strs = []
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
def save(self):
......@@ -94,12 +103,24 @@ class MeasureSetHandler:
print("Saved measure as {}{}".format(mtype, next_id))
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)
measure_file_name = "{}/{}{}.json".format(MeasureSetHandler.measures_dir, mtype, mid)
os.remove(measure_file_name)
self.save()
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):
for mtype in self.measure_sets:
......@@ -543,6 +564,19 @@ class MeasureSet:
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():
parser = argparse
parser = argparse.ArgumentParser(description='Measure analysis')
......@@ -550,6 +584,7 @@ def parse_args():
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-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('-R', action='store_true', required=False, help='generate full measure report')
parser.add_argument('-G', action='store_true', required=False, help='generate all graphs')
......@@ -560,18 +595,15 @@ def parse_args():
ms_handler = MeasureSetHandler()
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)
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.c:
......@@ -598,6 +630,6 @@ def parse_args():
ms_handler.remove_all()
if args.s:
print( ms_handler)
print(ms_handler)
parse_args()
......@@ -33,14 +33,15 @@ Emerald, 24h, ssh | 12.0000us | 80.0000us | 15.4101u
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
---------------------- | ----------------------------- | ----------------------------- | ----------------------------- | -----------------------------
**board, i, duration** | **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
Slate, 1000us, 1h00 | 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
--------------------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | -----------------------------
**board, i, duration, delta, qdisc** | **user_space - kernel_space** | **user_space - kernel_space** | **user_space - kernel_space** | **user_space - kernel_space**
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, 200us, pfifo_fast | 1.0000us - 32.0000us | 12.0000us - 222.0000us | 2.0360us - 36.6218us | 0.0493us - 9.1563us
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")
......@@ -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.
**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
--------------- | ----------------------------- | ----------------------------- | ----------------------------- | -----------------------------
**i, duration** | **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
1000us, 16h48 | 0.0000us - 35.0000us | 41.0000us - 233.0000us | 0.0036us - 41.5560us | 0.0521us - 27.0303us
---------------------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | -----------------------------
**i, duration, board, delta, qdisc** | **user_space - kernel_space** | **user_space - kernel_space** | **user_space - kernel_space** | **user_space - kernel_space**
100000us, 0h17, Slate, 200us, pfifo_fast | 0.0000us - 44.0000us | 26.0000us - 142.0000us | 0.1151us - 55.4212us | 0.1646us - 58.2870us
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")
......@@ -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.
**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
--------------- | ----------- | ---------- | ---------- | ----------
**i, duration** | **jitter** | **jitter** | **jitter** | **jitter**
100000us, 0h17 | -139.0000us | 147.0000us | 10.4314us | 252.7494us
1000us, 0h1 | -140.0000us | 142.0000us | 5.1925us | 50.2992us
1000us, 16h48 | -434.0000us | 237.0000us | 6.9930us | 81.8093us
---------------------------------------- | ----------- | ---------- | ---------- | ----------
**i, duration, board, delta, qdisc** | **jitter** | **jitter** | **jitter** | **jitter**
100000us, 0h17, Slate, 200us, pfifo_fast | -139.0000us | 147.0000us | 10.4314us | 252.7494us
1000us, 0h1, Slate, 200us, pfifo_fast | -140.0000us | 142.0000us | 5.1925us | 50.2992us
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")
......
{"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}}
\ No newline at end of file
{"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
{"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