throwException(ErrorCodes::INVALID_SETTING_VALUE,"Setting asynchronous_metrics_update_period_s and asynchronous_heavy_metrics_update_period_s must not be zero");
"Total number of entries in the uncompressed cache. Each entry represents a decompressed block of data. Uncompressed cache does not usually improve performance and should be mostly avoided."};
"Total size of uncompressed cache in bytes for secondary indices. Uncompressed cache does not usually improve the performance and should be mostly avoided."};
"Total number of entries in the uncompressed cache for secondary indices. Each entry represents a decompressed block of data. Uncompressed cache does not usually improve performance and should be mostly avoided."};
"The total number of inodes on the volume where the main ClickHouse path is mounted. If it is less than 25 million, it indicates a misconfiguration."};
"The number of available inodes on the volume where the main ClickHouse path is mounted. If it is close to zero, it indicates a misconfiguration, and you will get 'no space left on device' even when the disk is not full."};
"Available bytes on the volume where ClickHouse logs path is mounted. If this value approaches zero, you should tune the log rotation in the configuration file."};
"Available bytes on the disk (virtual filesystem) without the reservations for merges, fetches, and moves. Remote filesystems may not provide this information."};
new_values["ReplicasMaxQueueSize"]={max_queue_size,"Maximum queue size (in the number of operations like get, merge) across Replicated tables."};
new_values["ReplicasMaxInsertsInQueue"]={max_inserts_in_queue,"Maximum number of INSERT operations in the queue (still to be replicated) across Replicated tables."};
new_values["ReplicasMaxMergesInQueue"]={max_merges_in_queue,"Maximum number of merge operations in the queue (still to be applied) across Replicated tables."};
new_values["ReplicasSumQueueSize"]={sum_queue_size,"Sum queue size (in the number of operations like get, merge) across Replicated tables."};
new_values["ReplicasSumInsertsInQueue"]={sum_inserts_in_queue,"Sum of INSERT operations in the queue (still to be replicated) across Replicated tables."};
new_values["ReplicasSumMergesInQueue"]={sum_merges_in_queue,"Sum of merge operations in the queue (still to be applied) across Replicated tables."};
new_values["ReplicasMaxAbsoluteDelay"]={max_absolute_delay,"Maximum difference in seconds between the most fresh replicated part and the most fresh data part still to be replicated, across Replicated tables. A very high value indicates a replica with no data."};
new_values["ReplicasMaxRelativeDelay"]={max_relative_delay,"Maximum difference between the replica delay and the delay of the most up-to-date replica of the same table, across Replicated tables."};
new_values["MaxPartCountForPartition"]={max_part_count_for_partition,"Maximum number of parts per partition across all partitions of all tables of MergeTree family. Values larger than 300 indicates misconfiguration, overload, or massive data loading."};
new_values["NumberOfDatabases"]={number_of_databases,"Total number of databases on the server."};
new_values["NumberOfTables"]={total_number_of_tables,"Total number of tables summed across the databases on the server, excluding the databases that cannot contain MergeTree tables."
" The excluded database engines are those who generate the set of tables on the fly, like `Lazy`, `MySQL`, `PostgreSQL`, `SQlite`."};
new_values["TotalBytesOfMergeTreeTables"]={total_number_of_bytes,"Total amount of bytes (compressed, including data and indices) stored in all tables of MergeTree family."};
new_values["TotalRowsOfMergeTreeTables"]={total_number_of_rows,"Total amount of rows (records) stored in all tables of MergeTree family."};
new_values["TotalPartsOfMergeTreeTables"]={total_number_of_parts,"Total amount of data parts in all tables of MergeTree family."
" Numbers larger than 10 000 will negatively affect the server startup time and it may indicate unreasonable choice of the partition key."};
new_values["NumberOfTablesSystem"]={total_number_of_tables_system,"Total number of tables in the system database on the server stored in tables of MergeTree family."};
new_values["TotalBytesOfMergeTreeTablesSystem"]={total_number_of_bytes_system,"Total amount of bytes (compressed, including data and indices) stored in tables of MergeTree family in the system database."};
new_values["TotalRowsOfMergeTreeTablesSystem"]={total_number_of_rows_system,"Total amount of rows (records) stored in tables of MergeTree family in the system database."};
new_values["TotalPartsOfMergeTreeTablesSystem"]={total_number_of_parts_system,"Total amount of data parts in tables of MergeTree family in the system database."};
new_values["AsynchronousHeavyMetricsCalculationTimeSpent"]={watch.elapsedSeconds(),"Time in seconds spent for calculation of asynchronous heavy (tables related) metrics (this is the overhead of asynchronous metrics)."};
new_values["NumberOfDetachedParts"]={detached_parts_stats.count,"The total number of parts detached from MergeTree tables. A part can be detached by a user with the `ALTER TABLE DETACH` query or by the server itself it the part is broken, unexpected or unneeded. The server does not care about detached parts and they can be removed."};
new_values["NumberOfDetachedByUserParts"]={detached_parts_stats.detached_by_user,"The total number of parts detached from MergeTree tables by users with the `ALTER TABLE DETACH` query (as opposed to unexpected, broken or ignored parts). The server does not care about detached parts and they can be removed."};