prodsim

command
v0.39.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 12, 2026 License: MIT Imports: 30 Imported by: 0

Documentation

Overview

Command prodsim drives an ISOLATED wr manager with a production-shaped workload made only of harmless commands, and samples the manager's health while it does. It is developer tooling for developers/wrdev.sh prodsim; it is not part of the shipped binary. See developers/README.md.

The workload is modelled on the clients the real production manager serves:

  • ibackup server: every simulated minute re-submits the same N "put" jobs (mostly duplicates), limit group irods, OnFailure Remove.
  • ibackup fofn watcher: polls incomplete jobs and last completion times by rep group PREFIX, removes buried jobs, and now and then submits a new fofn's batch of chunk jobs in a new rep group.
  • wrstat multi: walk jobs that themselves `wr add` stat jobs into the walk's dep group, a combine job depending on it and a tidy job depending on the combine, all behind a datetime< limit group.
  • wrstat-ui watch: hourly submits nothing (production's hourly "bad request" line) and sometimes a build/publish pair.
  • portal: occasional huge two-phase bursts with ~KB-long commands behind one results_portal limit group.
  • status page users: websocket clients that connect, take the seed, refresh, click a rep group, and occasionally search.
  • wr status pollers, a Go client waiting through a subscription, and an operator changing limits, retrying and killing.

Every client call is timed and appended to calls.tsv; the sampler appends manager RSS/goroutines/heap/DB size to samples.tsv and saves pprof profiles. prodsim -report <dir> summarises a run.

prodsim refuses to start unless WR_CONFIG_DIR is set and wr's config for the deployment names the manager whose runtime directory is -rundir, so it cannot drive a real deployment.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL