```
┌───────────────now()─┬─event────────────────┬────────────────value─┐
│ 2022-10-28 08:09:26 │ UserTimeMicroseconds │ 13760641375459361349 │
│ 2022-10-28 08:11:57 │ UserTimeMicroseconds │ 17081055181340065261 │
│ 2022-10-28 08:13:31 │ UserTimeMicroseconds │  2803275110436731712 │
│ 2022-10-28 08:14:19 │ UserTimeMicroseconds │  4039206916108154442 │
│ 2022-10-28 08:15:49 │ UserTimeMicroseconds │  5422712665390374116 │
└─────────────────────┴──────────────────────┴──────────────────────┘
```

It can not grow so fast. 

```
SELECT formatReadableTimeDelta((17081055181340065261 - 13760641375459361349) / 1000000)

Query id: 7bbb071d-6204-413d-ba7a-222c89aca743

┌─formatReadableTimeDelta(divide(minus(17081055181340065261, 13760641375459361349), 1000000))─┐
│ 105289 years, 7 months, 16 days, 20 hours and 18 minutes                                    │
└─────────────────────────────────────────────────────────────────────────────────────────────┘
```
{
    return curr >= prev ? curr - prev : 0;
}
struct RUsageCounters
{
    
    UInt64 real_time = 0;
    UInt64 user_time = 0;
    UInt64 sys_time = 0;
    UInt64 soft_page_faults = 0;
    UInt64 hard_page_faults = 0;
    RUsageCounters() = default;
    RUsageCounters(const ::rusage & rusage_, UInt64 real_time_)
    {
        set(rusage_, real_time_);
    }
    void set(const ::rusage & rusage, UInt64 real_time_)
    {
        real_time = real_time_;
        user_time = rusage.ru_utime.tv_sec * 1000000000UL + rusage.ru_utime.tv_usec * 1000UL;
        sys_time = rusage.ru_stime.tv_sec * 1000000000UL + rusage.ru_stime.tv_usec * 1000UL;
        soft_page_faults = static_cast<UInt64>(rusage.ru_minflt);
        hard_page_faults = static_cast<UInt64>(rusage.ru_majflt);
    }
    static RUsageCounters current()