CPU usage is misreported.

Currently "0 CPU" means "no CPU metric received in the previous ProfileEvents packet". But there can be many ProfileEvents packets and only a few with CPU increment.

That's why the CPU metric shows something weird like:
```
0
0
0
0
0
1234
0
0
0
...
```

This is unbearable, and the CPU metric should be either fixed or removed altogether.
// If the error is expected, force reconnect and ignore it.
                if (have_error && es_hint)
                {
                    client_exception.reset();
                    server_exception.reset();
                    have_error = false;
                    if (!connection->checkConnected())
                        connect();
                }
                // For INSERTs with inline data: use the end of inline data as
                // reported by the format parser (it is saved in sendData()).
                // This allows us to handle queries like:
                //   insert into t values (1); select 1
                // , where the inline data is delimited by semicolon and not by a
                // newline.
                auto * insert_y->as<ASTInsertQuery>();
                if (insert_ast && isSyncInsertWithData(*insert_ast, global_context))
                {
                    this_query_end = insert_ast->end;
                    adjustQueryEnd(th all_queries_end, global_context->getSettingsRef().max_parser_depth);
                }
                // Report error.
                if 
                    processError(full_query);
                // Stop processing queries if needed.
                if (have_error && !ignore_error)
                    return is_interactive;
                this_query_begin = this_query_end;
                break;
            }