Skip to content

roachtest,admission: add libraries for better tests/experiments #89978

@irfansharif

Description

@irfansharif

Is your feature request related to a problem? Please describe.

We need a set of library functions in the roachtest package, or to use when writing roachtests, to make authoring admission control integration tests + experiments (#89208) easier. For ex:

  • summary metrics for the test run so we don't have to examine graphs: e.g. throughput, throughput variance, latency percentiles etc. for each workload. some existing/new (clusterstats for ex.) library components in the roachtest package may be developed, maybe emitting to roachperf/replacement. want to measure things like '% of time latency was over Xms' for a few values of X, or '% of time between T and T+t where throughput was below Y'. both things to evaluate latency and performance isolation of admission control.
    • bonus points if you can segment this by tenants in multi-tenant roachtests, or by workload in multi-workload experiments
  • some helper struct in the roachtest package that envelopes manual cgroup mucking and for different things like CPU/disk bandwidth/IOPs
  • some helper struct in the roachtest package to auto collect outlier traces that are now possible with stmtdiagnostics: support continuous bundle collection #83020 + stmtdiagnostics: support probabilistic bundle collection #82750. would be good to end a test with a set of outlier traces from that test run
  • library functions in roachtest to attach VMs to disk images pre-loaded with previous CRDB cluster state. better way to run experiments with full-ish LSMs that take time to fill up (possibly useful in db: benchmark framework for compaction heuristic comparisons pebble#1865). should have a parallel where roachtests actually generate disk images to use for future experiments. has to be captured over a CRDB cluster that's wound down entirely to get a consistent disk snapshot
  • roachprod,roachtest: support tenants #78484

Jira issue: CRDB-20528

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)T-admission-controlAdmission Control

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions