This commit is contained in:
Andreas Korb 2022-09-20 12:44:04 +02:00
parent 3e5f275565
commit 6e2aa18785

View file

@ -29,10 +29,7 @@
"%matplotlib inline"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -154,10 +151,7 @@
" print(f\" {k:.<40s} := {v}\")"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -176,10 +170,7 @@
"from matching.subscriptions import sanitize"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -188,10 +179,7 @@
"# Organize Trace Data"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
"collapsed": false
}
},
{
@ -219,10 +207,7 @@
"print(\"Done.\")"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -233,13 +218,22 @@
"\n",
"for topic in sorted(topics, key=lambda t: t.name):\n",
" topic: TrTopic\n",
" print(f\"{topic.name:.<120s} | {sum(map(lambda p: len(p.instances), topic.publishers))}\")"
" print(f\"{topic.name:.<120s} | {sum(map(lambda p: len(p.instances), topic.publishers))}\")\n",
"\n",
"print(\"\\n[ENTKÄFERN] INPUT TOPICS\")\n",
"for t in sorted(topics, key=lambda t: t.name):\n",
" for f in E2E_INPUT_TOPIC_PATTERNS:\n",
" if re.search(f, t.name):\n",
" print(f\"--[ENTKÄFERN] {f} :ß: {t.name}\")\n",
"\n",
"print(\"\\n[ENTKÄFERN] OUTPUT TOPICS\")\n",
"for t in sorted(topics, key=lambda t: t.name):\n",
" for f in E2E_OUTPUT_TOPIC_PATTERNS:\n",
" if re.search(f, t.name):\n",
" print(f\"--[ENTKÄFERN] {f} :ß: {t.name}\")"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -248,10 +242,7 @@
"# E2E Latency Calculation"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
"collapsed": false
}
},
{
@ -270,10 +261,7 @@
"lat_graph = cached(\"lat_graph\", _make_latency_graph, [TR_PATH], not CACHING_ENABLED)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -369,10 +357,7 @@
"g"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -503,10 +488,7 @@
"g"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -671,10 +653,7 @@
" return DepTree(inst, deps)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -710,10 +689,7 @@
" traceback.print_exc()"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -772,10 +748,7 @@
" 'max': parse_bytes(m.group(\"max\"))}\n"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -783,9 +756,10 @@
"execution_count": null,
"outputs": [],
"source": [
"\n",
"%%skip_if_false E2E_ENABLED\n",
"\n",
"from collections import defaultdict\n",
"\n",
"def leaf_topics(tree: DepTree, lvl=0):\n",
" ret_list = []\n",
" match tree.head:\n",
@ -812,6 +786,8 @@
" return ret_list\n",
"\n",
"\n",
"in_topics_found = set()\n",
"leaf_topics_found = defaultdict(lambda: 0)\n",
"def relevant_e2es(tree: DepTree, input_topic_patterns, t_start=None, path=None):\n",
" if t_start is None:\n",
" t_start = tree.head.timestamp\n",
@ -825,11 +801,12 @@
"\n",
" new_path = [tree.head] + path\n",
"\n",
" if not tree.deps:\n",
" match tree.head:\n",
" case TrPublishInstance(publisher=pub):\n",
" if pub and any(re.search(f, pub.topic_name) for f in input_topic_patterns):\n",
" return [(latency, new_path)]\n",
" match tree.head:\n",
" case TrPublishInstance(publisher=pub):\n",
" leaf_topics_found[pub.topic_name] += 1\n",
" if pub and any(re.search(f, pub.topic_name) for f in input_topic_patterns):\n",
" in_topics_found.add(pub.topic_name)\n",
" return [(latency, new_path)]\n",
"\n",
" ret_list = []\n",
" for dep in tree.deps:\n",
@ -840,15 +817,24 @@
"e2ess = []\n",
"e2e_pathss = []\n",
"for tree in trees:\n",
" e2es, e2e_paths = zip(*relevant_e2es(tree, E2E_INPUT_TOPIC_PATTERNS))\n",
" try:\n",
" e2es, e2e_paths = zip(*relevant_e2es(tree, E2E_INPUT_TOPIC_PATTERNS))\n",
" except ValueError as e:\n",
" print(e)\n",
" continue\n",
" e2ess.append(e2es)\n",
" e2e_pathss.append(e2e_paths)"
" e2e_pathss.append(e2e_paths)\n",
"\n",
"print(f\"[ENTKÄFERN] {len(e2ess)=} {len(trees)=}\")\n",
"in_topics_found = \"\\n \".join(in_topics_found)\n",
"print(f\" {in_topics_found}\")\n",
"\n",
"print(f\"[ENTKÄFERN]\")\n",
"leaf_topics_found = \"\\n \".join(map(lambda pair: f\"{pair[0]:.<110s} {pair[1]:>10d}\", leaf_topics_found.items()))\n",
"print(f\" {leaf_topics_found}\")"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -897,10 +883,7 @@
"# print(\"==================\")\n"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -950,10 +933,7 @@
"None"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -1017,10 +997,7 @@
"relevant_trees = [t for t in relevant_trees if t]"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -1112,10 +1089,7 @@
"None"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -1151,10 +1125,7 @@
"None"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -1339,10 +1310,7 @@
"print(len(y_labels))"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
},
{
@ -1354,10 +1322,7 @@
"Critical paths are abstracted by their E2E-latency and a list of passed CBs and topics.\n"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
"collapsed": false
}
},
{
@ -1445,10 +1410,7 @@
"out_df.to_csv(os.path.join(OUT_PATH, \"e2e.csv\"), sep=\"\\t\", index=False)\n"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
"collapsed": false
}
}
],