• Chen Tianjie's avatar
    Add basic eventloop latency measurement. (#11963) · 29ca8795
    Chen Tianjie authored
    The measured latency(duration) includes the list below, which can be shown by `INFO STATS`.
    ```
    eventloop_cycles  // ever increasing counter
    eventloop_duration_sum // cumulative duration of eventloop in microseconds
    eventloop_duration_cmd_sum  // cumulative duration of executing commands in microseconds
    instantaneous_eventloop_cycles_per_sec  // average eventloop count per second in recent 1.6s
    instantaneous_eventloop_duration_usec  // average single eventloop duration in recent 1.6s
    ```
    
    Also added some experimental metrics, which are shown only when `INFO DEBUG` is called.
    This section isn't included in the default INFO, or even in `INFO ALL` and the fields in this section
    can change in the future without considering backwards compatibility.
    ```
    eventloop_duration_aof_sum  // cumulative duration of writing AOF
    eventloop_duration_cron_sum  // cumulative duration cron jobs (serverCron, beforeSleep excluding IO and AOF)
    eventloop_cmd_per_cycle_max  // max number of commands executed in one eventloop
    eventloop_duration_max  // max duration of one eventloop
    ```
    
    All of these are being reset by CONFIG RESETSTAT
    29ca8795
latency.c 30.5 KB