memcached / mcshredder

another load generation tool
Other
5 stars 2 forks source link

Initial TODO #1

Open dormando opened 1 year ago

dormando commented 1 year ago

To give followers an idea of what's planned-ish, in rough priority order.

dormando commented 1 year ago

planning on doing maybe half of these this week. they're mostly simple.

dormando commented 1 year ago

My first hack at this list will be to replace the three supplementary mc-crusher utilities:

after that the rest is adding features for supporting more workloads, more or less.

bench-warmer is now replaced, by way of letting the benchmark run multiple times internally. Can create pre-warming functions, create progressive benchmarks, etc.

bench-sample is now more or less replaced. see conf/example.lua

dormando commented 1 year ago

kinda want the out + filter routines sooner than later. would allow self-feedback for when to stop, and allow loops that self-adjust settings to ramp up toward falure.

dormando commented 1 year ago

Added a bunch of convenience functions that weren't part of the original list:

next highest priority are functions for manipulating responses and more command generator builtin funcs.

dormando commented 1 year ago

added a few response handlers. taking a break to think through the meta side.

looks like I never used the meta code in mcmc as r->rlen isn't right. it's a little weird finding the token offset for the flag functions... typing it out, I think probably just "if type is META and there is a vlen, flags start at 2 instead of 1".

dormando commented 1 year ago

think we're able to get away with much simpler response parsing code than the proxy has.

believe the tasks up through value checking are still blocking... but I'll see how much I can push through in the next day or two.

dormando commented 1 year ago

Think this is enough for me to task back over to the test writing phase again for a while. Should find more changes to make once I run into issues writing real workloads.

I will probably add mcs.out() this week. The point is to centralize output streams so a function can check for pass/fail status and stop the test with information.