I'm using wtperf to debug workloads sometimes, and it's hard to know when things are screwed.
I don't want to damage wtperf's utility as a benchmark, but is there some way wtperf could detect/report/quit when it's not making progress on the workload? As it is, if a thread gets stuck somewhere, wtperf just hangs.
I'm not 100% following, are you looking for the ability to tell when a single thread has stalled or when all threads are stalled?
We could add a minimum throughput. If throughput falls below a set threshold the run shuts down (though I don't really see the value in shutting down automatically).
I personally tend to run a workload and monitor the throughput outputs (either tailing test.stat or setting verbose=2 in the config). Once the output numbers drop to 0, I either attach a debugger or start running pmp.
What I'm looking for is a way to know that things are not going well. (Admittedly, that's not very well-defined.)
Well, the runs take awhile, and it wastes a fair amount of time trying to figure out if we're dead or not.