Skip to content

PerfCheckerTachikoma full API ​

This reference renders the actual Julia docstrings of PerfCheckerTachikoma 1.0.1 with Core from the selected source revision. The optional Makie extension is loaded for the actual plot_pixels method inventory. No terminal, job, figure or measurement is started.

The public API contains exported entry points. Full API also includes documented internal bindings.

PerfCheckerTachikoma.PerfCheckerTachikoma Module

An optional terminal interface for existing PerfChecker suite jobs and evidence. Load PerfCheckerTachikoma explicitly; it does not add a terminal dependency to PerfChecker itself. Constructing a model starts no measurement or terminal.

source

Index ​

Docstrings ​

PerfCheckerTachikoma.SuiteTUI Type
julia
SuiteTUI

Tachikoma model returned by tui_model. Selection contains canonical planned-run identities, and the single active job remains owned until cleanup finishes. Use Tachikoma.update! for events, refresh! for nonblocking polling and close! to cancel and await a job outside an app loop.

source
PerfCheckerTachikoma.close! Method
julia
close!(model::SuiteTUI)

Request cancellation and wait for the owned measurement job and pending plot. Only InterruptException (successful cancellation) is suppressed; cleanup or orchestration failures propagate. Repeated closes are safe. Call this from finally when embedding a model outside the terminal application.

julia
model = tui_model(plan)
try
    Tachikoma.update!(model, Tachikoma.KeyEvent('r'))
    refresh!(model)
finally
    close!(model)
end
source
PerfCheckerTachikoma.plot_pixels Function
julia
plot_pixels(bundle::RunBundle, plot_id; size=(800, 480))

Return (rgba, width, height) for a plot of saved evidence, without rerunning a workload. Load PerfCheckerMakie and a Makie backend such as CairoMakie to enable this optional method. RGBA bytes are in Tachikoma's row-major order. The terminal interface uses UnicodePlots when pixel graphics are unavailable. size is the Makie scene size; returned dimensions include the active backend's pixel scale and always describe the actual RGBA buffer.

julia
using PerfChecker, PerfCheckerTachikoma, PerfCheckerMakie, CairoMakie
bundle = read_run_bundle("reports/run")
entry = first(plot_catalog(bundle))
pixels = plot_pixels(bundle, entry["id"])
source
PerfCheckerTachikoma.refresh! Method
julia
refresh!(model::SuiteTUI)

Poll the existing job and pending plot without waiting. Completed jobs are read with wait_suite(strict=false) only after their controller task has finished; feature failures remain visible. Rendering never starts or waits for a worker.

source
PerfCheckerTachikoma.tui Method
julia
tui(input; fps=20, kwargs...)

Open Tachikoma for a SuiteTUI, suite, plan or saved evidence. R starts the selected suite; C cancels; Q/Escape waits for owned worker cleanup before exit. Pass app keywords such as io, input and tty_size to embed the app in an isolated terminal. Model construction options belong to tui_model.

julia
using PerfChecker, PerfCheckerTachikoma
model = tui_model(plan_suite(load_software_suite("perf/suite.jl")))
tui(model)                         # explicit interactive terminal session
tui(read_run_bundle("reports/run")) # consult evidence without measuring
source
PerfCheckerTachikoma.tui_model Method
julia
tui_model(plan::SuitePlan; overrides=Dict{Symbol,Any}())
tui_model(suite::SoftwareSuite; profile=:quick, overrides=Dict{Symbol,Any}())
tui_model(result::SoftwareSuiteResult)
tui_model(bundle::RunBundle)

Prepare a terminal model without opening the terminal or starting workers. Plan rows start selected in their declared order; Space toggles the current row and R launches only the selected IDs using launch_suite. Result/bundle models are read-only and cannot launch a new measurement. Only completed evidence can be plotted. No report file is written automatically.

julia
using PerfChecker, PerfCheckerTachikoma
suite = load_software_suite("perf/suite.jl")
model = tui_model(plan_suite(suite))
saved = tui_model(read_run_bundle("reports/run"))
source

Open source · Report an issue · Contributions welcome