diff --git a/trace-analysis.ipynb b/trace-analysis.ipynb index e0136ba..3aa92b9 100644 --- a/trace-analysis.ipynb +++ b/trace-analysis.ipynb @@ -121,6 +121,11 @@ "# E.g. r\"^/sensing/\" will cover all sensing topics\n", "E2E_INPUT_TOPIC_PATTERNS = [r\"^/vehicle/status/\", r\"^/sensing/\"]\n", "\n", + "# E2E paths are uniquely identified by a string like \"/topic/1 -> void(Node1)(args1) -> /topic/2 -> void(Node2)(args2) -> void(Node2)(args3) -> ...\".\n", + "# Certain patterns only occur in initial setup or in scenario switching and can be excluded via RegEx patterns here.\n", + "E2E_EXCLUDED_PATH_PATTERNS = [r\"NDTScanMatcher\"]\n", + "\n", + "\n", "# This code overrides the above constants with environment variables, do not edit.\n", "for env_key, env_value in os.environ.items():\n", " if env_key.startswith(\"ANA_NB_\"):\n", @@ -1371,6 +1376,9 @@ " dur_str = colored(f\"{duration * 1000 :>.3f}ms\", colors[E2E_PLOT_TIMESTAMP])\n", " print(f\" -> {dur_str} {part}\")\n", "\n", + "# Filter out excluded path patterns\n", + "out_df = out_df[~out_df[\"path\"].apply(lambda path: any(re.search(f, path) for f in E2E_EXCLUDED_PATH_PATTERNS))]\n", + "\n", "out_df.to_csv(os.path.join(OUT_PATH, \"e2e.csv\"), sep=\"\\t\", index=False)\n" ], "metadata": {