Env var parser now uses eval(); corrected papermill titles

This commit is contained in:
Maximilian Schmeller 2022-09-16 19:31:50 +02:00
parent c711cf488d
commit c8a88fc785
2 changed files with 23 additions and 26 deletions

View file

@ -1,3 +1,4 @@
import ast
import hashlib
import json
import os
@ -26,13 +27,9 @@ def stable_hash(obj):
return hashlib.md5(json.dumps(obj).encode("utf-8")).hexdigest()[:10]
def parse_as(type, string):
if any(issubclass(type, type2) for type2 in (str, bool, float, int)):
return type(string)
if issubclass(type, list) or issubclass(type, dict) or issubclass(type, set):
val = json.loads(string)
return type(val)
raise ValueError(f"Unknown type {type.__name__}")
def parse_as(target_type, string):
obj = ast.literal_eval(string)
return target_type(obj)
def cached(name, function, file_deps: List[str], disable_cache=False):

View file

@ -5,7 +5,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Importing libraries\n",
"#papermill_description=\"Importing libraries\"\n",
"import os\n",
"import sys\n",
"import re\n",
@ -41,7 +41,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Parsing user settings\n",
"#papermill_description=\"Parsing user settings\"\n",
"##################################################\n",
"# User Settings\n",
"##################################################\n",
@ -167,7 +167,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Importing system-dependent libraries\n",
"#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",
@ -202,7 +202,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Loading traces\n",
"#papermill_description=\"Loading traces\"\n",
"\n",
"def _load_traces():\n",
" file = load_file(TR_PATH)\n",
@ -234,7 +234,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Printing message counts\n",
"#papermill_description=\"Printing message counts\"\n",
"\n",
"for topic in sorted(topics, key=lambda t: t.name):\n",
" topic: TrTopic\n",
@ -264,7 +264,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Building latency graph\n",
"#papermill_description=\"Building latency graph\"\n",
"\n",
"from latency_graph import latency_graph as lg\n",
"\n",
@ -287,7 +287,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Plotting full data flow graph\n",
"#papermill_description=\"Plotting full data flow graph\"\n",
"\n",
"%%skip_if_false DFG_ENABLED\n",
"%%skip_if_false DFG_PLOT\n",
@ -387,7 +387,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Plotting high-level data flow graph\n",
"#papermill_description=\"Plotting high-level data flow graph\"\n",
"\n",
"%%skip_if_false DFG_ENABLED\n",
"%%skip_if_false DFG_PLOT\n",
@ -522,7 +522,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Defining tree helper functions\n",
"#papermill_description=\"Defining tree helper functions\"\n",
"\n",
"%%skip_if_false E2E_ENABLED\n",
"\n",
@ -691,7 +691,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Building message trees\n",
"#papermill_description=\"Building message trees\"\n",
"\n",
"%%skip_if_false E2E_ENABLED\n",
"\n",
@ -730,7 +730,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Parsing message stats\n",
"#papermill_description=\"Parsing message stats\"\n",
"\n",
"%%skip_if_false E2E_ENABLED\n",
"%%skip_if_false BW_ENABLED\n",
@ -793,7 +793,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Calculating E2E latencies\n",
"#papermill_description=\"Calculating E2E latencies\"\n",
"\n",
"%%skip_if_false E2E_ENABLED\n",
"\n",
@ -867,7 +867,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Animating latency distribution over time\n",
"#papermill_description=\"Animating latency distribution over time\"\n",
"\n",
"#from matplotlib.animation import FuncAnimation\n",
"#from IPython import display\n",
@ -920,7 +920,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Plotting E2E latencies\n",
"#papermill_description=\"Plotting E2E latencies\"\n",
"\n",
"%%skip_if_false E2E_ENABLED\n",
"%%skip_if_false E2E_PLOT\n",
@ -974,7 +974,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Decimating irrelevant trees\n",
"#papermill_description=\"Decimating irrelevant trees\"\n",
"\n",
"%%skip_if_false E2E_ENABLED\n",
"\n",
@ -1042,7 +1042,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Plotting E2E latency breakdown\n",
"#papermill_description=\"Plotting E2E latency breakdown\"\n",
"\n",
"%%skip_if_false E2E_ENABLED\n",
"%%skip_if_false E2E_PLOT\n",
@ -1138,7 +1138,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Plotting E2E distribution\n",
"#papermill_description=\"Plotting E2E distribution\"\n",
"\n",
"\n",
"%%skip_if_false E2E_ENABLED\n",
@ -1178,7 +1178,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Visualizing E2E tree\n",
"#papermill_description=\"Visualizing E2E tree\"\n",
"\n",
"%%skip_if_false E2E_ENABLED\n",
"%%skip_if_false E2E_PLOT\n",
@ -1382,7 +1382,7 @@
"execution_count": null,
"outputs": [],
"source": [
"#papermill_description=Finding top critical paths\n",
"#papermill_description=\"Finding top critical paths\"\n",
"\n",
"%%skip_if_false E2E_ENABLED\n",
"\n",