When the old storage engine was replaced, performance logging went from kind of crappy to non-existent. This issue is to track re-implementing the collection of performance metrics, and serves as a place to collect requirements.
Operations to collect metrics on for the first pass:
- append time from the partition's perspective
- End-to-end time to append events from the connection handler's perspective
- Time to create a reader in the backend partition
- End-to-end time to start consuming from the connection handler's perspective
- Every operation time spent waiting in the channel
- Time to go from uncommitted to committed when appending an event
Nice to haves:
- Ability to disable or throttle down perf logging
- Ability to customize aggregation parameters
- Ability to set thresholds for logging particular events
- Extensible perf metrics output (statsd, etc.)
- For the initial implementation, it's probably fine to just use the normal logger
When the old storage engine was replaced, performance logging went from kind of crappy to non-existent. This issue is to track re-implementing the collection of performance metrics, and serves as a place to collect requirements.
Operations to collect metrics on for the first pass:
Nice to haves: