feat(html): added interactive html profiles

This commit is contained in:
2026-03-25 07:31:14 -04:00
parent aef19e99fa
commit e856554f97
6 changed files with 311 additions and 3 deletions

View File

@@ -24,12 +24,13 @@ strata <input_file> --mode <MODE> [OPTIONS]
- `flat-symbol`: Aggregates the observed weights by the resolved symbol name, irrespective of the call path context, yielding a flat percentage summary.
- `namespace`: Aggregates observed weights by namespace exclusively.
### Filtering Options
Strata supports the refinement of the call graph through three primary filtering mechanisms. When nodes are filtered from the reporting view, their weights are correctly collapsed into the nearest visible ancestor to ensure strict weight conservation.
### Filtering and Output Options
Strata supports the refinement of the call graph through three primary filtering mechanisms, as well as an interactive HTML output capability.
- `--whitelist <namespaces>`: Only the specified namespaces remain visible in the output hierarchy.
- `--blacklist <namespaces>`: The specified namespaces are removed from explicit representation, with their weights folded upward.
- `--fold <substrings>`: Halts traversal at the first node whose literal frame matches the provided substring. The internal operations of that subtree are hidden, and all inclusive weights descending from that node are strictly rolled up into its exclusive weight.
- `--graph <FILE_PATH.html>`: Generates a self-contained, interactive `D3.js` HTML report. If the mode is set to `tree`, it produces a panning, zooming Node-Link Collapsible Tree visualizer. For `flat-symbol` or `namespace` modes, it generates an interactive bar chart.
## Development Context and Methodology
This software was constructed through iterative interactions with a generative artificial intelligence coding assistant. It serves primarily as an experimental test case for the author to evaluate the feasibility of AI-driven software engineering in systems tooling.