Core and the app · crate
kinogaki-spans
Timed spans of Studio's own work: where a frame, a cook or a render sync spends its time, without an instrumented build.
- Repository
- Core and the app (kinogaki/studio-core)
- Folder
studio/core/spans- Source
- 1 file, 208 lines
- Tests
- 0 files, 0 lines
What it is
Timed spans of Studio's own work: where a frame, a cook or a render sync spends its time, without an instrumented build.
A span is a guard (span) timing the code until it drops, under a static name ("frame.panes", "cook.prepare"). Off, a span reads one atomic and records nothing; on, it adds its time to its name's Summary. They are off unless KINOGAKI_SPANS is set (to anything but 0) when the first span starts, or a measurement turns them on (record).
What was recorded is taken as one summary a name (take): how many, the total, and the median, the 95th percentile and the longest of the last KEPT times. A measurement prints them as its MEASURE lines (report), which check_all.py --measure keeps in its record; the latency workloads add each span's median to their LATENCY line's phases.
Depends on
None.
Third-party
None.
Used by
| Crate | Repository | As | What it is |
|---|---|---|---|
kinogaki-editor | Core and the app | normal | Kinogaki Studio's editor: the document and everything the window shows of it, as parts one frame borrows one by one. |
kinogaki-geometry-view | Core and the app | normal | Geometry, curves and B-reps in the viewport, independent of any GPU API: the SDK's standard values as surface packets (over the SDK's display triangulation and shading normals, so Solid draws what Render renders), the one picker that answers rays and boxes ... |
kinogaki-harness | Core and the app | normal | Studio's test harness: the real editor, its event routing and its background work, driven offscreen with only the packages a test names. |
kinogaki-scene | Core and the app | normal | Studio's scene: the document cooked object by object. |
Modules
One file: the crate root.
Public types and traits
At the crate root
Structs SpanSummary
Besides these, 5 public functions at module level.
