{"msg":"started clickhouse","v":0,"name":"test_database_usage","level":30,"time":"2026-05-08T22:29:27.428057865Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"address":"[::1]:60201"} {"msg":"task starting, creating Oximeter client","v":0,"name":"test_database_usage","level":20,"time":"2026-05-08T22:29:27.428510735Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"component":"retention-task","component":"ServerContext"} {"msg":"registered USDT probes","v":0,"name":"test_database_usage","level":20,"time":"2026-05-08T22:29:27.430479917Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"bbd06c4e-4107-40c2-9c74-65d60f32e0f3","component":"clickhouse-client","component":"retention-task","component":"ServerContext"} {"msg":"created client, starting recv loop","v":0,"name":"test_database_usage","level":20,"time":"2026-05-08T22:29:27.430541207Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"component":"retention-task","component":"ServerContext"} {"msg":"registered USDT probes","v":0,"name":"test_database_usage","level":20,"time":"2026-05-08T22:29:27.430554617Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"255ceefb-bbc9-4073-95a3-e71cd994855e","component":"clickhouse-client","component":"usage-task","component":"ServerContext"} {"msg":"starting database table usage computation","v":0,"name":"test_database_usage","level":20,"time":"2026-05-08T22:29:27.431572087Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"component":"usage-task","component":"ServerContext"} {"msg":"registered USDT probes","v":0,"name":"test_database_usage","level":20,"time":"2026-05-08T22:29:27.439147583Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.449036451Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"255ceefb-bbc9-4073-95a3-e71cd994855e","component":"clickhouse-client","component":"usage-task","component":"ServerContext","sql":"SELECT concat(database, '.', name) AS table_name, ifNull(total_bytes, 0) AS total_bytes, ifNull(total_rows, 0) AS total_rows FROM system.tables WHERE has_own_data"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.459370008Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"SELECT MAX(value) AS max_version FROM oximeter.version;"} {"msg":"finished database table usage computation","v":0,"name":"test_database_usage","level":20,"time":"2026-05-08T22:29:27.486709119Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"component":"usage-task","component":"ServerContext"} {"msg":"oximeter database does not exist, or is out-of-date","v":0,"name":"test_database_usage","level":40,"time":"2026-05-08T22:29:27.486836879Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext"} {"msg":"initializing oximeter database to version 14","v":0,"name":"test_database_usage","level":30,"time":"2026-05-08T22:29:27.486864739Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"component":"ServerContext"} {"msg":"reading db version","v":0,"name":"test_database_usage","level":30,"time":"2026-05-08T22:29:27.486875449Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.486995809Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"SELECT MAX(value) AS max_version FROM oximeter.version;"} {"msg":"oximeter database does not exist, or is out-of-date","v":0,"name":"test_database_usage","level":40,"time":"2026-05-08T22:29:27.489715291Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext"} {"msg":"read oximeter database version","v":0,"name":"test_database_usage","level":30,"time":"2026-05-08T22:29:27.489771321Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","version":0} {"msg":"initializing oximeter schema","v":0,"name":"test_database_usage","level":30,"time":"2026-05-08T22:29:27.489789481Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext"} {"msg":"initializing ClickHouse database","v":0,"name":"test_database_usage","level":20,"time":"2026-05-08T22:29:27.489804411Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.489818911Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"CREATE DATABASE IF NOT EXISTS oximeter"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.492272023Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\n/* The version table contains metadata about the `oximeter` database */\nCREATE TABLE IF NOT EXISTS oximeter.version\n(\n value UInt64,\n timestamp DateTime64(9, 'UTC')\n)\nENGINE = MergeTree()\nORDER BY (value, timestamp)"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.499463719Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\n/* The measurement tables contain all individual samples from each timeseries.\n *\n * Each table stores a single datum type, and otherwise contains nearly the same\n * structure. The primary sorting key is on the timeseries name, key, and then\n * timestamp, so that all timeseries from the same schema are grouped, followed\n * by all samples from the same timeseries.\n *\n * This reflects that one usually looks up the _key_ in one or more field table,\n * and then uses that to index quickly into the measurements tables.\n */\nCREATE TABLE IF NOT EXISTS oximeter.measurements_bool\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Bool)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.504847423Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_i8\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Int8)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.511070367Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_u8\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(UInt8)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.521805935Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_i16\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Int16)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.529113211Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_u16\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(UInt16)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.538803628Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_i32\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Int32)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.550116557Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_u32\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(UInt32)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.555302171Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_i64\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Int64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.562308006Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_u64\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(UInt64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.568795941Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_f32\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Float32)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.573937775Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_f64\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.578049628Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_string\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(String)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.583916562Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_bytes\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n /*\n * NOTE: Right now we can't unambiguously record a nullable byte array.\n * Arrays cannot be nested in `Nullable()` types, and encoding the array as\n * a string isn't palatable for a few reasons.\n * See: https://github.com/oxidecomputer/omicron/issues/4551 for more\n * details.\n */\n datum Array(UInt8)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.587787005Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_cumulativei64\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Int64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.596863372Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_cumulativeu64\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(UInt64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.601748546Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_cumulativef32\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Float32)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.612897434Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_cumulativef64\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.624384073Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogrami8\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n /*\n * NOTE: Array types cannot be Nullable, see\n * https://clickhouse.com/docs/en/sql-reference/data-types/nullable\n * for more details.\n *\n * This means we need to use empty arrays to indicate a missing value. This\n * is unfortunate, and at this point relies on the fact that an\n * `oximeter::Histogram` cannot have zero bins. If that changes, we'll need\n * to figure out another way to represent missing samples here.\n */\n bins Array(Int8),\n counts Array(UInt64),\n min Int8,\n max Int8,\n sum_of_samples Int64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.629691597Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogramu8\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(UInt8),\n counts Array(UInt64),\n min UInt8,\n max UInt8,\n sum_of_samples Int64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.636171312Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogrami16\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(Int16),\n counts Array(UInt64),\n min Int16,\n max Int16,\n sum_of_samples Int64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.644226328Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogramu16\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(UInt16),\n counts Array(UInt64),\n min UInt16,\n max UInt16,\n sum_of_samples Int64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.649362782Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogrami32\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(Int32),\n counts Array(UInt64),\n min Int32,\n max Int32,\n sum_of_samples Int64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.653296015Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogramu32\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(UInt32),\n counts Array(UInt64),\n min UInt32,\n max UInt32,\n sum_of_samples Int64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.657585418Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogrami64\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(Int64),\n counts Array(UInt64),\n min Int64,\n max Int64,\n sum_of_samples Int64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.66099239Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogramu64\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(UInt64),\n counts Array(UInt64),\n min UInt64,\n max UInt64,\n sum_of_samples Int64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.664792793Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogramf32\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(Float32),\n counts Array(UInt64),\n min Float32,\n max Float32,\n sum_of_samples Float64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.666887995Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogramf64\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(Float64),\n counts Array(UInt64),\n min Float64,\n max Float64,\n sum_of_samples Float64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.671443318Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\n/* The field tables store named dimensions of each timeseries.\n *\n * As with the measurement tables, there is one field table for each field data\n * type. Fields are deduplicated by using the \"replacing merge tree\", though\n * this behavior **must not** be relied upon for query correctness.\n *\n * The index for the fields differs from the measurements, however. Rows are\n * sorted by timeseries name, then field name, field value, and finally\n * timeseries key. This reflects the most common pattern for looking them up:\n * by field name and possibly value, within a timeseries. The resulting keys are\n * usually then used to look up measurements.\n *\n * NOTE: We may want to consider a secondary index on these tables, sorting by\n * timeseries name and then key, since it would improve lookups where one\n * already has the key. Realistically though, these tables are quite small and\n * so performance benefits will be low in absolute terms.\n *\n * TTL: We use a materialized column to expire old field table records. This\n * column is generated automatically by the database whenever a new row is\n * inserted. It cannot be inserted directly, nor is it returned in a `SELECT *`\n * query. Since these tables are `ReplacingMergeTree`s, that means the last\n * record will remain during a deduplication, which will have the last\n * timestamp. ClickHouse will then expire old data for us, similar to the\n * measurement tables.\n */\nCREATE TABLE IF NOT EXISTS oximeter.fields_bool\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value Bool,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.675409661Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_i8\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value Int8,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.679079044Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_u8\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value UInt8,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.68705877Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_i16\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value Int16,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.691076053Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_u16\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value UInt16,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.695466336Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_i32\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value Int32,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.70079436Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_u32\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value UInt32,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.704722893Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_i64\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value Int64,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.710138707Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_u64\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value UInt64,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.715685942Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_ipaddr\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value IPv6,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.719776025Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_string\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value String,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.725284619Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_uuid\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value UUID,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.727647821Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"\n\n/* The timeseries schema table stores the extracted schema for the samples\n * oximeter collects.\n */\nCREATE TABLE IF NOT EXISTS oximeter.timeseries_schema\n(\n timeseries_name String,\n fields Nested(\n name String,\n type Enum(\n 'Bool' = 1,\n 'I64' = 2,\n 'IpAddr' = 3,\n 'String' = 4,\n 'Uuid' = 6,\n 'I8' = 7,\n 'U8' = 8,\n 'I16' = 9,\n 'U16' = 10,\n 'I32' = 11,\n 'U32' = 12,\n 'U64' = 13\n ),\n source Enum(\n 'Target' = 1,\n 'Metric' = 2\n )\n ),\n datum_type Enum(\n 'Bool' = 1,\n 'I64' = 2,\n 'F64' = 3,\n 'String' = 4,\n 'Bytes' = 5,\n 'CumulativeI64' = 6,\n 'CumulativeF64' = 7,\n 'HistogramI64' = 8,\n 'HistogramF64' = 9,\n 'I8' = 10,\n 'U8' = 11,\n 'I16' = 12,\n 'U16' = 13,\n 'I32' = 14,\n 'U32' = 15,\n 'U64' = 16,\n 'F32' = 17,\n 'CumulativeU64' = 18,\n 'CumulativeF32' = 19,\n 'HistogramI8' = 20,\n 'HistogramU8' = 21,\n 'HistogramI16' = 22,\n 'HistogramU16' = 23,\n 'HistogramI32' = 24,\n 'HistogramU32' = 25,\n 'HistogramU64' = 26,\n 'HistogramF32' = 27\n ),\n created DateTime64(9, 'UTC')\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, fields.name)"} {"msg":"inserting current version","v":0,"name":"test_database_usage","level":30,"time":"2026-05-08T22:29:27.731718004Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","version":14} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.731782354Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"148f8223-dac5-4b8f-a9cd-bfc4b834fa3d","component":"clickhouse-client","component":"ServerContext","sql":"INSERT INTO oximeter.version (*) VALUES (14, now());"} {"msg":"starting database table usage computation","v":0,"name":"test_database_usage","level":20,"time":"2026-05-08T22:29:27.78163571Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"component":"usage-task","component":"ServerContext"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.78170215Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"255ceefb-bbc9-4073-95a3-e71cd994855e","component":"clickhouse-client","component":"usage-task","component":"ServerContext","sql":"SELECT concat(database, '.', name) AS table_name, ifNull(total_bytes, 0) AS total_bytes, ifNull(total_rows, 0) AS total_rows FROM system.tables WHERE has_own_data"} {"msg":"failed to compute database table usage","v":0,"name":"test_database_usage","level":50,"time":"2026-05-08T22:29:27.788475305Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"component":"usage-task","component":"ServerContext","error":"Telemetry database unavailable: SQL query timed out after 30.02s"} {"msg":"starting database table usage computation","v":0,"name":"test_database_usage","level":20,"time":"2026-05-08T22:29:27.836647122Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"component":"usage-task","component":"ServerContext"} {"msg":"executing SQL query","v":0,"name":"test_database_usage","level":10,"time":"2026-05-08T22:29:27.836719322Z","hostname":"w-01KR4T0QJP66R2SQYD38PT3R45","pid":18417,"id":"255ceefb-bbc9-4073-95a3-e71cd994855e","component":"clickhouse-client","component":"usage-task","component":"ServerContext","sql":"SELECT concat(database, '.', name) AS table_name, ifNull(total_bytes, 0) AS total_bytes, ifNull(total_rows, 0) AS total_rows FROM system.tables WHERE has_own_data"}