**Describe what's wrong**
Query metric doesn't calculate anymore
```sql
SELECT * FROM system.metrics WHERE metric='Query'
```
always return value=0 

```sql
SELECT event_time, CurrentMetrics_Query FROM system.metric_log WHERE CurrentMetrics_Query>0
```
always return 0 rows

I check these queries during run following script in separate terminal
```bash
clickhouse-client -q "SELECT sleepEachRow(1),now() FROM numbers(60)"
```

**Does it reproduce on recent release?**
Yes it reproduce on 22.1 and 21.12
And doesn't reproduce on 21.11

*  and using initial_user for limits will be insecure.
          *
          * Why we use current_query_id?
          * Because we want to allow distributed queries that will run multiple secondary queries on same server,
          *  like SELECT count() FROM remote('127.0.0.{1,2}', system.numbers)
          *  so they must have different query_ids.
          */
        {
            auto user_process_list = user_to_queries.find(client_info.current_user);
            if (user_process_list != user_to_queries.end())
            {
                if (!is_unlimited_query && settings.max_concurrent_queries_for_user
                    && user_process_list->second.queries.size() >= settings.max_concurrent_queries_for_user)
                    throw Exception("Too many simultaneous queries for user " + client_info.current_user
                        + ". Current: " + toString(user_process_list->second.queries.size())
                        + ", maximum: " + settings.max_concurrent_queries_for_user.toString(),
                        ErrorCodes::TOO_MANY_SIMULTANEOUS_QUERIES);
                auto running_query = user_process_list->second.queries.find(client_info.current_query_id);
                if (running_query != user_process_list->second.queries.end())
                {
                    if (!settings.replace_running_query)
                        throw Exception("Query with id = " + client_info.current_query_id + " is already running.",
                            ErrorCodes::QUERY_WITH_SAME_ID_IS_ALREADY_RUNNING);
                    
                    running_query->second->is_killed.store(true, std::memory_order_relaxed);
                    const auto replace_running_query_max_wait_ms = settings.replace_running_query_max_wait_ms.totalMilliseconds();
                    if (!replace_running_query_max_wait_ms || !have_space.wait_for(lock, std::chrono::milliseconds(replace_running_query_max_wait_ms),
                        [&]
                        {
                            running_query = user_process_list->second.queries.find(client_info.current_query_id);