Skip to content

Run Timing Storage #2

@Warr1024

Description

@Warr1024

One of the most important features in my own auto-splitter is automatically saving every run, including realtime timestamps for each start/stop/split/reset event (everything else could be calculated from that, as long as you aren't missing any of the "fencepost" events that bound segments). In principle as long as all the data is present, somebody could do whatever analysis they want.

I store my data in one JSON file per run (with atomic file writes to update a run after each split/reset). Separate files prevents the data from growing unbounded, and allows me to easily delete invalid runs (accidentally recording practice as if it's a run, etc).

In a Luanti context, mod_storage could be a decent place to store these too, though you'll probably want some kind of export feature, to JSON or CSV or something easy to analyze.

It's very common to have per-split comparison times, such as:

  • that split's time in the personal best run
  • that segment's best "gold" time
  • averages, quantiles, etc

and, while you can cache and "online calculate" these values, it's good to be able to regenerate them from the full data, in case the runner needs to do some data cleanup.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions