Skip to content

Commit 8b0f41b

Browse files
docs: add Firmament2 instrumentation map
1 parent 9d29767 commit 8b0f41b

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

INSTRUMENTATION.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Firmament2 Instrumentation
2+
3+
Gates:
4+
- `FIRMAMENT2_ENABLE=1` # emit events
5+
- `FIRMAMENT2_INCLUDE_CODE_META=1` # include metadata in CODE_* events
6+
7+
Emitters:
8+
- Tokenizer: Parser/lexer/lexer.c → `emit_tokenizer_event_json` via `_PyTokenizer_Get`
9+
- AST: Parser/asdl_c.py → Python/Python-ast.c → `emit_ast_event_json`
10+
- Source scope: Python/compile.c & Python/pythonrun.c → `_firm2_source_begin/_end`
11+
- Code lifecycle: Objects/codeobject.c → `_firm2_emit_code_create_meta/_destroy_meta` (+ `co_extra` provenance)
12+
- Frame lifecycle: Python/ceval.c → `_firm2_emit_frame_event`
13+
- Common envelope everywhere: `event_id`, `pid`, `tid`, `ts_ns`

0 commit comments

Comments
 (0)