You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a delay to execute an operation on time occurs:
calculate how long it was delayed
calculate the operations that would have been executed in that time
based on the workload mix
based on interval between operations
could do this by creating a (small) sample of the full workload during driver initialization, creating a looping iterator over that sample, then injecting/logging-to-metrics "fake" operations from this iterator, to account for the "omitted" operations
may need multiple samples from different workload timeframes to account for workloads that change over time
based on which operation failed, choose appropriate sample from appropriate timeframe
need to estimate scheduledStartTime, actualStartTime (perhaps equal to scheduledStartTime or perhaps equal to mean from previous operations?), runDuration (taken from mean of previous operations, for example)
would means from previous operations include the times from the injected/fake operations?
Alternatively, when a delay to execute an operation on time occurs:
rather than executing that operation, send it to a "missed operations" place
do not execute it
do not log the operation in any other way
tolerate up to some amount of such operations
writes would still have to be executed, but reads do not need to be
upon completion of the benchmark assign a some start and finish time to all "missed operations", based on means/percentiles/whatever of other operations of the same type/that were executed at the same period/whatever. place these in "corrected operations"
include metrics from "corrected operations" to the final report metrics
Could possibly do this from a Delay Policy implementation
If the metrics logging service has this looping iterator the "fake" operations would not need to all get sent over a queue to the logging thread. Instead, just 1 message, containing a parameter communicating "number of fake operations to create", would be sent to the logging thread and it would deal with the rest
Make configurable:
terminate
correct from sample
something else?
...
The text was updated successfully, but these errors were encountered:
When a delay to execute an operation on time occurs:
Alternatively, when a delay to execute an operation on time occurs:
tolerate up to some amount of such operations
Could possibly do this from a Delay Policy implementation
If the metrics logging service has this looping iterator the "fake" operations would not need to all get sent over a queue to the logging thread. Instead, just 1 message, containing a parameter communicating "number of fake operations to create", would be sent to the logging thread and it would deal with the rest
Make configurable:
The text was updated successfully, but these errors were encountered: