Flatten the execution graph captured in a SupervisedSession (from
train()) into a timeline (Gantt) table: one row per recorded node, ordered
as a depth-first walk of the execution tree, with start/end offsets in
milliseconds from session start.
Value
data.table with one row per node in depth-first order and columns:
labelCharacter: Unique display label, indented two spaces per tree depth (duplicates disambiguated with" #<n>"suffixes).startNumeric: Node start, milliseconds from session start.endNumeric: Node end, milliseconds from session start.kindCharacter: Node kind (e.g."tune","grid_cell","train_alg").statusCharacter {"ok", "error", "aborted", "running"}: Node status.failedLogical:TRUEwhenstatusis"error"or"aborted".tipCharacter: Preformatted tooltip text ("name -- duration [status]").
Details
This is the single source of the tree-walk, labeling, and status logic for
timeline renderers. rtemis.server consumes it for the job.result
session slice, which the rtemislive web UI draws; pair it with
session_kind_colors() to color bars by node kind.
Nodes that never closed (status "running" or "aborted" with no end time)
are drawn up to the session finish time when known, else to the latest
recorded node start.
Examples
mod <- train(iris, hyperparameters = setup_CART())
#> 2026-08-09 13:22:42
#> Checking data is ready for training...
#>
#> ✔
#> [check_supervised]
#> 2026-08-09 13:22:42
#> ▶
#> [train]
#> 2026-08-09 13:22:42
#> Training set: 150 cases x 4 features.
#> [summarize_supervised]
#> 2026-08-09 13:22:42
#> // Max workers: c(system = 7) { Algorithm: 1; Tuning: 1; Outer Resampling: 1 }
#> [get_n_workers]
#> 2026-08-09 13:22:42
#> Training CART Classification...
#> [train]
#> 2026-08-09 13:22:42
#> Checking data is ready for training...
#>
#> ✔
#> [check_supervised]
#>
#> <Classification>
#> CART (Classification and Regression Trees)
#>
#> <Training Classification Metrics>
#> Predicted
#> Reference setosa versicolor virginica
#> setosa 50 0 0
#> versicolor 0 47 3
#> virginica 0 1 49
#>
#> Overall
#> Balanced Accuracy 0.973
#> F1 0.973
#> Accuracy 0.973
#> Setosa Versicolor Virginica
#> Sensitivity 1.000 0.940 0.980
#> Specificity 1.000 0.990 0.970
#> Balanced Accuracy 1.000 0.965 0.975
#> Ppv 1.000 0.979 0.942
#> Npv 1.000 0.971 0.990
#> F1 1.000 0.959 0.961
#>
#> 2026-08-09 13:22:42
#> Done in 0.05 seconds.
#> [train]
# One row per recorded node, depth-first: the run, then the steps under it.
session_timeline(mod@session)
#> label start end kind status failed
#> <char> <num> <num> <char> <char> <lgcl>
#> 1: train CART Classification 0.177145 45.65716 train ok FALSE
#> 2: train_alg CART 22.477150 29.11305 train_alg ok FALSE
#> 3: predict 29.124022 29.52909 predict ok FALSE
#> 4: varimp CART 34.794092 35.16316 varimp ok FALSE
#> 5: metrics 35.170078 45.62402 metrics ok FALSE
#> tip
#> <char>
#> 1: train CART Classification—45 ms [ok]
#> 2: train_alg CART—7 ms [ok]
#> 3: predict—<0.5 ms [ok]
#> 4: varimp CART—<0.5 ms [ok]
#> 5: metrics—10 ms [ok]