Papermill outputs, output all user settings
This commit is contained in:
parent
4fb32188d4
commit
55138d7c87
1 changed files with 45 additions and 17 deletions
|
@ -5,6 +5,7 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Importing libraries\n",
|
||||
"import os\n",
|
||||
"import sys\n",
|
||||
"import re\n",
|
||||
|
@ -40,6 +41,7 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Parsing user settings\n",
|
||||
"##################################################\n",
|
||||
"# User Settings\n",
|
||||
"##################################################\n",
|
||||
|
@ -145,7 +147,14 @@
|
|||
"BW_PATH = _expand_path(BW_PATH)\n",
|
||||
"CL_PATH = _expand_path(CL_PATH)\n",
|
||||
"\n",
|
||||
"os.makedirs(OUT_PATH, exist_ok=True)"
|
||||
"os.makedirs(OUT_PATH, exist_ok=True)\n",
|
||||
"\n",
|
||||
"print(\"User Settings:\")\n",
|
||||
"g = globals()\n",
|
||||
"for k, v in g.items():\n",
|
||||
" if not k.isupper():\n",
|
||||
" continue\n",
|
||||
" print(f\" {k:.<40s} := {v}\")"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false,
|
||||
|
@ -159,6 +168,7 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Importing system-dependent libraries\n",
|
||||
"sys.path.append(os.path.join(TRACING_WS_BUILD_PATH, \"tracetools_read/\"))\n",
|
||||
"sys.path.append(os.path.join(TRACING_WS_BUILD_PATH, \"tracetools_analysis/\"))\n",
|
||||
"from tracetools_read.trace import *\n",
|
||||
|
@ -193,6 +203,8 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Loading traces\n",
|
||||
"\n",
|
||||
"def _load_traces():\n",
|
||||
" file = load_file(TR_PATH)\n",
|
||||
" handler = Ros2Handler.process(file)\n",
|
||||
|
@ -223,6 +235,8 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Printing message counts\n",
|
||||
"\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))}\")"
|
||||
|
@ -251,6 +265,8 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Building latency graph\n",
|
||||
"\n",
|
||||
"from latency_graph import latency_graph as lg\n",
|
||||
"\n",
|
||||
"\n",
|
||||
|
@ -272,6 +288,8 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Plotting full data flow graph\n",
|
||||
"\n",
|
||||
"%%skip_if_false DFG_ENABLED\n",
|
||||
"%%skip_if_false DFG_PLOT\n",
|
||||
"\n",
|
||||
|
@ -370,6 +388,8 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Plotting high-level data flow graph\n",
|
||||
"\n",
|
||||
"%%skip_if_false DFG_ENABLED\n",
|
||||
"%%skip_if_false DFG_PLOT\n",
|
||||
"\n",
|
||||
|
@ -503,6 +523,8 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Defining tree helper functions\n",
|
||||
"\n",
|
||||
"%%skip_if_false E2E_ENABLED\n",
|
||||
"\n",
|
||||
"\n",
|
||||
|
@ -670,6 +692,8 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Building message trees\n",
|
||||
"\n",
|
||||
"%%skip_if_false E2E_ENABLED\n",
|
||||
"\n",
|
||||
"end_topics = [t for t in _tracing_context.topics if any(re.search(f, t.name) for f in E2E_OUTPUT_TOPIC_PATTERNS)]\n",
|
||||
|
@ -707,6 +731,8 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Parsing message stats\n",
|
||||
"\n",
|
||||
"%%skip_if_false E2E_ENABLED\n",
|
||||
"%%skip_if_false BW_ENABLED\n",
|
||||
"\n",
|
||||
|
@ -768,6 +794,8 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Calculating E2E latencies\n",
|
||||
"\n",
|
||||
"%%skip_if_false E2E_ENABLED\n",
|
||||
"\n",
|
||||
"def leaf_topics(tree: DepTree, lvl=0):\n",
|
||||
|
@ -840,6 +868,8 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Animating latency distribution over time\n",
|
||||
"\n",
|
||||
"#from matplotlib.animation import FuncAnimation\n",
|
||||
"#from IPython import display\n",
|
||||
"\n",
|
||||
|
@ -891,6 +921,8 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Plotting E2E latencies\n",
|
||||
"\n",
|
||||
"%%skip_if_false E2E_ENABLED\n",
|
||||
"%%skip_if_false E2E_PLOT\n",
|
||||
"\n",
|
||||
|
@ -943,6 +975,8 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Decimating irrelevant trees\n",
|
||||
"\n",
|
||||
"%%skip_if_false E2E_ENABLED\n",
|
||||
"\n",
|
||||
"def critical_path(self):\n",
|
||||
|
@ -1009,12 +1043,11 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Plotting E2E latency breakdown\n",
|
||||
"\n",
|
||||
"%%skip_if_false E2E_ENABLED\n",
|
||||
"%%skip_if_false E2E_PLOT\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"def dict_safe_append(dictionary, key, value):\n",
|
||||
" if key not in dictionary:\n",
|
||||
" dictionary[key] = []\n",
|
||||
|
@ -1106,6 +1139,9 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Plotting E2E distribution\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"%%skip_if_false E2E_ENABLED\n",
|
||||
"%%skip_if_false E2E_PLOT\n",
|
||||
"\n",
|
||||
|
@ -1143,6 +1179,8 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Visualizing E2E tree\n",
|
||||
"\n",
|
||||
"%%skip_if_false E2E_ENABLED\n",
|
||||
"%%skip_if_false E2E_PLOT\n",
|
||||
"\n",
|
||||
|
@ -1345,6 +1383,8 @@
|
|||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#papermill_description=Finding top critical paths\n",
|
||||
"\n",
|
||||
"%%skip_if_false E2E_ENABLED\n",
|
||||
"\n",
|
||||
"critical_paths = {}\n",
|
||||
|
@ -1421,7 +1461,7 @@
|
|||
" dur_str = colored(f\"{duration * 1000 :>.3f}ms\", colors[E2E_PLOT_TIMESTAMP])\n",
|
||||
" print(f\" -> {dur_str} {part}\")\n",
|
||||
"\n",
|
||||
"out_df.to_csv(os.path.join(OUT_PATH, \"e2e.csv\"), sep=\"\\t\", index=False)"
|
||||
"out_df.to_csv(os.path.join(OUT_PATH, \"e2e.csv\"), sep=\"\\t\", index=False)\n"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false,
|
||||
|
@ -1429,18 +1469,6 @@
|
|||
"name": "#%%\n"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [],
|
||||
"metadata": {
|
||||
"collapsed": false,
|
||||
"pycharm": {
|
||||
"name": "#%%\n"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue