```
┌───────────────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                                    │
└─────────────────────────────────────────────────────────────────────────────────────────────┘
```
{
public:
    enum class MetricsProvider
    {
        None,
        Procfs,
        Netlink,
    };
    static const char * metricsProviderString(MetricsProvider provider);
    static bool checkIfAvailable();
    static MetricsProvider findBestAvailableProvider();
    static std::unique_ptr<TasksStatsCounters> create(UInt64 tid);
    void reset();
    void updateCounters(ProfileEvents::Counters & profile_events);
private:
    ::taskstats stats;  
    std::function<::taskstats()> stats_getter;
    explicit TasksStatsCounters(UInt64 tid, MetricsProvider provider);
    static void incrementProfileEvents(const ::taskstats & prev, const ::taskstats & curr, ProfileEvents::Counters & profile_events);
};
#else
class TasksStatsCounters