Core and the app · crate

kinogaki-spans

Core

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
depends onused by tests alonedependencies for tests alone are listed below, not drawn

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

CrateRepositoryAsWhat it is
kinogaki-editorCore and the appnormalKinogaki Studio's editor: the document and everything the window shows of it, as parts one frame borrows one by one.
kinogaki-geometry-viewCore and the appnormalGeometry, 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-harnessCore and the appnormalStudio's test harness: the real editor, its event routing and its background work, driven offscreen with only the packages a test names.
kinogaki-sceneCore and the appnormalStudio'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.