Skip to contents

as_dsprrr_traces() reshapes vitals samples (from a Task's $get_samples() or from as_vitals_samples()) into the traces format, so that summarize_traces_df() and other trace tools can analyze them.

Usage

as_dsprrr_traces(samples, include_prompts = TRUE, include_outputs = TRUE)

Arguments

samples

A samples tibble.

include_prompts

Whether to add a prompt column from input (default TRUE).

include_outputs

Whether to add an output list-column from result (default TRUE).

Value

A tibble with columns timestamp, latency_ms, input_tokens, output_tokens, total_tokens, cost, model and prompt_length, plus prompt and output when requested.

Details

Latency, token counts, cost and timestamp are read from the solver_metadata (or metadata) list-column; missing values are NA and missing timestamps are set to the current time.

Examples

samples <- as_vitals_samples(tibble::tibble(
  prompt = "question: What is 2+2?",
  output = list(list(answer = "4")),
  model = "gpt-6-luna",
  input_tokens = 52L,
  output_tokens = 6L,
  cost = 0.0001
))
as_dsprrr_traces(samples)
#> # A tibble: 1 × 10
#>   timestamp           latency_ms input_tokens output_tokens total_tokens   cost
#>   <dttm>                   <dbl>        <int>         <int>        <int>  <dbl>
#> 1 2026-09-30 17:43:52         NA           52             6           58 0.0001
#> # ℹ 4 more variables: model <chr>, prompt_length <int>, prompt <chr>,
#> #   output <list>

if (FALSE) { # \dontrun{
traces <- as_dsprrr_traces(tsk$get_samples())
summarize_traces_df(traces)
} # }