diff --git a/README.md b/README.md index fc3f713..5eafc18 100644 --- a/README.md +++ b/README.md @@ -28,12 +28,15 @@ Use pg_ash when you need: - a tool that can run on RDS, Cloud SQL, AlloyDB, Supabase, Neon, and similar managed platforms -## Quick Start +## Quick start The current `main` branch contains the 2.0 beta 1 SQL in `sql/`. +For automatic sampling, install both optional helper extensions first: + ```sql create extension if not exists pg_stat_statements; +create extension if not exists pg_cron; \i sql/ash-install.sql @@ -45,7 +48,14 @@ select * from ash.top('query_id'); select * from ash.chart(since => now() - interval '5 minutes', color => true); ``` -## Color Output +`pg_stat_statements` provides query text and query-level metrics. `pg_cron` +drives automatic sampling, partition rotation, and rollups. If `pg_cron` is not +available in your environment, omit it and use an external scheduler instead; +see [Scheduling](#scheduling). + +![pg_ash animated investigation demo](demos/ash_demo.gif) + +## Color output pg_ash can render compact terminal charts with ANSI colors when `color => true` or `set ash.color = on` is used. @@ -60,7 +70,7 @@ For the latest stable v1.5 tag, check out `v1.5` first and use: \i sql/ash-install.sql ``` -## Upgrade To 2.0 +## Upgrade to 2.0 2.0 is a breaking reader-API release. Upgrade scripts are cumulative; run the missing scripts in order. @@ -131,7 +141,7 @@ Filters are consistent where they apply: is usually the right first cut because it surfaces short spikes that averages hide. -## Investigation Flow +## Investigation flow ### 1. Is it bad now, or was it a spike? @@ -238,7 +248,7 @@ Dump a wider incident window with psql: ) to '/tmp/ash-incident.csv' csv header ``` -## Chart Rendering +## Chart rendering `ash.chart()` is for humans. `ash.timeline()` is the typed-data companion. @@ -275,7 +285,7 @@ Then run: select * from ash.chart(since => now() - interval '1 hour', color => true) :color ``` -## Machine Report +## Machine report `ash.report()` returns one JSONB payload for monitoring and health-assessment systems. @@ -355,7 +365,7 @@ alter system set cron.log_run = off; This requires a restart because `cron.log_run` is postmaster-context. -## Retention And Storage +## Retention and storage Raw samples use a PGQ-style ring of partitions. Defaults: @@ -419,7 +429,7 @@ If `pg_stat_statements` is installed after pg_ash, or moved to another schema: select ash._apply_pgss_search_path(); ``` -## Catalog Docs +## Catalog docs pg_ash documents itself in the database: @@ -446,7 +456,7 @@ alter system set compute_query_id = 'on'; select pg_reload_conf(); ``` -## Compared To Alternatives +## Compared to alternatives | | pg_ash | pg_wait_sampling / pgsentinel | External sampling | |---|---|---|---| @@ -461,7 +471,7 @@ pg_ash is not a replacement for in-process 10ms samplers when you control the server and need sub-second detail. It is for durable, portable ASH on real managed Postgres. -## Known Limits +## Known limits - Primary only: pg_ash writes sample and rollup rows. - It samples one database installation but sees activity from all databases. @@ -488,7 +498,7 @@ python3 devel/scripts/ash_sql_chain.py fresh-install-path python3 devel/scripts/ash_sql_chain.py full-upgrade-chain ``` -Run the experimental demo recorder: +Run the demo recorder: ```bash cd demos diff --git a/demos/README.md b/demos/README.md index a70e0c7..6d6957f 100644 --- a/demos/README.md +++ b/demos/README.md @@ -1,12 +1,12 @@ # pg_ash demo recording -This directory contains the experimental animated GIF recorder for pg_ash demos. -The generated GIF is not embedded in the top-level README until its rendering is -readable on GitHub desktop and mobile. +This directory produces the animated GIF embedded in the top-level README: a +short walkthrough of the 2.0 investigation flow, driven against a live Postgres +container. | File | What it is | |------|-----------| -| `ash_demo.gif` | The rendered GIF (committed for iteration; not embedded in the top-level README) | +| `ash_demo.gif` | The rendered GIF (committed; used by the top-level README) | | `ash_demo.cast` | asciinema v3 cast file — source of truth for the GIF | | `record.sh` | End-to-end recorder: Docker → pg_ash install → workload → tmux/asciinema → agg | | `Dockerfile` | Pre-baked `postgres:${PG_MAJOR}` image with pg_cron + `shared_preload_libraries` compiled in — so the container boots preloaded, no runtime apt-get + restart | diff --git a/demos/ash_demo.cast b/demos/ash_demo.cast index 1ddb469..6072235 100644 --- a/demos/ash_demo.cast +++ b/demos/ash_demo.cast @@ -1,1152 +1,1151 @@ -{"version": 2, "width": 168, "height": 32, "timestamp": 1783554009, "idle_time_limit": 3.0, "env": {"TERM": "tmux-256color", "SHELL": "/bin/bash"}} +{"version": 2, "width": 168, "height": 32, "timestamp": 1783560969, "idle_time_limit": 3.0, "env": {"TERM": "tmux-256color", "SHELL": "/bin/bash"}} [0.0, "o", "\u001b[38;2;080;250;123m"] -[0.068018, "o", "\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\r\n\u2551 \u2551\r\n\u2551 pg_ash v2.0 \u2014 Active Session History for Postgres \u2551\r\n\u2551 \u2551\r\n\u2551 Pure SQL. No extension. Installs via \\i on RDS / Cloud SQL / Supabase / Neon. \u2551\r\n\u2551 \u2551\r\n\u2551 Investigation: something just spiked in the last minute. Let's find out what. \u2551\r\n\u2551 \u2551\r\n\u255a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255d\r\n\u001b[0m\r\n"] -[0.104877, "o", "psql (18.4 (Debian 18.4-1.pgdg13+1))\r\nType \"help\" for help.\r\n\r\n"] -[0.109667, "o", "\u001b[?2004hdemo=# "] -[4.455387, "o", "s"] -[4.514434, "o", "e"] -[4.606815, "o", "l"] -[4.694573, "o", "e"] -[4.757528, "o", "c"] -[4.826547, "o", "t"] -[4.917439, "o", " "] -[4.986741, "o", "*"] -[5.086017, "o", " "] -[5.151759, "o", "f"] -[5.204812, "o", "r"] -[5.332531, "o", "o"] -[5.381854, "o", "m"] -[5.469694, "o", " "] -[5.532007, "o", "a"] -[5.610264, "o", "s"] -[5.703222, "o", "h"] -[5.765962, "o", "."] -[6.068228, "o", "s"] -[6.12004, "o", "t"] -[6.206212, "o", "a"] -[6.27125, "o", "t"] -[6.360007, "o", "u"] -[6.487431, "o", "s"] -[6.578238, "o", "("] -[6.880964, "o", ")"] -[7.180805, "o", " "] -[7.241993, "o", "w"] -[7.309269, "o", "h"] -[7.403787, "o", "e"] -[7.532342, "o", "r"] -[7.613706, "o", "e"] -[7.692638, "o", " "] -[7.771204, "o", "m"] -[7.837327, "o", "e"] -[7.957021, "o", "t"] -[8.077762, "o", "r"] -[8.184, "o", "i"] -[8.284821, "o", "c"] -[8.346837, "o", " "] -[8.428505, "o", "i"] -[8.502201, "o", "n"] -[8.575617, "o", " "] -[8.647684, "o", "("] -[8.872955, "o", "'"] -[8.978804, "o", "v"] -[9.081671, "o", "e"] -[9.152414, "o", "r"] -[9.228208, "o", "s"] -[9.332896, "o", "i"] -[9.405205, "o", "o"] -[9.51549, "o", "n"] -[9.579597, "o", "'"] -[9.707946, "o", ","] -[9.949646, "o", "'"] -[10.022526, "o", "s"] -[10.119995, "o", "a"] -[10.172557, "o", "m"] -[10.229424, "o", "p"] -[10.288222, "o", "l"] -[10.398854, "o", "i"] -[10.505094, "o", "n"] -[10.552636, "o", "g"] -[10.606015, "o", "_"] -[10.702489, "o", "e"] -[10.749974, "o", "n"] -[10.870685, "o", "a"] -[10.99607, "o", "b"] -[11.03822, "o", "l"] -[11.107138, "o", "e"] -[11.171766, "o", "d"] -[11.290005, "o", "'"] -[11.364228, "o", ","] -[11.635045, "o", "'"] -[11.747091, "o", "s"] -[11.805466, "o", "a"] -[11.8709, "o", "m"] -[11.985154, "o", "p"] -[12.032883, "o", "l"] -[12.152023, "o", "e"] -[12.261303, "o", "_"] -[12.357732, "o", "i"] -[12.462827, "o", "n"] -[12.522869, "o", "t"] -[12.613734, "o", "e"] -[12.695461, "o", "r"] -[12.764202, "o", "v"] -[12.859195, "o", "a"] -[12.921938, "o", "l"] -[12.960971, "o", "'"] -[13.004505, "o", ","] -[13.312248, "o", "'"] -[13.371821, "o", "s"] -[13.484259, "o", "a"] -[13.604178, "o", "m"] -[13.678886, "o", "p"] -[13.804413, "o", "l"] -[13.851714, "o", "e"] -[13.978515, "o", "s"] -[14.101566, "o", "_"] -[14.191327, "o", "t"] -[14.286418, "o", "o"] -[14.3299, "o", "t"] -[14.413834, "o", "a"] -[14.520548, "o", "l"] -[14.595644, "o", "'"] -[14.680014, "o", ","] -[14.983261, "o", "'"] -[15.055551, "o", "p"] -[15.169398, "o", "g"] -[15.234376, "o", "_"] -[15.333497, "o", "c"] -[15.470805, "o", "r"] -[15.550646, "o", "o"] -[15.659536, "o", "n"] -[15.727925, "o", "_"] -[15.781065, "o", "a"] -[15.89064, "o", "v"] -[16.005772, "o", "a"] -[16.114102, "o", "i"] -[16.221786, "o", "l"] -[16.29102, "o", "a"] -[16.372893, "o", "b"] -[16.477486, "o", "l"] -[16.545036, "o", "e"] -[16.673548, "o", "'"] -[16.739944, "o", ")"] -[16.984712, "o", "; "] -[17.222623, "o", "\r\n\u001b[?2004l\r"] -[17.229825, "o", "\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 metric \u2502 value \u2502\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502 version \u2502 2.0 \u2502\r\n\u2502 sampling_enabled \u2502 true \u2502\r\n"] -[17.230344, "o", "\u2502 sample_interval \u2502 00:00:01 \u2502\r\n\u2502 samples_total \u2502 298 \u2502\r\n\u2502 pg_cron_available \u2502 yes \u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n(5 rows)\r\n\r\n\u001b[?2004hdemo=# "] -[21.028583, "o", "\\"] -[21.072431, "o", "e"] -[21.147441, "o", "c"] -[21.256604, "o", "h"] -[21.298883, "o", "o"] -[21.361164, "o", " "] -[21.400739, "o", "-"] -[21.520449, "o", "-"] -[21.612468, "o", " "] -[21.67702, "o", "Q"] -[21.717034, "o", "1"] -[21.79545, "o", ":"] -[21.866804, "o", " "] -[21.914137, "o", "t"] -[21.9518, "o", "r"] -[22.033008, "o", "i"] -[22.121453, "o", "a"] -[22.225012, "o", "g"] -[22.311725, "o", "e"] -[22.418903, "o", " "] -[22.490169, "o", "\u2014"] -[22.582719, "o", " "] -[22.631591, "o", "i"] -[22.705986, "o", "s"] -[22.775402, "o", " "] -[22.841462, "o", "i"] -[22.922386, "o", "t"] -[22.960433, "o", " "] -[23.033796, "o", "b"] -[23.143587, "o", "a"] -[23.190582, "o", "d"] -[23.311357, "o", " "] -[23.36882, "o", "r"] -[23.406496, "o", "i"] -[23.506213, "o", "g"] -[23.557331, "o", "h"] -[23.659574, "o", "t"] -[23.775896, "o", " "] -[23.844248, "o", "n"] -[23.948427, "o", "o"] -[24.00517, "o", "w"] -[24.094298, "o", "?"] -[24.157005, "o", " "] -[24.205802, "o", "s"] -[24.324971, "o", "p"] -[24.387245, "o", "i"] -[24.456513, "o", "k"] -[24.503957, "o", "e"] -[24.622009, "o", " "] -[24.668419, "o", "o"] -[24.796536, "o", "r"] -[24.85305, "o", " "] -[24.921677, "o", "s"] -[25.050553, "o", "u"] -[25.115797, "o", "s"] -[25.167929, "o", "t"] -[25.274752, "o", "a"] -[25.385148, "o", "i"] -[25.48133, "o", "n"] -[25.536786, "o", "e"] -[25.646322, "o", "d"] -[25.730126, "o", "?"] -[25.777408, "o", "\r\n\u001b[?2004l\r-- Q1: triage \u2014 is it bad right now? spike or sustained?\r\n\u001b[?2004hdemo=# "] -[26.785552, "o", "s"] -[26.851893, "o", "e"] -[26.926232, "o", "l"] -[27.006555, "o", "e"] -[27.058504, "o", "c"] -[27.127042, "o", "t"] -[27.180528, "o", " "] -[27.257835, "o", "*"] -[27.380045, "o", " "] -[27.45421, "o", "f"] -[27.558801, "o", "r"] -[27.685438, "o", "o"] -[27.806432, "o", "m"] -[27.863249, "o", " "] -[27.910363, "o", "a"] -[28.006525, "o", "s"] -[28.077714, "o", "h"] -[28.129005, "o", "."] -[28.418696, "o", "p"] -[28.492664, "o", "e"] -[28.561327, "o", "r"] -[28.639892, "o", "i"] -[28.682298, "o", "o"] -[28.775639, "o", "d"] -[28.903171, "o", "s"] -[28.95681, "o", "("] -[29.229927, "o", ")"] -[29.526364, "o", "; "] -[29.753687, "o", "\r\n"] -[29.75434, "o", "\u001b[?2004l\r"] -[29.785082, "o", "\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 period \u2502 period_start \u2502 period_end \u2502 source \u2502 bucket \u2502 buckets_with_data \u2502 avg_aas \u2502 peak_aas \u2502 p99_aas \u2502\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502 1m \u2502 2026-07-08 23:39:00+00 \u2502 2026-07-08 23:40:00+00 \u2502 raw \u2502 00:01:00 \u2502 1 \u2502 6.77 \u2502 6.77 \u2502 6.77 \u2502\r\n\u2502 5m \u2502 2026-07-08 23:35:00+00 \u2502 2026-07-08 23:40:00+00 \u2502 raw \u2502 00:01:00 \u2502 5 \u2502 4.60 \u2502 6.77 \u2502 6.75 \u2502\r\n\u2502 1h \u2502 2026-07-08 22:40:00+00 \u2502 2026-07-08 23:40:00+00 \u2502 rollup_1m \u2502 00:01:00 \u2502 6 \u2502 0.39 \u2502 6.77 \u2502 6.75 \u2502\r\n\u2502 1d \u2502 2026-07-07 23:40:00+00 \u2502 2026-07-08 23:40:00+00 \u2502 rollup_1m \u2502 00:01:00 \u2502 6 \u2502 0.02 \u2502 6.77 \u2502 6.75 \u2502\r\n\u2502 1w \u2502 2026-07-01 23:40:00+00 \u2502 2026-07-08 23:40:00+00 \u2502 rollup_1m \u2502 00:01:00 \u2502 6 \u2502 0.00 \u2502 6.77 \u2502 6.75 \u2502\r\n\u2502 1mo \u2502 2026-06-08 23:40:00+00 \u2502 2026-07-08 23:40:00+00 \u2502 rollup_1m \u2502 00:01:00 \u2502 6 \u2502 0.00 \u2502 6.77 \u2502 6.75 \u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n(6 rows)\r\n\r\n\u001b[?2004hdemo=# "] -[34.361095, "o", "\\"] -[34.46286, "o", "e"] -[34.51298, "o", "c"] -[34.609632, "o", "h"] -[34.655537, "o", "o"] -[34.740251, "o", " "] -[34.807952, "o", "-"] -[34.868175, "o", "-"] -[34.926365, "o", " "] -[34.990794, "o", "Q"] -[35.105045, "o", "2"] -[35.167742, "o", ":"] -[35.241398, "o", " "] -[35.316915, "o", "w"] -[35.374754, "o", "h"] -[35.433831, "o", "e"] -[35.55527, "o", "n"] -[35.653924, "o", " "] -[35.711063, "o", "d"] -[35.763344, "o", "i"] -[35.87993, "o", "d"] -[35.943712, "o", " "] -[36.008904, "o", "i"] -[36.095937, "o", "t"] -[36.186523, "o", " "] -[36.244785, "o", "l"] -[36.359577, "o", "a"] -[36.483809, "o", "n"] -[36.592619, "o", "d"] -[36.710371, "o", ","] -[36.991529, "o", " "] -[37.065222, "o", "a"] -[37.148469, "o", "n"] -[37.212384, "o", "d"] -[37.328622, "o", " "] -[37.39287, "o", "w"] -[37.480181, "o", "h"] -[37.562579, "o", "i"] -[37.61781, "o", "c"] -[37.663626, "o", "h"] -[37.743245, "o", " "] -[37.782816, "o", "w"] -[37.825021, "o", "a"] -[37.91735, "o", "i"] -[38.021436, "o", "t"] -[38.094055, "o", " "] -[38.164023, "o", "c"] -[38.215771, "o", "l"] -[38.313849, "o", "a"] -[38.392554, "o", "s"] -[38.497276, "o", "s"] -[38.599184, "o", "?"] -[38.672679, "o", " "] -[38.758991, "o", "("] -[39.046643, "o", "c"] -[39.134566, "o", "o"] -[39.180256, "o", "l"] -[39.285013, "o", "o"] -[39.384435, "o", "r"] -[39.436272, "o", "e"] -[39.499725, "o", "d"] -[39.575577, "o", ")"] -[39.823489, "o", "\r\n\u001b[?2004l\r-- Q2: when did it land, and which wait class? (colored)\r\n\u001b[?2004hdemo=# "] -[40.830603, "o", "s"] -[40.944522, "o", "e"] -[41.045734, "o", "l"] -[41.092456, "o", "e"] -[41.165526, "o", "c"] -[41.216761, "o", "t"] -[41.261859, "o", " "] -[41.312093, "o", "*"] -[41.363507, "o", " "] -[41.421802, "o", "f"] -[41.485234, "o", "r"] -[41.566543, "o", "o"] -[41.63486, "o", "m"] -[41.734159, "o", " "] -[41.796041, "o", "a"] -[41.895364, "o", "s"] -[41.965503, "o", "h"] -[42.035269, "o", "."] -[42.280992, "o", "c"] -[42.349704, "o", "h"] -[42.424559, "o", "a"] -[42.503043, "o", "r"] -[42.619698, "o", "t"] -[42.705828, "o", "("] -[42.980901, "o", "s"] -[43.020517, "o", "i"] -[43.085358, "o", "n"] -[43.19271, "o", "c"] -[43.29096, "o", "e"] -[43.399198, "o", " "] -[43.456408, "o", "="] -[43.558439, "o", ">"] -[43.665325, "o", " "] -[43.723073, "o", "n"] -[43.787024, "o", "o"] -[43.827277, "o", "w"] -[43.925337, "o", "("] -[44.187665, "o", ")"] -[44.466441, "o", " "] -[44.544352, "o", "-"] -[44.625431, "o", " "] -[44.666538, "o", "i"] -[44.774403, "o", "n"] -[44.892031, "o", "t"] -[45.005802, "o", "e"] -[45.106033, "o", "r"] -[45.227846, "o", "v"] -[45.294606, "o", "a"] -[45.403348, "o", "l"] -[45.482657, "o", " "] -[45.543555, "o", "'"] -[45.612438, "o", "5"] -[45.710546, "o", " "] -[45.762021, "o", "m"] -[45.867506, "o", "i"] -[45.977512, "o", "n"] -[46.089574, "o", "u"] -[46.18089, "o", "t"] -[46.272792, "o", "e"] -[46.354845, "o", "s"] -[46.418045, "o", "'"] -[46.519326, "o", ","] -[46.81654, "o", " "] -[46.87665, "o", "b"] -[46.994392, "o", "u"] -[47.057546, "o", "c"] -[47.105413, "o", "k"] -[47.146547, "o", "e"] -[47.261158, "o", "t"] -[47.318997, "o", " "] -[47.385053, "o", "="] -[47.457194, "o", ">"] -[47.578414, "o", " "] -[47.621544, "o", "'"] -[47.73965, "o", "1"] -[47.795255, "o", " "] -[47.83285, "o", "m"] -[47.898115, "o", "i"] -[48.003625, "o", "n"] -[48.127839, "o", "u"] -[48.169595, "o", "t"] -[48.238928, "o", "e"] -[48.280573, "o", "'"] -[48.328266, "o", ","] -[48.561444, "o", " "] -[48.638276, "o", "n"] -[48.681253, "o", " "] -[48.732419, "o", "="] -[48.850918, "o", ">"] -[48.904168, "o", " "] -[48.959213, "o", "4"] -[49.035765, "o", ","] -[49.32529, "o", " "] -[49.401774, "o", "w"] -[49.460886, "o", "i"] -[49.584822, "o", "d"] -[49.697474, "o", "t"] -[49.786286, "o", "h"] -[49.854451, "o", " "] -[49.90863, "o", "="] -[50.003612, "o", ">"] -[50.07186, "o", " "] -[50.117465, "o", "4"] -[50.214049, "o", "0"] -[50.276512, "o", ","] -[50.508719, "o", " "] -[50.567892, "o", "c"] -[50.672535, "o", "o"] -[50.746574, "o", "l"] -[50.789436, "o", "o"] -[50.870226, "o", "r"] -[50.964317, "o", " "] -[51.01697, "o", "="] -[51.06334, "o", ">"] -[51.141212, "o", " "] -[51.197285, "o", "t"] -[51.274215, "o", "r"] -[51.376629, "o", "u"] -[51.469548, "o", "e"] -[51.51834, "o", ")"] -[51.769824, "o", " "] -[51.820157, "o", ":"] -[51.859007, "o", "c"] -[51.96547, "o", "o"] -[52.06605, "o", "l"] -[52.158436, "o", "o"] -[52.256869, "o", "r"] -[52.353194, "o", "\r\n\u001b[?2004l\r"] -[52.402164, "o", "\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 bucket_start \u2502 aas \u2502 detail \u2502 chart \u2502\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502 \u2502 \u2502 \u2502 \u001b[38;2;255;085;085m\u2588\u001b[0m Lock:tuple \u001b[38;2;255;085;085m\u2593\u001b[0m Lock:transactionid \u001b[38;2;255;165;000m\u2591\u001b[0m Timeout:PgSleep \u001b[38;2;080;250;123m\u2592\u001b[0m CPU* \u001b[38;2;180;180;180m\u00b7\u001b[0m Other \u2502\r\n\u2502 2026-07-08 23:36:00+00 \u2502 2.62 \u2502 Lock:tuple=1.13 Lock:transactionid=0.28 Timeout:PgSleep=0.30 CPU*=0.47 Other=0.44 \u2502 \u001b[38;2;255;085;085m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[0m\u001b[38;2;255;085;085m\u2593\u2593\u001b[0m\u001b[38;2;255;165;000m\u2591\u2591\u001b[0m\u001b[38;2;080;250;123m\u2592\u2592\u2592\u001b[0m\u001b[38;2;180;180;180m\u00b7\u00b7\u00b7\u001b[0m \u2502\r\n\u2502 2026-07-08 23:37:00+00 \u2502 6.45 \u2502 Lock:tuple=3.82 Lock:transactionid=0.97 Timeout:PgSleep=0.97 CPU*=0.35 Other=0.34 \u2502 \u001b[38;2;255;085;085m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[0m\u001b[38;2;255;085;085m\u2593\u2593\u2593\u2593\u2593\u2593\u001b[0m\u001b[38;2;255;165;000m\u2591\u2591\u2591\u2591\u2591\u2591\u001b[0m\u001b[38;2;080;250;123m\u2592\u2592\u001b[0m\u001b[38;2;180;180;180m\u00b7\u00b7\u001b[0m \u2502\r\n\u2502 2026-07-08 23:38:00+00 \u2502 6.45 \u2502 Lock:tuple=3.75 Lock:transactionid=1.05 Timeout:PgSleep=0.97 CPU*=0.35 Other=0.33 \u2502 \u001b[38;2;255;085;085m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[0m\u001b[38;2;255;085;085m\u2593\u2593\u2593\u2593\u2593\u2593\u001b[0m\u001b[38;2;255;165;000m\u2591\u2591\u2591\u2591\u2591\u2591\u001b[0m\u001b[38;2;080;250;123m\u2592\u2592\u001b[0m\u001b[38;2;180;180;180m\u00b7\u00b7\u001b[0m \u2502\r\n\u2502 2026-07-08 23:39:00+00 \u2502 6.77 \u2502 Lock:tuple=3.82 Lock:transactionid=1.10 Timeout:PgSleep=1.00 CPU*=0.40 Other=0.45 \u2502 \u001b[38;2;255;085;085m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[0m\u001b[38;2;255;085;085m\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u001b[0m\u001b[38;2;255;165"] -[52.402446, "o", ";000m\u2591\u2591\u2591\u2591\u2591\u2591\u001b[0m\u001b[38;2;080;250;123m\u2592\u2592\u001b[0m\u001b[38;2;180;180;180m\u00b7\u00b7\u00b7\u001b[0m \u2502\r\n\u2502 2026-07-08 23:40:00+00 \u2502 6.43 \u2502 Lock:tuple=3.70 Lock:transactionid=1.00 Timeout:PgSleep=0.95 CPU*=0.43 Other=0.35 \u2502 \u001b[38;2;255;085;085m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[0m\u001b[38;2;255;085;085m\u2593\u2593\u2593\u2593\u2593\u2593\u001b[0m\u001b[38;2;255;165;000m\u2591\u2591\u2591\u2591\u2591\u2591\u001b[0m\u001b[38;2;080;250;123m\u2592\u2592\u2592\u001b[0m\u001b[38;2;180;180;180m\u00b7\u00b7\u001b[0m \u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n(6 rows)\r\n\r\n"] -[52.403458, "o", "\u001b[?2004hdemo=# "] -[57.162188, "o", "\\"] -[57.287169, "o", "e"] -[57.343938, "o", "c"] -[57.404383, "o", "h"] -[57.466797, "o", "o"] -[57.515037, "o", " "] -[57.579313, "o", "-"] -[57.701181, "o", "-"] -[57.825295, "o", " "] -[57.880093, "o", "Q"] -[57.977661, "o", "3"] -[58.074162, "o", ":"] -[58.133227, "o", " "] -[58.206043, "o", "w"] -[58.275812, "o", "h"] -[58.409815, "o", "i"] -[58.498252, "o", "c"] -[58.539897, "o", "h"] -[58.598003, "o", " "] -[58.672412, "o", "w"] -[58.746308, "o", "a"] -[58.876451, "o", "i"] -[58.952411, "o", "t"] -[59.000054, "o", " "] -[59.076536, "o", "e"] -[59.198919, "o", "v"] -[59.257936, "o", "e"] -[59.316606, "o", "n"] -[59.403456, "o", "t"] -[59.486551, "o", " "] -[59.542289, "o", "i"] -[59.663894, "o", "s"] -[59.790189, "o", " "] -[59.83241, "o", "d"] -[59.907831, "o", "o"] -[59.951144, "o", "m"] -[60.021789, "o", "i"] -[60.061824, "o", "n"] -[60.110335, "o", "a"] -[60.229813, "o", "t"] -[60.321879, "o", "i"] -[60.401797, "o", "n"] -[60.506564, "o", "g"] -[60.60258, "o", "?"] -[60.667613, "o", "\r\n\u001b[?2004l\r"] -[60.670289, "o", "-- Q3: which wait event is dominating?\r\n\u001b[?2004hdemo=# "] -[61.681954, "o", "s"] -[61.806379, "o", "e"] -[61.9203, "o", "l"] -[61.958418, "o", "e"] -[62.045828, "o", "c"] -[62.095394, "o", "t"] -[62.152709, "o", " "] -[62.229372, "o", "*"] -[62.290921, "o", " "] -[62.341083, "o", "f"] -[62.394718, "o", "r"] -[62.467322, "o", "o"] -[62.506834, "o", "m"] -[62.605256, "o", " "] -[62.673373, "o", "a"] -[62.799771, "o", "s"] -[62.904193, "o", "h"] -[62.969246, "o", "."] -[63.206462, "o", "t"] -[63.257871, "o", "o"] -[63.381062, "o", "p"] -[63.452145, "o", "("] -[63.745849, "o", "'"] -[63.855651, "o", "w"] -[63.92573, "o", "a"] -[64.022154, "o", "i"] -[64.077992, "o", "t"] -[64.199503, "o", "_"] -[64.251302, "o", "e"] -[64.362211, "o", "v"] -[64.446096, "o", "e"] -[64.505734, "o", "n"] -[64.615081, "o", "t"] -[64.695065, "o", "'"] -[64.757344, "o", ","] -[65.038037, "o", " "] -[65.091529, "o", "s"] -[65.144637, "o", "i"] -[65.267242, "o", "n"] -[65.34152, "o", "c"] -[65.390255, "o", "e"] -[65.493151, "o", " "] -[65.561253, "o", "="] -[65.638499, "o", ">"] -[65.724358, "o", " "] -[65.76975, "o", "n"] -[65.891861, "o", "o"] -[65.951004, "o", "w"] -[66.059013, "o", "("] -[66.350423, "o", ")"] -[66.593399, "o", " "] -[66.643976, "o", "-"] -[66.748154, "o", " "] -[66.807228, "o", "i"] -[66.935169, "o", "n"] -[67.052812, "o", "t"] -[67.138664, "o", "e"] -[67.195688, "o", "r"] -[67.324578, "o", "v"] -[67.416015, "o", "a"] -[67.511721, "o", "l"] -[67.562458, "o", " "] -[67.626651, "o", "'"] -[67.696344, "o", "5"] -[67.812224, "o", " "] -[67.861219, "o", "m"] -[67.905219, "o", "i"] -[68.032574, "o", "n"] -[68.106649, "o", "u"] -[68.213076, "o", "t"] -[68.338554, "o", "e"] -[68.434322, "o", "s"] -[68.554889, "o", "'"] -[68.671586, "o", ","] -[68.922777, "o", " "] -[68.983929, "o", "n"] -[69.083583, "o", " "] -[69.148138, "o", "="] -[69.272444, "o", ">"] -[69.398262, "o", " "] -[69.471482, "o", "6"] -[69.58209, "o", ")"] -[69.820251, "o", "; "] -[70.071635, "o", "\r\n"] -[70.073557, "o", "\u001b[?2004l\r"] -[70.119186, "o", "\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 key \u2502 query_text \u2502 source \u2502 avg_aas \u2502 peak_aas \u2502 p99_aas \u2502 backend_seconds \u2502 pct \u2502\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502 Lock:tuple \u2502 \u2502 raw \u2502 3.24 \u2502 3.82 \u2502 3.82 \u2502 973.00 \u2502 56.47 \u2502\r\n\u2502 Lock:transactionid \u2502 \u2502 raw \u2502 0.88 \u2502 1.10 \u2502 1.10 \u2502 264.00 \u2502 15.32 \u2502\r\n\u2502 Timeout:PgSleep \u2502 \u2502 raw \u2502 0.84 \u2502 1.00 \u2502 1.00 \u2502 251.00 \u2502 14.57 \u2502\r\n\u2502 CPU* \u2502 \u2502 raw \u2502 0.40 \u2502 0.47 \u2502 0.47 \u2502 120.00 \u2502 6.96 \u2502\r\n\u2502 Client:ClientRead \u2502 \u2502 raw \u2502 0.38 \u2502 0.45 \u2502 0.45 \u2502 115.00 \u2502 6.67 \u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n(5 rows)\r\n\r\n\u001b[?2004h"] -[70.119423, "o", "demo=# "] -[74.683798, "o", "\\"] -[74.736355, "o", "e"] -[74.782388, "o", "c"] -[74.900934, "o", "h"] -[74.959388, "o", "o"] -[75.061472, "o", " "] -[75.138866, "o", "-"] -[75.250343, "o", "-"] -[75.342089, "o", " "] -[75.415679, "o", "Q"] -[75.489318, "o", "4"] -[75.529403, "o", ":"] -[75.60801, "o", " "] -[75.650385, "o", "w"] -[75.77353, "o", "h"] -[75.823224, "o", "i"] -[75.881066, "o", "c"] -[75.995354, "o", "h"] -[76.115407, "o", " "] -[76.178964, "o", "q"] -[76.266083, "o", "u"] -[76.315839, "o", "e"] -[76.391575, "o", "r"] -[76.484693, "o", "y"] -[76.526665, "o", " "] -[76.597731, "o", "i"] -[76.723362, "o", "s"] -[76.796892, "o", " "] -[76.83498, "o", "s"] -[76.924864, "o", "t"] -[76.98299, "o", "u"] -[77.033168, "o", "c"] -[77.120336, "o", "k"] -[77.232659, "o", " "] -[77.281882, "o", "o"] -[77.363055, "o", "n"] -[77.436418, "o", " "] -[77.513399, "o", "L"] -[77.621469, "o", "o"] -[77.673906, "o", "c"] -[77.798416, "o", "k"] -[77.921217, "o", ":"] -[77.992617, "o", "t"] -[78.111811, "o", "u"] -[78.209394, "o", "p"] -[78.288373, "o", "l"] -[78.367168, "o", "e"] -[78.468987, "o", "?"] -[78.575209, "o", "\r\n\u001b[?2004l\r-- Q4: which query is stuck on Lock:tuple?\r\n\u001b[?2004hdemo=# "] -[79.582446, "o", "s"] -[79.628384, "o", "e"] -[79.716386, "o", "l"] -[79.765315, "o", "e"] -[79.840864, "o", "c"] -[79.900606, "o", "t"] -[80.019306, "o", " "] -[80.083644, "o", "*"] -[80.171914, "o", " "] -[80.232191, "o", "f"] -[80.340547, "o", "r"] -[80.385801, "o", "o"] -[80.499053, "o", "m"] -[80.566561, "o", " "] -[80.634515, "o", "a"] -[80.677916, "o", "s"] -[80.788458, "o", "h"] -[80.870551, "o", "."] -[81.159684, "o", "t"] -[81.223351, "o", "o"] -[81.335373, "o", "p"] -[81.378815, "o", "("] -[81.611504, "o", "'"] -[81.718682, "o", "q"] -[81.770519, "o", "u"] -[81.839182, "o", "e"] -[81.953178, "o", "r"] -[82.06726, "o", "y"] -[82.185413, "o", "_"] -[82.240649, "o", "i"] -[82.308609, "o", "d"] -[82.36723, "o", "'"] -[82.421161, "o", ","] -[82.727979, "o", " "] -[82.768023, "o", "s"] -[82.818491, "o", "i"] -[82.941183, "o", "n"] -[82.996438, "o", "c"] -[83.118673, "o", "e"] -[83.191703, "o", " "] -[83.24388, "o", "="] -[83.297298, "o", ">"] -[83.422793, "o", " "] -[83.467891, "o", "n"] -[83.535398, "o", "o"] -[83.588445, "o", "w"] -[83.705763, "o", "("] -[83.991095, "o", ")"] -[84.256335, "o", " "] -[84.305923, "o", "-"] -[84.431011, "o", " "] -[84.477911, "o", "i"] -[84.57973, "o", "n"] -[84.655424, "o", "t"] -[84.700953, "o", "e"] -[84.770403, "o", "r"] -[84.886995, "o", "v"] -[84.946477, "o", "a"] -[85.056208, "o", "l"] -[85.15994, "o", " "] -[85.212803, "o", "'"] -[85.2544, "o", "5"] -[85.309349, "o", " "] -[85.365135, "o", "m"] -[85.461995, "o", "i"] -[85.556486, "o", "n"] -[85.623509, "o", "u"] -[85.723459, "o", "t"] -[85.854351, "o", "e"] -[85.899885, "o", "s"] -[85.948916, "o", "'"] -[85.997371, "o", ","] -[86.2717, "o", " "] -[86.316616, "o", "w"] -[86.41997, "o", "a"] -[86.488045, "o", "i"] -[86.546603, "o", "t"] -[86.635833, "o", "_"] -[86.747258, "o", "e"] -[86.873095, "o", "v"] -[86.922552, "o", "e"] -[87.03005, "o", "n"] -[87.125659, "o", "t"] -[87.177622, "o", " "] -[87.243958, "o", "="] -[87.333425, "o", ">"] -[87.42331, "o", " "] -[87.500039, "o", "'"] -[87.568511, "o", "L"] -[87.680891, "o", "o"] -[87.806916, "o", "c"] -[87.864907, "o", "k"] -[87.95978, "o", ":"] -[88.005265, "o", "t"] -[88.064663, "o", "u"] -[88.132596, "o", "p"] -[88.216091, "o", "l"] -[88.302508, "o", "e"] -[88.381876, "o", "'"] -[88.511446, "o", ","] -[88.774217, "o", " "] -[88.834903, "o", "n"] -[88.909208, "o", " "] -[88.973391, "o", "="] -[89.090367, "o", ">"] -[89.159072, "o", " "] -[89.211872, "o", "3"] -[89.258377, "o", ")"] -[89.529687, "o", "; "] -[89.769926, "o", "\r\n"] -[89.771445, "o", "\u001b[?2004l\r"] -[89.808538, "o", "\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 key \u2502 query_text \u2502 source \u2502 avg_aas \u2502 peak_aas \u2502 p99_aas \u2502 backend_seconds \u2502 pct \u2502\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502 1996686988898780010 \u2502 update pgbench_accounts set abalance = abalance - $1 where aid = $2 \u2502 raw \u2502 3.24 \u2502 3.82 \u2502 3.82 \u2502 972.00 \u2502 99.90 \u2502\r\n\u2502 \u2502 \u2502 raw \u2502 0.00 \u2502 0.02 \u2502 0.02 \u2502 1.00 \u2502 0.10 \u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n(2 rows)\r\n\r\n\u001b[?2004hdemo=# "] -[94.380479, "o", "s"] -[94.451221, "o", "e"] -[94.498271, "o", "l"] -[94.601289, "o", "e"] -[94.649125, "o", "c"] -[94.762776, "o", "t"] -[94.857364, "o", " "] -[94.926598, "o", "k"] -[95.055661, "o", "e"] -[95.155553, "o", "y"] -[95.254086, "o", " "] -[95.302249, "o", "a"] -[95.405235, "o", "s"] -[95.506654, "o", " "] -[95.576802, "o", "t"] -[95.635352, "o", "o"] -[95.68552, "o", "p"] -[95.742632, "o", "_"] -[95.851487, "o", "q"] -[95.896853, "o", "i"] -[96.008612, "o", "d"] -[96.123942, "o", " "] -[96.182859, "o", "f"] -[96.267592, "o", "r"] -[96.398613, "o", "o"] -[96.508409, "o", "m"] -[96.581399, "o", " "] -[96.656514, "o", "a"] -[96.749872, "o", "s"] -[96.794253, "o", "h"] -[96.905195, "o", "."] -[97.137539, "o", "t"] -[97.243092, "o", "o"] -[97.358145, "o", "p"] -[97.415593, "o", "("] -[97.661857, "o", "'"] -[97.779209, "o", "q"] -[97.896381, "o", "u"] -[98.00086, "o", "e"] -[98.12983, "o", "r"] -[98.17144, "o", "y"] -[98.277919, "o", "_"] -[98.368374, "o", "i"] -[98.413569, "o", "d"] -[98.457373, "o", "'"] -[98.567402, "o", ","] -[98.866066, "o", " "] -[98.924055, "o", "s"] -[99.041247, "o", "i"] -[99.165622, "o", "n"] -[99.279776, "o", "c"] -[99.393045, "o", "e"] -[99.518138, "o", " "] -[99.589601, "o", "="] -[99.656895, "o", ">"] -[99.756785, "o", " "] -[99.833534, "o", "n"] -[99.917453, "o", "o"] -[100.040653, "o", "w"] -[100.111233, "o", "("] -[100.353741, "o", ")"] -[100.654202, "o", " "] -[100.695197, "o", "-"] -[100.796849, "o", " "] -[100.846665, "o", "i"] -[100.911726, "o", "n"] -[100.965363, "o", "t"] -[101.003234, "o", "e"] -[101.08812, "o", "r"] -[101.202839, "o", "v"] -[101.262337, "o", "a"] -[101.320744, "o", "l"] -[101.417658, "o", " "] -[101.477361, "o", "'"] -[101.58355, "o", "5"] -[101.659821, "o", " "] -[101.707989, "o", "m"] -[101.779311, "o", "i"] -[101.88815, "o", "n"] -[101.948269, "o", "u"] -[102.069971, "o", "t"] -[102.110853, "o", "e"] -[102.237175, "o", "s"] -[102.344295, "o", "'"] -[102.38693, "o", ","] -[102.650444, "o", " "] -[102.693072, "o", "w"] -[102.750805, "o", "a"] -[102.837638, "o", "i"] -[102.95058, "o", "t"] -[103.034338, "o", "_"] -[103.120921, "o", "e"] -[103.203965, "o", "v"] -[103.316071, "o", "e"] -[103.409494, "o", "n"] -[103.503094, "o", "t"] -[103.575587, "o", " "] -[103.647982, "o", "="] -[103.689314, "o", ">"] -[103.728083, "o", " "] -[103.803086, "o", "'"] -[103.882584, "o", "L"] -[103.954785, "o", "o"] -[104.044888, "o", "c"] -[104.12347, "o", "k"] -[104.173434, "o", ":"] -[104.244246, "o", "t"] -[104.352169, "o", "u"] -[104.451233, "o", "p"] -[104.551666, "o", "l"] -[104.594682, "o", "e"] -[104.6859, "o", "'"] -[104.72983, "o", ","] -[105.01041, "o", " "] -[105.075318, "o", "n"] -[105.181313, "o", " "] -[105.237865, "o", "="] -[105.277687, "o", ">"] -[105.323444, "o", " "] -[105.381622, "o", "1"] -[105.470688, "o", ")"] -[105.748275, "o", " "] -[105.808225, "o", "\\"] -[105.926235, "o", "g"] -[106.022629, "o", "s"] -[106.120195, "o", "e"] -[106.190709, "o", "t"] -[106.259649, "o", "\r\n\u001b[?2004l\r"] -[106.292802, "o", "\u001b[?2004h"] -[106.293203, "o", "demo=# "] -[106.767753, "o", "\\"] -[106.888699, "o", "e"] -[107.010015, "o", "c"] -[107.067759, "o", "h"] -[107.167501, "o", "o"] -[107.208731, "o", " "] -[107.274995, "o", "-"] -[107.395245, "o", "-"] -[107.491401, "o", " "] -[107.560167, "o", "Q"] -[107.654012, "o", "5"] -[107.706834, "o", ":"] -[107.815416, "o", " "] -[107.888054, "o", "f"] -[107.97377, "o", "u"] -[108.103223, "o", "l"] -[108.21792, "o", "l"] -[108.265741, "o", " "] -[108.323985, "o", "w"] -[108.425273, "o", "a"] -[108.540669, "o", "i"] -[108.669754, "o", "t"] -[108.792812, "o", " "] -[108.850885, "o", "p"] -[108.916937, "o", "r"] -[109.00005, "o", "o"] -[109.086096, "o", "f"] -[109.181826, "o", "i"] -[109.226423, "o", "l"] -[109.311386, "o", "e"] -[109.406943, "o", " "] -[109.455398, "o", "o"] -[109.504546, "o", "f"] -[109.590166, "o", " "] -[109.633865, "o", "t"] -[109.732758, "o", "h"] -[109.832051, "o", "e"] -[109.936581, "o", " "] -[110.007513, "o", "t"] -[110.114803, "o", "o"] -[110.162635, "o", "p"] -[110.247396, "o", " "] -[110.301499, "o", "g"] -[110.410159, "o", "u"] -[110.451257, "o", "i"] -[110.5695, "o", "l"] -[110.622001, "o", "t"] -[110.748571, "o", "y"] -[110.790888, "o", " "] -[110.856799, "o", "q"] -[110.978956, "o", "u"] -[111.062343, "o", "e"] -[111.179101, "o", "r"] -[111.243814, "o", "y"] -[111.291612, "o", "?"] -[111.347402, "o", "\r\n\u001b[?2004l\r"] -[111.347939, "o", "-- Q5: full wait profile of the top guilty query?\r\n\u001b[?2004hdemo=# "] -[112.35422, "o", "s"] -[112.459102, "o", "e"] -[112.508873, "o", "l"] -[112.603321, "o", "e"] -[112.694811, "o", "c"] -[112.812971, "o", "t"] -[112.870375, "o", " "] -[112.934076, "o", "*"] -[113.016577, "o", " "] -[113.088166, "o", "f"] -[113.177957, "o", "r"] -[113.21734, "o", "o"] -[113.254358, "o", "m"] -[113.317633, "o", " "] -[113.39759, "o", "a"] -[113.43829, "o", "s"] -[113.518174, "o", "h"] -[113.574902, "o", "."] -[113.867861, "o", "t"] -[113.985887, "o", "o"] -[114.030534, "o", "p"] -[114.08049, "o", "("] -[114.38321, "o", "'"] -[114.43855, "o", "w"] -[114.540088, "o", "a"] -[114.637354, "o", "i"] -[114.769337, "o", "t"] -[114.823668, "o", "_"] -[114.911569, "o", "e"] -[115.034273, "o", "v"] -[115.095349, "o", "e"] -[115.215448, "o", "n"] -[115.300947, "o", "t"] -[115.427004, "o", "'"] -[115.536987, "o", ","] -[115.819144, "o", " "] -[115.877081, "o", "s"] -[115.94047, "o", "i"] -[115.979496, "o", "n"] -[116.042948, "o", "c"] -[116.159471, "o", "e"] -[116.19865, "o", " "] -[116.243047, "o", "="] -[116.301883, "o", ">"] -[116.359363, "o", " "] -[116.4171, "o", "n"] -[116.506266, "o", "o"] -[116.618428, "o", "w"] -[116.68932, "o", "("] -[116.93242, "o", ")"] -[117.191513, "o", " "] -[117.243383, "o", "-"] -[117.298889, "o", " "] -[117.364981, "o", "i"] -[117.406618, "o", "n"] -[117.451618, "o", "t"] -[117.555315, "o", "e"] -[117.624893, "o", "r"] -[117.715707, "o", "v"] -[117.758437, "o", "a"] -[117.849553, "o", "l"] -[117.962884, "o", " "] -[118.025295, "o", "'"] -[118.102665, "o", "5"] -[118.205833, "o", " "] -[118.282573, "o", "m"] -[118.361161, "o", "i"] -[118.458463, "o", "n"] -[118.53356, "o", "u"] -[118.630688, "o", "t"] -[118.685143, "o", "e"] -[118.767272, "o", "s"] -[118.842593, "o", "'"] -[118.942771, "o", ","] -[119.190701, "o", " "] -[119.259822, "o", "q"] -[119.347226, "o", "u"] -[119.454826, "o", "e"] -[119.574976, "o", "r"] -[119.657459, "o", "y"] -[119.705154, "o", "_"] -[119.793471, "o", "i"] -[119.908293, "o", "d"] -[120.034607, "o", " "] -[120.078459, "o", "="] -[120.129996, "o", ">"] -[120.19844, "o", " "] -[120.259393, "o", ":"] -[120.366581, "o", "t"] -[120.482935, "o", "o"] -[120.526608, "o", "p"] -[120.567622, "o", "_"] -[120.666612, "o", "q"] -[120.760496, "o", "i"] -[120.819785, "o", "d"] -[120.895196, "o", ","] -[121.121919, "o", " "] -[121.171212, "o", "n"] -[121.287682, "o", " "] -[121.328193, "o", "="] -[121.448885, "o", ">"] -[121.508994, "o", " "] -[121.558586, "o", "5"] -[121.656284, "o", ")"] -[121.937357, "o", "; "] -[122.178695, "o", "\r\n\u001b[?2004l\r"] -[122.255096, "o", "\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 key \u2502 query_text \u2502 source \u2502 avg_aas \u2502 peak_aas \u2502 p99_aas \u2502 backend_seconds \u2502 pct \u2502\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502 Lock:tuple \u2502 \u2502 raw \u2502 3.77 \u2502 3.82 \u2502 3.82 \u2502 1130.00 \u2502 78.31 \u2502\r\n\u2502 Lock:transactionid \u2502 \u2502 raw \u2502 1.04 \u2502 1.10 \u2502 1.10 \u2502 311.00 \u2502 21.55 \u2502\r\n\u2502 CPU* \u2502 \u2502 raw \u2502 0.01 \u2502 0.02 \u2502 0.02 \u2502 2.00 \u2502 0.14 \u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n(3 rows)\r\n\r\n\u001b[?2004hdemo=# "] -[126.986034, "o", "\\"] -[127.056153, "o", "e"] -[127.166409, "o", "c"] -[127.263894, "o", "h"] -[127.374929, "o", "o"] -[127.430751, "o", " "] -[127.468945, "o", "\r\n\u001b[?2004l\r\r\n\u001b[?2004hdemo=# "] -[127.67921, "o", "\\"] -[127.729462, "o", "e"] -[127.849338, "o", "c"] -[127.969835, "o", "h"] -[128.0883, "o", "o"] -[128.166838, "o", " "] -[128.2373, "o", "-"] -[128.316185, "o", "-"] -[128.384561, "o", " "] -[128.424467, "o", "R"] -[128.532079, "o", "o"] -[128.584711, "o", "o"] -[128.684839, "o", "t"] -[128.778368, "o", " "] -[128.82855, "o", "c"] -[128.882665, "o", "a"] -[128.963185, "o", "u"] -[129.081243, "o", "s"] -[129.200487, "o", "e"] -[129.303177, "o", ":"] -[129.3835, "o", " "] -[129.458294, "o", "c"] -[129.542058, "o", "o"] -[129.642601, "o", "n"] -[129.740908, "o", "c"] -[129.819624, "o", "u"] -[129.874825, "o", "r"] -[129.962035, "o", "r"] -[130.000934, "o", "e"] -[130.081166, "o", "n"] -[130.171304, "o", "t"] -[130.258609, "o", " "] -[130.31283, "o", "U"] -[130.415596, "o", "P"] -[130.486192, "o", "D"] -[130.579539, "o", "A"] -[130.640937, "o", "T"] -[130.719188, "o", "E"] -[130.830145, "o", "s"] -[130.911066, "o", " "] -[130.962359, "o", "o"] -[131.066077, "o", "n"] -[131.193622, "o", " "] -[131.237876, "o", "t"] -[131.351993, "o", "h"] -[131.475324, "o", "e"] -[131.595986, "o", " "] -[131.666532, "o", "s"] -[131.707496, "o", "a"] -[131.806363, "o", "m"] -[131.850069, "o", "e"] -[131.928653, "o", " "] -[131.995222, "o", "r"] -[132.095236, "o", "o"] -[132.144572, "o", "w"] -[132.198031, "o", "."] -[132.477703, "o", "\r\n\u001b[?2004l\r"] -[132.477841, "o", "-- Root cause: concurrent UPDATEs on the same row.\r\n\u001b[?2004hdemo=# "] -[133.884383, "o", "\\"] -[133.936246, "o", "e"] -[134.009597, "o", "c"] -[134.127154, "o", "h"] -[134.188978, "o", "o"] -[134.282385, "o", " "] -[134.356737, "o", "-"] -[134.462613, "o", "-"] -[134.567019, "o", " "] -[134.610311, "o", "p"] -[134.687644, "o", "g"] -[134.75841, "o", "_"] -[134.83861, "o", "a"] -[134.920369, "o", "s"] -[135.01747, "o", "h"] -[135.059488, "o", ":"] -[135.127423, "o", " "] -[135.184146, "o", "p"] -[135.260464, "o", "u"] -[135.370674, "o", "r"] -[135.44695, "o", "e"] -[135.507242, "o", " "] -[135.557011, "o", "S"] -[135.629664, "o", "Q"] -[135.711477, "o", "L"] -[135.757666, "o", "."] -[135.998434, "o", " "] -[136.047129, "o", "N"] -[136.088469, "o", "o"] -[136.202921, "o", " "] -[136.249391, "o", "e"] -[136.366329, "o", "x"] -[136.406937, "o", "t"] -[136.530745, "o", "e"] -[136.648534, "o", "n"] -[136.766251, "o", "s"] -[136.822269, "o", "i"] -[136.913537, "o", "o"] -[137.041226, "o", "n"] -[137.131636, "o", "."] -[137.392853, "o", " "] -[137.459144, "o", "N"] -[137.542485, "o", "o"] -[137.612021, "o", " "] -[137.68617, "o", "r"] -[137.793873, "o", "e"] -[137.890611, "o", "s"] -[137.971584, "o", "t"] -[138.085875, "o", "a"] -[138.216387, "o", "r"] -[138.254494, "o", "t"] -[138.305837, "o", "."] -[138.576485, "o", " "] -[138.648809, "o", "W"] -[138.717733, "o", "o"] -[138.797165, "o", "r"] -[138.868908, "o", "k"] -[138.973052, "o", "s"] -[139.053742, "o", " "] -[139.098536, "o", "e"] -[139.176279, "o", "v"] -[139.289939, "o", "e"] -[139.392728, "o", "r"] -[139.507133, "o", "y"] -[139.575833, "o", "w"] -[139.691099, "o", "h"] -[139.751545, "o", "e"] -[139.798733, "o", "r"] -[139.861982, "o", "e"] -[139.953131, "o", "."] -[140.209802, "o", "\r\n\u001b[?2004l\r"] -[140.210266, "o", "-- pg_ash: pure SQL. No extension. No restart. Works everywhere.\r\n\u001b[?2004hdemo=# "] -[143.717671, "o", "\\"] -[143.822791, "o", "q"] -[143.940937, "o", "\r\n\u001b[?2004l\r"] +[0.0, "o", "\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\r\n\u2551 \u2551\r\n\u2551 pg_ash v2.0 \u2014 Active Session History for Postgres \u2551\r\n\u2551 \u2551\r\n\u2551 Pure SQL. No extension. Installs via \\i on RDS / Cloud SQL / Supabase / Neon. \u2551\r\n\u2551 \u2551\r\n\u2551 Investigation: something just spiked in the last minute. Let's find out what. \u2551\r\n\u2551 \u2551\r\n\u255a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255d\r\n"] +[0.074751, "o", "\u001b[0m\r\n"] +[0.115615, "o", "psql (18.4 (Debian 18.4-1.pgdg13+1))\r\nType \"help\" for help.\r\n\r\n"] +[0.118437, "o", "\u001b[?2004h"] +[0.118732, "o", "demo=# "] +[4.43142, "o", "s"] +[4.47723, "o", "e"] +[4.597172, "o", "l"] +[4.690296, "o", "e"] +[4.743948, "o", "c"] +[4.86098, "o", "t"] +[4.917349, "o", " "] +[4.983771, "o", "*"] +[5.065468, "o", " "] +[5.136845, "o", "f"] +[5.257659, "o", "r"] +[5.382005, "o", "o"] +[5.499774, "o", "m"] +[5.591223, "o", " "] +[5.640929, "o", "a"] +[5.769476, "o", "s"] +[5.853017, "o", "h"] +[5.944908, "o", "."] +[6.187946, "o", "s"] +[6.260684, "o", "t"] +[6.322904, "o", "a"] +[6.410397, "o", "t"] +[6.533097, "o", "u"] +[6.622868, "o", "s"] +[6.701096, "o", "("] +[6.924341, "o", ")"] +[7.147515, "o", " "] +[7.213035, "o", "w"] +[7.328012, "o", "h"] +[7.451131, "o", "e"] +[7.489938, "o", "r"] +[7.548247, "o", "e"] +[7.656027, "o", " "] +[7.707234, "o", "m"] +[7.829906, "o", "e"] +[7.93267, "o", "t"] +[7.978677, "o", "r"] +[8.058437, "o", "i"] +[8.126046, "o", "c"] +[8.23918, "o", " "] +[8.31085, "o", "i"] +[8.370027, "o", "n"] +[8.458464, "o", " "] +[8.534984, "o", "("] +[8.768445, "o", "'"] +[8.818377, "o", "v"] +[8.908487, "o", "e"] +[8.980258, "o", "r"] +[9.078785, "o", "s"] +[9.195662, "o", "i"] +[9.295222, "o", "o"] +[9.389123, "o", "n"] +[9.453877, "o", "'"] +[9.520219, "o", ","] +[9.805416, "o", "'"] +[9.886733, "o", "s"] +[9.934402, "o", "a"] +[10.045973, "o", "m"] +[10.171265, "o", "p"] +[10.228173, "o", "l"] +[10.277832, "o", "i"] +[10.359562, "o", "n"] +[10.41573, "o", "g"] +[10.508215, "o", "_"] +[10.592744, "o", "e"] +[10.723339, "o", "n"] +[10.781226, "o", "a"] +[10.836359, "o", "b"] +[10.898691, "o", "l"] +[10.951708, "o", "e"] +[11.076419, "o", "d"] +[11.113048, "o", "'"] +[11.213099, "o", ","] +[11.507865, "o", "'"] +[11.633224, "o", "s"] +[11.754831, "o", "a"] +[11.853213, "o", "m"] +[11.955876, "o", "p"] +[12.012925, "o", "l"] +[12.099714, "o", "e"] +[12.193842, "o", "_"] +[12.263678, "o", "i"] +[12.385565, "o", "n"] +[12.50202, "o", "t"] +[12.627092, "o", "e"] +[12.743811, "o", "r"] +[12.817449, "o", "v"] +[12.927823, "o", "a"] +[13.012219, "o", "l"] +[13.084881, "o", "'"] +[13.130608, "o", ","] +[13.427924, "o", "'"] +[13.475037, "o", "s"] +[13.545831, "o", "a"] +[13.619892, "o", "m"] +[13.67965, "o", "p"] +[13.760588, "o", "l"] +[13.871957, "o", "e"] +[13.985427, "o", "s"] +[14.080175, "o", "_"] +[14.135613, "o", "t"] +[14.253472, "o", "o"] +[14.348138, "o", "t"] +[14.448915, "o", "a"] +[14.545964, "o", "l"] +[14.670839, "o", "'"] +[14.782649, "o", ","] +[15.078006, "o", "'"] +[15.191506, "o", "p"] +[15.288628, "o", "g"] +[15.353, "o", "_"] +[15.480092, "o", "c"] +[15.565635, "o", "r"] +[15.665972, "o", "o"] +[15.748657, "o", "n"] +[15.819068, "o", "_"] +[15.918422, "o", "a"] +[15.972607, "o", "v"] +[16.014831, "o", "a"] +[16.132023, "o", "i"] +[16.217152, "o", "l"] +[16.296813, "o", "a"] +[16.342789, "o", "b"] +[16.388786, "o", "l"] +[16.455731, "o", "e"] +[16.51815, "o", "'"] +[16.610504, "o", ")"] +[16.834054, "o", "; "] +[17.091454, "o", "\r\n\u001b[?2004l\r"] +[17.12007, "o", "\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 metric \u2502 value \u2502\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502 version \u2502 2.0-beta1 \u2502\r\n\u2502 sampling_enabled \u2502 true \u2502\r\n\u2502 sample_interval \u2502 00:00:01 \u2502\r\n\u2502 samples_total \u2502 311 \u2502\r\n\u2502 pg_cron_available \u2502 yes \u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n(5 rows)\r\n\r\n\u001b[?2004hdemo=# "] +[20.892244, "o", "\\"] +[20.946049, "o", "e"] +[21.006327, "o", "c"] +[21.059663, "o", "h"] +[21.180354, "o", "o"] +[21.247444, "o", " "] +[21.319056, "o", "-"] +[21.428998, "o", "-"] +[21.466781, "o", " "] +[21.542196, "o", "Q"] +[21.661789, "o", "1"] +[21.699616, "o", ":"] +[21.756979, "o", " "] +[21.825544, "o", "t"] +[21.880898, "o", "r"] +[22.004652, "o", "i"] +[22.128382, "o", "a"] +[22.192102, "o", "g"] +[22.307269, "o", "e"] +[22.388862, "o", " "] +[22.452209, "o", "\u2014"] +[22.567764, "o", " "] +[22.631426, "o", "i"] +[22.670036, "o", "s"] +[22.720711, "o", " "] +[22.780804, "o", "i"] +[22.892876, "o", "t"] +[22.928595, "o", " "] +[22.972706, "o", "b"] +[23.047299, "o", "a"] +[23.104079, "o", "d"] +[23.158363, "o", " "] +[23.218747, "o", "r"] +[23.276732, "o", "i"] +[23.388982, "o", "g"] +[23.4577, "o", "h"] +[23.509807, "o", "t"] +[23.602226, "o", " "] +[23.654936, "o", "n"] +[23.756729, "o", "o"] +[23.797151, "o", "w"] +[23.916624, "o", "?"] +[24.000063, "o", " "] +[24.074796, "o", "s"] +[24.187849, "o", "p"] +[24.299275, "o", "i"] +[24.413243, "o", "k"] +[24.495274, "o", "e"] +[24.59703, "o", " "] +[24.643881, "o", "o"] +[24.697183, "o", "r"] +[24.779767, "o", " "] +[24.850607, "o", "s"] +[24.903686, "o", "u"] +[24.999549, "o", "s"] +[25.101672, "o", "t"] +[25.203222, "o", "a"] +[25.303202, "o", "i"] +[25.42274, "o", "n"] +[25.551059, "o", "e"] +[25.609962, "o", "d"] +[25.697019, "o", "?"] +[25.760763, "o", "\r\n\u001b[?2004l\r-- Q1: triage \u2014 is it bad right now? spike or sustained?\r\n\u001b[?2004hdemo=# "] +[26.768339, "o", "s"] +[26.847901, "o", "e"] +[26.939309, "o", "l"] +[26.989109, "o", "e"] +[27.027883, "o", "c"] +[27.126708, "o", "t"] +[27.20669, "o", " "] +[27.277795, "o", "*"] +[27.346611, "o", " "] +[27.422539, "o", "f"] +[27.480191, "o", "r"] +[27.584271, "o", "o"] +[27.659522, "o", "m"] +[27.755863, "o", " "] +[27.822677, "o", "a"] +[27.949937, "o", "s"] +[28.00045, "o", "h"] +[28.057908, "o", "."] +[28.288262, "o", "p"] +[28.38369, "o", "e"] +[28.466685, "o", "r"] +[28.549378, "o", "i"] +[28.656502, "o", "o"] +[28.730768, "o", "d"] +[28.848437, "o", "s"] +[28.971674, "o", "("] +[29.273517, "o", ")"] +[29.578068, "o", "; "] +[29.80078, "o", "\r\n"] +[29.801061, "o", "\u001b[?2004l\r"] +[29.833014, "o", "\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 period \u2502 period_start \u2502 period_end \u2502 source \u2502 bucket \u2502 buckets_with_data \u2502 avg_aas \u2502 peak_aas \u2502 p99_aas \u2502\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502 1m \u2502 2026-07-09 01:35:00+00 \u2502 2026-07-09 01:36:00+00 \u2502 raw \u2502 00:01:00 \u2502 1 \u2502 6.37 \u2502 6.37 \u2502 6.37 \u2502\r\n\u2502 5m \u2502 2026-07-09 01:31:00+00 \u2502 2026-07-09 01:36:00+00 \u2502 raw \u2502 00:01:00 \u2502 5 \u2502 4.69 \u2502 6.62 \u2502 6.61 \u2502\r\n\u2502 1h \u2502 2026-07-09 00:36:00+00 \u2502 2026-07-09 01:36:00+00 \u2502 rollup_1m \u2502 00:01:00 \u2502 6 \u2502 0.40 \u2502 6.62 \u2502 6.61 \u2502\r\n\u2502 1d \u2502 2026-07-08 01:36:00+00 \u2502 2026-07-09 01:36:00+00 \u2502 rollup_1m \u2502 00:01:00 \u2502 6 \u2502 0.02 \u2502 6.62 \u2502 6.61 \u2502\r\n\u2502 1w \u2502 2026-07-02 01:36:00+00 \u2502 2026-07-09 01:36:00+00 \u2502 rollup_1m \u2502 00:01:00 \u2502 6 \u2502 0.00 \u2502 6.62 \u2502 6.61 \u2502\r\n\u2502 1mo \u2502 2026-06-09 01:36:00+00 \u2502 2026-07-09 01:36:00+00 \u2502 rollup_1m \u2502 00:01:00 \u2502 6 \u2502 0.00 \u2502 6.62 \u2502 6.61 \u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n(6 rows)"] +[29.833355, "o", "\r\n\r\n\u001b[?2004hdemo=# "] +[34.408496, "o", "\\"] +[34.507279, "o", "e"] +[34.562833, "o", "c"] +[34.61757, "o", "h"] +[34.716506, "o", "o"] +[34.79063, "o", " "] +[34.828945, "o", "-"] +[34.896203, "o", "-"] +[34.958038, "o", " "] +[35.001622, "o", "Q"] +[35.115098, "o", "2"] +[35.183825, "o", ":"] +[35.220262, "o", " "] +[35.273441, "o", "w"] +[35.315431, "o", "h"] +[35.352361, "o", "e"] +[35.468134, "o", "n"] +[35.532936, "o", " "] +[35.576885, "o", "d"] +[35.622514, "o", "i"] +[35.726801, "o", "d"] +[35.768542, "o", " "] +[35.830086, "o", "i"] +[35.883266, "o", "t"] +[35.946148, "o", " "] +[36.024964, "o", "l"] +[36.088464, "o", "a"] +[36.159064, "o", "n"] +[36.207626, "o", "d"] +[36.262446, "o", ","] +[36.502984, "o", " "] +[36.567077, "o", "a"] +[36.628265, "o", "n"] +[36.724914, "o", "d"] +[36.841261, "o", " "] +[36.883745, "o", "w"] +[36.979859, "o", "h"] +[37.056311, "o", "i"] +[37.183705, "o", "c"] +[37.29721, "o", "h"] +[37.408242, "o", " "] +[37.486923, "o", "w"] +[37.603732, "o", "a"] +[37.719516, "o", "i"] +[37.817643, "o", "t"] +[37.908714, "o", " "] +[37.95448, "o", "c"] +[38.064259, "o", "l"] +[38.183704, "o", "a"] +[38.232705, "o", "s"] +[38.326212, "o", "s"] +[38.369453, "o", "?"] +[38.426942, "o", " "] +[38.468181, "o", "("] +[38.751716, "o", "c"] +[38.853621, "o", "o"] +[38.976745, "o", "l"] +[39.082901, "o", "o"] +[39.199907, "o", "r"] +[39.326495, "o", "e"] +[39.445157, "o", "d"] +[39.496079, "o", ")"] +[39.791468, "o", "\r\n\u001b[?2004l\r-- Q2: when did it land, and which wait class? (colored)\r\n\u001b[?2004hdemo=# "] +[40.798925, "o", "s"] +[40.85417, "o", "e"] +[40.927741, "o", "l"] +[41.047637, "o", "e"] +[41.162743, "o", "c"] +[41.25525, "o", "t"] +[41.376624, "o", " "] +[41.430769, "o", "*"] +[41.52563, "o", " "] +[41.593757, "o", "f"] +[41.717068, "o", "r"] +[41.768214, "o", "o"] +[41.893824, "o", "m"] +[41.934609, "o", " "] +[41.98549, "o", "a"] +[42.032645, "o", "s"] +[42.1274, "o", "h"] +[42.240427, "o", "."] +[42.50256, "o", "c"] +[42.611154, "o", "h"] +[42.702934, "o", "a"] +[42.778559, "o", "r"] +[42.823828, "o", "t"] +[42.936676, "o", "("] +[43.220062, "o", "s"] +[43.269165, "o", "i"] +[43.387001, "o", "n"] +[43.457535, "o", "c"] +[43.558083, "o", "e"] +[43.610735, "o", " "] +[43.685115, "o", "="] +[43.744423, "o", ">"] +[43.816532, "o", " "] +[43.857919, "o", "n"] +[43.897138, "o", "o"] +[44.008855, "o", "w"] +[44.050228, "o", "("] +[44.283832, "o", ")"] +[44.544077, "o", " "] +[44.597548, "o", "-"] +[44.660177, "o", " "] +[44.707344, "o", "i"] +[44.824595, "o", "n"] +[44.907748, "o", "t"] +[44.961898, "o", "e"] +[45.045844, "o", "r"] +[45.135613, "o", "v"] +[45.197517, "o", "a"] +[45.310408, "o", "l"] +[45.375552, "o", " "] +[45.420308, "o", "'"] +[45.504573, "o", "5"] +[45.567915, "o", " "] +[45.635208, "o", "m"] +[45.762936, "o", "i"] +[45.816115, "o", "n"] +[45.859471, "o", "u"] +[45.905665, "o", "t"] +[45.952076, "o", "e"] +[46.079763, "o", "s"] +[46.155288, "o", "'"] +[46.199005, "o", ","] +[46.484712, "o", " "] +[46.544093, "o", "b"] +[46.642651, "o", "u"] +[46.70415, "o", "c"] +[46.762195, "o", "k"] +[46.82134, "o", "e"] +[46.914234, "o", "t"] +[46.984983, "o", " "] +[47.054809, "o", "="] +[47.178278, "o", ">"] +[47.229354, "o", " "] +[47.293168, "o", "'"] +[47.420454, "o", "1"] +[47.469717, "o", " "] +[47.512813, "o", "m"] +[47.596478, "o", "i"] +[47.661487, "o", "n"] +[47.719628, "o", "u"] +[47.827003, "o", "t"] +[47.875829, "o", "e"] +[47.964405, "o", "'"] +[48.090144, "o", ","] +[48.38779, "o", " "] +[48.441526, "o", "n"] +[48.559058, "o", " "] +[48.60257, "o", "="] +[48.707823, "o", ">"] +[48.811195, "o", " "] +[48.863076, "o", "4"] +[48.984918, "o", ","] +[49.260044, "o", " "] +[49.333794, "o", "w"] +[49.441529, "o", "i"] +[49.519489, "o", "d"] +[49.617356, "o", "t"] +[49.703894, "o", "h"] +[49.77353, "o", " "] +[49.841424, "o", "="] +[49.916101, "o", ">"] +[49.978224, "o", " "] +[50.03773, "o", "4"] +[50.100012, "o", "0"] +[50.201752, "o", ","] +[50.441763, "o", " "] +[50.515201, "o", "c"] +[50.624171, "o", "o"] +[50.738084, "o", "l"] +[50.839396, "o", "o"] +[50.89156, "o", "r"] +[50.963163, "o", " "] +[51.003992, "o", "="] +[51.129048, "o", ">"] +[51.208489, "o", " "] +[51.278346, "o", "t"] +[51.379731, "o", "r"] +[51.491885, "o", "u"] +[51.556874, "o", "e"] +[51.617316, "o", ")"] +[51.844177, "o", " "] +[51.906261, "o", ":"] +[52.009642, "o", "c"] +[52.129407, "o", "o"] +[52.195444, "o", "l"] +[52.305815, "o", "o"] +[52.364164, "o", "r"] +[52.410181, "o", "\r\n\u001b[?2004l\r"] +[52.45776, "o", "\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 bucket_start \u2502 aas \u2502 detail \u2502 chart \u2502\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"] +[52.45815, "o", "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502 \u2502 \u2502 \u2502 \u001b[38;2;255;085;085m\u2588\u001b[0m Lock:tuple \u001b[38;2;255;085;085m\u2593\u001b[0m Lock:transactionid \u001b[38;2;255;165;000m\u2591\u001b[0m Timeout:PgSleep \u001b[38;2;255;220;100m\u2592\u001b[0m Client:ClientRead \u001b[38;2;180;180;180m\u00b7\u001b[0m Other \u2502\r\n\u2502 2026-07-09 01:32:00+00 \u2502 2.90 \u2502 Lock:tuple=1.27 Lock:transactionid=0.33 Timeout:PgSleep=0.33 Client:ClientRead=0.55 Other=0.42 \u2502 \u001b[38;2;255;085;085m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[0m\u001b[38;2;255;085;085m\u2593\u2593\u001b[0m\u001b[38;2;255;165;000m\u2591\u2591\u001b[0m\u001b[38;2;255;220;100m\u2592\u2592\u2592\u001b[0m\u001b[38;2;180;180;180m\u00b7\u00b7\u00b7\u001b[0m \u2502\r\n\u2502 2026-07-09 01:33:00+00 \u2502 6.62 \u2502 Lock:tuple=3.68 Lock:transactionid=1.03 Timeout:PgSleep=0.95 Client:ClientRead=0.40 Other=0.56 \u2502 \u001b[38;2;255;085;085m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[0m\u001b[38;2;255;085;085m\u2593\u2593\u2593\u2593\u2593\u2593\u001b[0m\u001b[38;2;255;165;000m\u2591\u2591\u2591\u2591\u2591\u2591\u001b[0m\u001b[38;2;255;220;100m\u2592\u2592\u001b[0m\u001b[38;2;180;180;180m\u00b7\u00b7\u00b7\u001b[0m \u2502\r\n\u2502 2026-07-09 01:34:00+00 \u2502 6.42 \u2502 Lock:tuple=3.75 Lock:transactionid=1.07 Timeout:PgSleep=0.97 Client:ClientRead=0.40 Other=0.23 \u2502 \u001b[38;2;255;085;085m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[0m\u001b[38;2;255;085;085m\u2593\u2593\u2593\u2593\u2593\u2593\u001b[0m\u001b[38;2;255;165;000m\u2591\u2591\u2591\u2591\u2591\u2591\u001b[0m\u001b[38;2;255;220;100m\u2592\u2592\u001b[0m\u001b[38;2;180;180;180m\u00b7\u001b[0m \u2502\r\n\u2502 2026-07-09 01:35:00+00 \u2502 6.37 \u2502 Lock:tuple=3.85 Lock:transactionid=0.97 Timeout:PgSleep=0.97 Client:ClientRead=0.33 Other=0.25 \u2502 \u001b[38;2;255;085;085m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[0m\u001b[38;2;255;085;085m\u2593\u2593\u2593\u2593\u2593\u2593\u001b[0m\u001b[38;2;255;165;000m\u2591\u2591\u2591\u2591\u2591\u2591\u001b[0m\u001b[38;2;255;220;100m\u2592\u2592\u001b[0m\u001b[38;2;180;180;180m\u00b7\u00b7\u001b[0m \u2502\r\n\u2502 2026-07-09 01:36:00+00 \u2502 6.50 \u2502 Lock:tuple=3.88 Lock:transactionid=0.98 Timeout:PgSleep=0.98 Client:ClientRead=0.23 Other=0.43 \u2502 \u001b[38;2;255;085;085m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[0m\u001b[38;2;255;085;085m\u2593\u2593\u2593\u2593\u2593\u2593\u001b[0m\u001b[38;2;255;165;000m\u2591\u2591\u2591\u2591\u2591\u2591\u001b[0m\u001b[38;2;255;220;100m\u2592\u001b[0m\u001b[38;2;180;180;180m\u00b7\u00b7\u00b7\u001b[0m \u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n(6 rows)\r\n\r\n\u001b[?2004hdemo=# "] +[57.217028, "o", "\\"] +[57.327961, "o", "e"] +[57.373346, "o", "c"] +[57.428714, "o", "h"] +[57.497876, "o", "o"] +[57.635882, "o", " "] +[57.712833, "o", "-"] +[57.78783, "o", "-"] +[57.896647, "o", " "] +[57.937981, "o", "Q"] +[57.993259, "o", "3"] +[58.038172, "o", ":"] +[58.145037, "o", " "] +[58.188483, "o", "w"] +[58.285584, "o", "h"] +[58.354558, "o", "i"] +[58.474995, "o", "c"] +[58.513106, "o", "h"] +[58.593537, "o", " "] +[58.640984, "o", "w"] +[58.743739, "o", "a"] +[58.788454, "o", "i"] +[58.905859, "o", "t"] +[58.967536, "o", " "] +[59.045612, "o", "e"] +[59.148253, "o", "v"] +[59.194544, "o", "e"] +[59.26836, "o", "n"] +[59.37985, "o", "t"] +[59.500931, "o", " "] +[59.543029, "o", "i"] +[59.627954, "o", "s"] +[59.741407, "o", " "] +[59.7812, "o", "d"] +[59.845948, "o", "o"] +[59.953144, "o", "m"] +[60.074982, "o", "i"] +[60.15823, "o", "n"] +[60.209589, "o", "a"] +[60.253875, "o", "t"] +[60.381331, "o", "i"] +[60.47479, "o", "n"] +[60.52629, "o", "g"] +[60.57609, "o", "?"] +[60.692361, "o", "\r\n\u001b[?2004l\r"] +[60.692437, "o", "-- Q3: which wait event is dominating?\r\n\u001b[?2004hdemo=# "] +[61.697639, "o", "s"] +[61.752295, "o", "e"] +[61.868453, "o", "l"] +[61.924138, "o", "e"] +[62.036397, "o", "c"] +[62.105131, "o", "t"] +[62.178715, "o", " "] +[62.230025, "o", "*"] +[62.356965, "o", " "] +[62.399885, "o", "f"] +[62.464638, "o", "r"] +[62.502965, "o", "o"] +[62.565975, "o", "m"] +[62.630072, "o", " "] +[62.671126, "o", "a"] +[62.720924, "o", "s"] +[62.836004, "o", "h"] +[62.961669, "o", "."] +[63.232201, "o", "t"] +[63.34407, "o", "o"] +[63.445444, "o", "p"] +[63.553485, "o", "("] +[63.782025, "o", "'"] +[63.904498, "o", "w"] +[64.018516, "o", "a"] +[64.108335, "o", "i"] +[64.176927, "o", "t"] +[64.235541, "o", "_"] +[64.293057, "o", "e"] +[64.339916, "o", "v"] +[64.387692, "o", "e"] +[64.469279, "o", "n"] +[64.582838, "o", "t"] +[64.623236, "o", "'"] +[64.709348, "o", ","] +[64.965545, "o", " "] +[65.032654, "o", "s"] +[65.092971, "o", "i"] +[65.147876, "o", "n"] +[65.274212, "o", "c"] +[65.368158, "o", "e"] +[65.484895, "o", " "] +[65.549522, "o", "="] +[65.644306, "o", ">"] +[65.756691, "o", " "] +[65.837959, "o", "n"] +[65.883077, "o", "o"] +[65.970808, "o", "w"] +[66.042516, "o", "("] +[66.290738, "o", ")"] +[66.556335, "o", " "] +[66.600915, "o", "-"] +[66.656029, "o", " "] +[66.709861, "o", "i"] +[66.830044, "o", "n"] +[66.930127, "o", "t"] +[67.011777, "o", "e"] +[67.098679, "o", "r"] +[67.158483, "o", "v"] +[67.206767, "o", "a"] +[67.270149, "o", "l"] +[67.354342, "o", " "] +[67.411104, "o", "'"] +[67.516925, "o", "5"] +[67.598722, "o", " "] +[67.670123, "o", "m"] +[67.708991, "o", "i"] +[67.806526, "o", "n"] +[67.883485, "o", "u"] +[68.01146, "o", "t"] +[68.082914, "o", "e"] +[68.140395, "o", "s"] +[68.253104, "o", "'"] +[68.375884, "o", ","] +[68.648499, "o", " "] +[68.701216, "o", "n"] +[68.746346, "o", " "] +[68.79641, "o", "="] +[68.892163, "o", ">"] +[68.943818, "o", " "] +[69.000398, "o", "6"] +[69.073956, "o", ")"] +[69.347335, "o", "; "] +[69.614158, "o", "\r\n\u001b[?2004l\r"] +[69.662393, "o", "\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 key \u2502 query_text \u2502 source \u2502 avg_aas \u2502 peak_aas \u2502 p99_aas \u2502 backend_seconds \u2502 pct \u2502\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502 Lock:tuple \u2502 \u2502 raw \u2502 3.29 \u2502 3.88 \u2502 3.88 \u2502 986.00 \u2502 57.06 \u2502\r\n\u2502 Lock:transactionid \u2502 \u2502 raw \u2502 0.88 \u2502 1.07 \u2502 1.07 \u2502 263.00 \u2502 15.22 \u2502\r\n\u2502 Timeout:PgSleep \u2502 \u2502 raw \u2502 0.84 \u2502 0.98 \u2502 0.98 \u2502 252.00 \u2502 14.58 \u2502\r\n\u2502 Client:ClientRead \u2502 \u2502 raw \u2502 0.38 \u2502 0.55 \u2502 0.54 \u2502 115.00 \u2502 6.66 \u2502\r\n\u2502 CPU* \u2502 \u2502 raw \u2502 0.37 \u2502 0.55 \u2502 0.54 \u2502 112.00 \u2502 6.48 \u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n(5 rows)\r\n\r\n\u001b[?2004hdemo=# "] +[74.219333, "o", "\\"] +[74.270429, "o", "e"] +[74.339345, "o", "c"] +[74.44664, "o", "h"] +[74.524681, "o", "o"] +[74.608577, "o", " "] +[74.662726, "o", "-"] +[74.736101, "o", "-"] +[74.844883, "o", " "] +[74.914645, "o", "Q"] +[75.003016, "o", "4"] +[75.076269, "o", ":"] +[75.13715, "o", " "] +[75.212656, "o", "w"] +[75.314406, "o", "h"] +[75.438441, "o", "i"] +[75.558693, "o", "c"] +[75.613999, "o", "h"] +[75.683634, "o", " "] +[75.732495, "o", "q"] +[75.833406, "o", "u"] +[75.931341, "o", "e"] +[76.006071, "o", "r"] +[76.128697, "o", "y"] +[76.241891, "o", " "] +[76.299338, "o", "i"] +[76.350328, "o", "s"] +[76.411897, "o", " "] +[76.465083, "o", "s"] +[76.56485, "o", "t"] +[76.628175, "o", "u"] +[76.67397, "o", "c"] +[76.743062, "o", "k"] +[76.78408, "o", " "] +[76.8233, "o", "o"] +[76.934633, "o", "n"] +[76.988171, "o", " "] +[77.043352, "o", "L"] +[77.093583, "o", "o"] +[77.172337, "o", "c"] +[77.210717, "o", "k"] +[77.275718, "o", ":"] +[77.402132, "o", "t"] +[77.50734, "o", "u"] +[77.621917, "o", "p"] +[77.66774, "o", "l"] +[77.707349, "o", "e"] +[77.79197, "o", "?"] +[77.848981, "o", "\r\n\u001b[?2004l\r-- Q4: which query is stuck on Lock:tuple?\r\n"] +[77.849302, "o", "\u001b[?2004hdemo=# "] +[78.859436, "o", "s"] +[78.965568, "o", "e"] +[79.089914, "o", "l"] +[79.173922, "o", "e"] +[79.260606, "o", "c"] +[79.369904, "o", "t"] +[79.406531, "o", " "] +[79.497719, "o", "*"] +[79.61063, "o", " "] +[79.682312, "o", "f"] +[79.773834, "o", "r"] +[79.859276, "o", "o"] +[79.903133, "o", "m"] +[79.988007, "o", " "] +[80.028878, "o", "a"] +[80.103268, "o", "s"] +[80.190155, "o", "h"] +[80.297587, "o", "."] +[80.594138, "o", "t"] +[80.700243, "o", "o"] +[80.76061, "o", "p"] +[80.885999, "o", "("] +[81.105548, "o", "'"] +[81.184904, "o", "q"] +[81.230699, "o", "u"] +[81.282148, "o", "e"] +[81.389975, "o", "r"] +[81.509166, "o", "y"] +[81.608992, "o", "_"] +[81.657229, "o", "i"] +[81.701777, "o", "d"] +[81.741597, "o", "'"] +[81.845288, "o", ","] +[82.124753, "o", " "] +[82.193648, "o", "s"] +[82.263746, "o", "i"] +[82.382737, "o", "n"] +[82.504666, "o", "c"] +[82.594338, "o", "e"] +[82.636286, "o", " "] +[82.705933, "o", "="] +[82.806202, "o", ">"] +[82.897396, "o", " "] +[82.945624, "o", "n"] +[83.040025, "o", "o"] +[83.151548, "o", "w"] +[83.21658, "o", "("] +[83.482742, "o", ")"] +[83.714075, "o", " "] +[83.755239, "o", "-"] +[83.836572, "o", " "] +[83.89534, "o", "i"] +[83.997983, "o", "n"] +[84.080235, "o", "t"] +[84.122717, "o", "e"] +[84.185119, "o", "r"] +[84.248587, "o", "v"] +[84.318587, "o", "a"] +[84.362701, "o", "l"] +[84.419075, "o", " "] +[84.46179, "o", "'"] +[84.536793, "o", "5"] +[84.640207, "o", " "] +[84.682241, "o", "m"] +[84.750538, "o", "i"] +[84.843625, "o", "n"] +[84.931466, "o", "u"] +[85.058482, "o", "t"] +[85.098574, "o", "e"] +[85.186612, "o", "s"] +[85.235519, "o", "'"] +[85.276526, "o", ","] +[85.515117, "o", " "] +[85.572495, "o", "w"] +[85.680562, "o", "a"] +[85.768077, "o", "i"] +[85.865334, "o", "t"] +[85.957072, "o", "_"] +[86.015094, "o", "e"] +[86.099312, "o", "v"] +[86.160866, "o", "e"] +[86.276339, "o", "n"] +[86.374667, "o", "t"] +[86.453284, "o", " "] +[86.522032, "o", "="] +[86.609337, "o", ">"] +[86.698556, "o", " "] +[86.757113, "o", "'"] +[86.863569, "o", "L"] +[86.962147, "o", "o"] +[87.037597, "o", "c"] +[87.14726, "o", "k"] +[87.231608, "o", ":"] +[87.270549, "o", "t"] +[87.359835, "o", "u"] +[87.486458, "o", "p"] +[87.565741, "o", "l"] +[87.688801, "o", "e"] +[87.787783, "o", "'"] +[87.898387, "o", ","] +[88.1813, "o", " "] +[88.246637, "o", "n"] +[88.309074, "o", " "] +[88.372244, "o", "="] +[88.472631, "o", ">"] +[88.542151, "o", " "] +[88.609731, "o", "3"] +[88.666541, "o", ")"] +[88.941302, "o", "; "] +[89.210913, "o", "\r\n\u001b[?2004l\r"] +[89.242967, "o", "\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 key \u2502 query_text \u2502 source \u2502 avg_aas \u2502 peak_aas \u2502 p99_aas \u2502 backend_seconds \u2502 pct \u2502\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502 1996686988898780010 \u2502 update pgbench_accounts set abalance = abalance - $1 where aid = $2 \u2502 raw \u2502 3.29 \u2502 3.88 \u2502 3.88 \u2502 986.00 \u2502 100.00 \u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n(1 row)\r\n\r\n\u001b[?2004hdemo=# "] +[93.818851, "o", "s"] +[93.857341, "o", "e"] +[93.901294, "o", "l"] +[93.96387, "o", "e"] +[94.066242, "o", "c"] +[94.121221, "o", "t"] +[94.242739, "o", " "] +[94.295562, "o", "k"] +[94.356856, "o", "e"] +[94.483405, "o", "y"] +[94.585918, "o", " "] +[94.62401, "o", "a"] +[94.668899, "o", "s"] +[94.787653, "o", " "] +[94.854593, "o", "t"] +[94.950039, "o", "o"] +[95.015528, "o", "p"] +[95.096451, "o", "_"] +[95.146919, "o", "q"] +[95.200787, "o", "i"] +[95.281641, "o", "d"] +[95.393691, "o", " "] +[95.437495, "o", "f"] +[95.497451, "o", "r"] +[95.54606, "o", "o"] +[95.628206, "o", "m"] +[95.733417, "o", " "] +[95.79784, "o", "a"] +[95.892592, "o", "s"] +[95.980699, "o", "h"] +[96.099809, "o", "."] +[96.377336, "o", "t"] +[96.503204, "o", "o"] +[96.562699, "o", "p"] +[96.658693, "o", "("] +[96.895456, "o", "'"] +[96.971851, "o", "q"] +[97.068614, "o", "u"] +[97.172304, "o", "e"] +[97.247981, "o", "r"] +[97.314094, "o", "y"] +[97.431724, "o", "_"] +[97.507865, "o", "i"] +[97.634862, "o", "d"] +[97.726326, "o", "'"] +[97.768035, "o", ","] +[97.994476, "o", " "] +[98.04492, "o", "s"] +[98.099143, "o", "i"] +[98.203221, "o", "n"] +[98.31226, "o", "c"] +[98.362518, "o", "e"] +[98.433049, "o", " "] +[98.477588, "o", "="] +[98.533997, "o", ">"] +[98.662712, "o", " "] +[98.704034, "o", "n"] +[98.835006, "o", "o"] +[98.922616, "o", "w"] +[99.048891, "o", "("] +[99.313552, "o", ")"] +[99.617663, "o", " "] +[99.662135, "o", "-"] +[99.732583, "o", " "] +[99.793236, "o", "i"] +[99.839037, "o", "n"] +[99.936919, "o", "t"] +[100.004554, "o", "e"] +[100.079689, "o", "r"] +[100.166864, "o", "v"] +[100.220134, "o", "a"] +[100.341637, "o", "l"] +[100.425676, "o", " "] +[100.483287, "o", "'"] +[100.55979, "o", "5"] +[100.68857, "o", " "] +[100.734057, "o", "m"] +[100.823134, "o", "i"] +[100.916779, "o", "n"] +[100.986773, "o", "u"] +[101.026008, "o", "t"] +[101.069261, "o", "e"] +[101.171568, "o", "s"] +[101.237214, "o", "'"] +[101.305764, "o", ","] +[101.608667, "o", " "] +[101.677303, "o", "w"] +[101.765432, "o", "a"] +[101.883534, "o", "i"] +[101.967889, "o", "t"] +[102.06217, "o", "_"] +[102.1726, "o", "e"] +[102.242062, "o", "v"] +[102.289411, "o", "e"] +[102.342643, "o", "n"] +[102.380524, "o", "t"] +[102.469163, "o", " "] +[102.5126, "o", "="] +[102.62445, "o", ">"] +[102.683525, "o", " "] +[102.739023, "o", "'"] +[102.85557, "o", "L"] +[102.91585, "o", "o"] +[103.028437, "o", "c"] +[103.11168, "o", "k"] +[103.229013, "o", ":"] +[103.353424, "o", "t"] +[103.480513, "o", "u"] +[103.594782, "o", "p"] +[103.674191, "o", "l"] +[103.721751, "o", "e"] +[103.836476, "o", "'"] +[103.953137, "o", ","] +[104.254537, "o", " "] +[104.288145, "o", "n"] +[104.404965, "o", " "] +[104.471779, "o", "="] +[104.59857, "o", ">"] +[104.657901, "o", " "] +[104.723608, "o", "1"] +[104.803436, "o", ")"] +[105.09839, "o", " "] +[105.173477, "o", "\\"] +[105.243917, "o", "g"] +[105.325613, "o", "s"] +[105.364501, "o", "e"] +[105.473711, "o", "t"] +[105.526309, "o", "\r\n\u001b[?2004l\r"] +[105.568616, "o", "\u001b[?2004hdemo=# "] +[106.031574, "o", "\\"] +[106.148162, "o", "e"] +[106.21299, "o", "c"] +[106.344536, "o", "h"] +[106.424635, "o", "o"] +[106.497355, "o", " "] +[106.566348, "o", "-"] +[106.64748, "o", "-"] +[106.709124, "o", " "] +[106.78067, "o", "Q"] +[106.85098, "o", "5"] +[106.923695, "o", ":"] +[107.039852, "o", " "] +[107.112523, "o", "f"] +[107.1951, "o", "u"] +[107.267325, "o", "l"] +[107.391547, "o", "l"] +[107.484174, "o", " "] +[107.562006, "o", "w"] +[107.671153, "o", "a"] +[107.789309, "o", "i"] +[107.915801, "o", "t"] +[108.025157, "o", " "] +[108.095343, "o", "p"] +[108.203915, "o", "r"] +[108.307702, "o", "o"] +[108.433335, "o", "f"] +[108.507442, "o", "i"] +[108.566314, "o", "l"] +[108.607335, "o", "e"] +[108.69429, "o", " "] +[108.741111, "o", "o"] +[108.811821, "o", "f"] +[108.853811, "o", " "] +[108.929732, "o", "t"] +[109.050639, "o", "h"] +[109.093843, "o", "e"] +[109.168404, "o", " "] +[109.24087, "o", "t"] +[109.278264, "o", "o"] +[109.361069, "o", "p"] +[109.429753, "o", " "] +[109.488413, "o", "g"] +[109.563837, "o", "u"] +[109.612929, "o", "i"] +[109.723069, "o", "l"] +[109.767775, "o", "t"] +[109.881727, "o", "y"] +[109.995338, "o", " "] +[110.049136, "o", "q"] +[110.140621, "o", "u"] +[110.21198, "o", "e"] +[110.264566, "o", "r"] +[110.346843, "o", "y"] +[110.474638, "o", "?"] +[110.595712, "o", "\r\n\u001b[?2004l\r-- Q5: full wait profile of the top guilty query?\r\n\u001b[?2004hdemo=# "] +[111.604836, "o", "s"] +[111.722113, "o", "e"] +[111.790008, "o", "l"] +[111.899942, "o", "e"] +[112.017183, "o", "c"] +[112.109277, "o", "t"] +[112.211837, "o", " "] +[112.273287, "o", "*"] +[112.342596, "o", " "] +[112.388362, "o", "f"] +[112.494254, "o", "r"] +[112.618354, "o", "o"] +[112.661816, "o", "m"] +[112.768483, "o", " "] +[112.842652, "o", "a"] +[112.902161, "o", "s"] +[112.961648, "o", "h"] +[113.089952, "o", "."] +[113.381767, "o", "t"] +[113.463045, "o", "o"] +[113.504246, "o", "p"] +[113.54415, "o", "("] +[113.849823, "o", "'"] +[113.92845, "o", "w"] +[114.020277, "o", "a"] +[114.06094, "o", "i"] +[114.109138, "o", "t"] +[114.156533, "o", "_"] +[114.271781, "o", "e"] +[114.333438, "o", "v"] +[114.373671, "o", "e"] +[114.409986, "o", "n"] +[114.472813, "o", "t"] +[114.519667, "o", "'"] +[114.621866, "o", ","] +[114.860627, "o", " "] +[114.921477, "o", "s"] +[114.982498, "o", "i"] +[115.02369, "o", "n"] +[115.145152, "o", "c"] +[115.269725, "o", "e"] +[115.374426, "o", " "] +[115.415789, "o", "="] +[115.516212, "o", ">"] +[115.581304, "o", " "] +[115.66055, "o", "n"] +[115.766679, "o", "o"] +[115.847818, "o", "w"] +[115.897399, "o", "("] +[116.116345, "o", ")"] +[116.338968, "o", " "] +[116.405814, "o", "-"] +[116.517483, "o", " "] +[116.593473, "o", "i"] +[116.633115, "o", "n"] +[116.674892, "o", "t"] +[116.798732, "o", "e"] +[116.912483, "o", "r"] +[117.039252, "o", "v"] +[117.149032, "o", "a"] +[117.2737, "o", "l"] +[117.314409, "o", " "] +[117.371255, "o", "'"] +[117.498735, "o", "5"] +[117.614895, "o", " "] +[117.668083, "o", "m"] +[117.775845, "o", "i"] +[117.885846, "o", "n"] +[117.938588, "o", "u"] +[118.058284, "o", "t"] +[118.154882, "o", "e"] +[118.24123, "o", "s"] +[118.322504, "o", "'"] +[118.399806, "o", ","] +[118.670966, "o", " "] +[118.745132, "o", "q"] +[118.828825, "o", "u"] +[118.917836, "o", "e"] +[119.006614, "o", "r"] +[119.114448, "o", "y"] +[119.206619, "o", "_"] +[119.254236, "o", "i"] +[119.326911, "o", "d"] +[119.419738, "o", " "] +[119.486262, "o", "="] +[119.53499, "o", ">"] +[119.631061, "o", " "] +[119.695797, "o", ":"] +[119.796589, "o", "t"] +[119.872803, "o", "o"] +[119.945119, "o", "p"] +[120.0365, "o", "_"] +[120.143247, "o", "q"] +[120.233155, "o", "i"] +[120.292814, "o", "d"] +[120.349922, "o", ","] +[120.58483, "o", " "] +[120.643996, "o", "n"] +[120.722578, "o", " "] +[120.774293, "o", "="] +[120.859176, "o", ">"] +[120.93909, "o", " "] +[121.015683, "o", "5"] +[121.084065, "o", ")"] +[121.387598, "o", "; "] +[121.667168, "o", "\r\n"] +[121.667972, "o", "\u001b[?2004l\r"] +[121.757189, "o", "\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 key \u2502 query_text \u2502 source \u2502 avg_aas \u2502 peak_aas \u2502 p99_aas \u2502 backend_seconds \u2502 pct \u2502\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502 Lock:tuple \u2502 \u2502 raw \u2502 3.78 \u2502 3.88 \u2502 3.88 \u2502 1134.00 \u2502 78.80 \u2502\r\n\u2502 Lock:transactionid \u2502 \u2502 raw \u2502 1.01 \u2502 1.07 \u2502 1.07 \u2502 303.00 \u2502 21.06 \u2502\r\n\u2502 CPU* \u2502 \u2502 raw \u2502 0.01 \u2502 0.02 \u2502 0.02 \u2502 2.00 \u2502 0.14 \u2502\r\n"] +[121.757405, "o", "\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n(3 rows)\r\n\r\n\u001b[?2004hdemo=# "] +[126.475906, "o", "\\"] +[126.579834, "o", "e"] +[126.682158, "o", "c"] +[126.732935, "o", "h"] +[126.846072, "o", "o"] +[126.961962, "o", " "] +[127.033692, "o", "\r\n\u001b[?2004l\r\r\n\u001b[?2004hdemo=# "] +[127.242118, "o", "\\"] +[127.288313, "o", "e"] +[127.36472, "o", "c"] +[127.474214, "o", "h"] +[127.527856, "o", "o"] +[127.638591, "o", " "] +[127.70288, "o", "-"] +[127.774053, "o", "-"] +[127.892858, "o", " "] +[127.955077, "o", "R"] +[128.002189, "o", "o"] +[128.082665, "o", "o"] +[128.204523, "o", "t"] +[128.320606, "o", " "] +[128.371516, "o", "c"] +[128.488114, "o", "a"] +[128.542254, "o", "u"] +[128.624134, "o", "s"] +[128.712543, "o", "e"] +[128.839601, "o", ":"] +[128.898953, "o", " "] +[128.960392, "o", "c"] +[129.008348, "o", "o"] +[129.078885, "o", "n"] +[129.134549, "o", "c"] +[129.217943, "o", "u"] +[129.275254, "o", "r"] +[129.379823, "o", "r"] +[129.439091, "o", "e"] +[129.497825, "o", "n"] +[129.604942, "o", "t"] +[129.724521, "o", " "] +[129.768567, "o", "U"] +[129.833869, "o", "P"] +[129.93027, "o", "D"] +[130.032219, "o", "A"] +[130.128469, "o", "T"] +[130.220924, "o", "E"] +[130.342457, "o", "s"] +[130.420986, "o", " "] +[130.494166, "o", "o"] +[130.533844, "o", "n"] +[130.660503, "o", " "] +[130.729725, "o", "t"] +[130.814493, "o", "h"] +[130.916905, "o", "e"] +[131.039238, "o", " "] +[131.089873, "o", "s"] +[131.197519, "o", "a"] +[131.274537, "o", "m"] +[131.39794, "o", "e"] +[131.476469, "o", " "] +[131.525435, "o", "r"] +[131.601709, "o", "o"] +[131.717147, "o", "w"] +[131.766001, "o", "."] +[132.054771, "o", "\r\n\u001b[?2004l\r-- Root cause: concurrent UPDATEs on the same row.\r\n\u001b[?2004h"] +[132.05518, "o", "demo=# "] +[133.462262, "o", "\\"] +[133.587007, "o", "e"] +[133.631605, "o", "c"] +[133.66857, "o", "h"] +[133.718816, "o", "o"] +[133.786764, "o", " "] +[133.849725, "o", "-"] +[133.900269, "o", "-"] +[133.951737, "o", " "] +[134.019678, "o", "p"] +[134.094226, "o", "g"] +[134.207704, "o", "_"] +[134.254201, "o", "a"] +[134.298661, "o", "s"] +[134.357211, "o", "h"] +[134.452293, "o", ":"] +[134.499512, "o", " "] +[134.553632, "o", "p"] +[134.606735, "o", "u"] +[134.668257, "o", "r"] +[134.706857, "o", "e"] +[134.771856, "o", " "] +[134.821201, "o", "S"] +[134.89231, "o", "Q"] +[134.976214, "o", "L"] +[135.070675, "o", "."] +[135.359316, "o", " "] +[135.437781, "o", "N"] +[135.482154, "o", "o"] +[135.577952, "o", " "] +[135.651115, "o", "e"] +[135.764735, "o", "x"] +[135.897782, "o", "t"] +[135.992754, "o", "e"] +[136.042501, "o", "n"] +[136.128442, "o", "s"] +[136.206025, "o", "i"] +[136.285131, "o", "o"] +[136.342825, "o", "n"] +[136.471965, "o", "."] +[136.76327, "o", " "] +[136.841586, "o", "N"] +[136.938751, "o", "o"] +[137.040775, "o", " "] +[137.113484, "o", "r"] +[137.172663, "o", "e"] +[137.254323, "o", "s"] +[137.358121, "o", "t"] +[137.479815, "o", "a"] +[137.595998, "o", "r"] +[137.661653, "o", "t"] +[137.73403, "o", "."] +[138.005394, "o", " "] +[138.080099, "o", "W"] +[138.200281, "o", "o"] +[138.246437, "o", "r"] +[138.317791, "o", "k"] +[138.443687, "o", "s"] +[138.48735, "o", " "] +[138.549915, "o", "e"] +[138.619879, "o", "v"] +[138.701917, "o", "e"] +[138.791477, "o", "r"] +[138.835906, "o", "y"] +[138.919281, "o", "w"] +[139.031223, "o", "h"] +[139.127841, "o", "e"] +[139.175322, "o", "r"] +[139.248756, "o", "e"] +[139.3316, "o", "."] +[139.61989, "o", "\r\n\u001b[?2004l\r-- pg_ash: pure SQL. No extension. No restart. Works everywhere."] +[139.620779, "o", "\r\n\u001b[?2004hdemo=# "] +[143.127523, "o", "\\"] +[143.254532, "o", "q"] +[143.347694, "o", "\r\n\u001b[?2004l\r"] diff --git a/demos/ash_demo.gif b/demos/ash_demo.gif index 0bbac55..c1452f0 100644 Binary files a/demos/ash_demo.gif and b/demos/ash_demo.gif differ diff --git a/demos/container-entrypoint.sh b/demos/container-entrypoint.sh index eb12d40..4b6b402 100755 --- a/demos/container-entrypoint.sh +++ b/demos/container-entrypoint.sh @@ -3,8 +3,7 @@ # # 1. Waits for PostgreSQL to accept connections. # 2. Creates the `demo` database, pg_stat_statements + pg_cron extensions. -# 3. Installs pg_ash 2.0 (from the mounted /repo/devel/sql/ash-install.sql — -# the in-progress 2.0 dev installer, not the frozen released sql/). +# 3. Installs pg_ash 2.0 (from the mounted /repo/sql/ash-install.sql). # 4. Initializes pgbench. # 5. Starts pg_ash sampling (1s). # 6. Kicks off the workload.sh in the background — this produces the spike @@ -30,12 +29,10 @@ if ! $PSQL -d postgres -tc "select 1 from pg_database where datname='demo'" | gr $PSQL -d demo -c "create extension if not exists pg_cron" $PSQL -d demo -c "create extension if not exists pg_stat_statements" - # Install the 2.0 dev installer. The released sql/ is frozen at 1.5 until the - # 2.0 release stamp, so the demo points at devel/sql/ to exercise the new - # reader API (periods/aas/timeline/top/compare/chart/summary). Keep in sync - # with `devel/scripts/ash_sql_chain.py fresh-install-path` if that path moves. - echo "[entry] installing pg_ash 2.0 (\i /repo/devel/sql/ash-install.sql)" - $PSQL -d demo -f /repo/devel/sql/ash-install.sql >/dev/null + # Install the current 2.0 installer. Keep in sync with + # `devel/scripts/ash_sql_chain.py fresh-install-path` if that path moves. + echo "[entry] installing pg_ash 2.0 (\i /repo/sql/ash-install.sql)" + $PSQL -d demo -f /repo/sql/ash-install.sql >/dev/null echo "[entry] initializing pgbench (scale 5)" pgbench -U postgres -d demo -i -s 5 -q >/dev/null 2>&1 diff --git a/demos/record.sh b/demos/record.sh index 30d9587..2495bd3 100755 --- a/demos/record.sh +++ b/demos/record.sh @@ -5,7 +5,7 @@ # 1. Start Postgres in Docker with pg_cron + pg_stat_statements preloaded # (via the pre-baked demos/Dockerfile image; falls back to a runtime # pg_cron install + restart on the plain postgres:${PG_MAJOR} base). -# 2. Install pg_ash 2.0 via devel/sql/ash-install.sql, seed pgbench, +# 2. Install pg_ash 2.0 via `\i sql/ash-install.sql`, seed pgbench, # start sampling. # 3. Kick off a workload that transitions baseline -> row-lock spike -> tail. # 4. After the spike is well underway, start tmux + asciinema with psql @@ -423,12 +423,11 @@ sleep "$POST_WAIT" log "cast written: $(du -h "$CAST" | cut -f1)" # --- 5. Shift the first cast event to t=0 ------------------------------------ -# asciinema records the command banner ~70 ms after the session starts; agg -# renders frame 0 at t=0, which is before that banner, so the resulting GIF -# opens with an empty terminal. That empty frame becomes GitHub's thumbnail -# for the embedded GIF. To avoid it, we rewrite the first event's timestamp -# from ~0.07 to 0.0 so the splash IS the first frame. Subsequent event -# timings are unchanged (they are relative deltas from the previous event). +# asciinema can record an ANSI color escape as the first event and the visible +# command banner ~70 ms later; agg renders frame 0 at t=0, before that banner. +# That empty frame becomes GitHub's thumbnail for the embedded GIF. To avoid it, +# rewrite the first visible output event's timestamp to 0.0 so the splash IS the +# first frame. Subsequent event timings are unchanged. python3 - "$CAST" <<'PY' import json, sys path = sys.argv[1] @@ -436,8 +435,13 @@ with open(path) as f: lines = f.readlines() header = lines[0] events = [json.loads(line) for line in lines[1:] if line.strip()] -if events: - events[0][0] = 0.0 +for e in events: + if len(e) >= 3 and e[1] == "o" and e[2].strip("\r\n"): + # Pure ANSI escape setup does not paint useful pixels; skip it. + if e[2].startswith("\x1b") and e[2].endswith("m"): + continue + e[0] = 0.0 + break with open(path, 'w') as f: f.write(header) for e in events: diff --git a/sql/ash-install.sql b/sql/ash-install.sql index c066889..7d9cd36 100644 --- a/sql/ash-install.sql +++ b/sql/ash-install.sql @@ -2,12 +2,8 @@ * pg_ash: Active Session History for Postgres * Version: 2.0 beta 1 * Fresh install: \i sql/ash-install.sql - * Upgrade from 1.0: \i sql/migrations/ash-1.0-to-1.1.sql, then \i sql/migrations/ash-1.1-to-1.2.sql, then \i sql/migrations/ash-1.2-to-1.3.sql, then \i sql/migrations/ash-1.3-to-1.4.sql, then \i sql/migrations/ash-1.4-to-1.5.sql, then \i sql/migrations/ash-1.5-to-2.0.sql - * Upgrade from 1.1: \i sql/migrations/ash-1.1-to-1.2.sql, then \i sql/migrations/ash-1.2-to-1.3.sql, then \i sql/migrations/ash-1.3-to-1.4.sql, then \i sql/migrations/ash-1.4-to-1.5.sql, then \i sql/migrations/ash-1.5-to-2.0.sql - * Upgrade from 1.2: \i sql/migrations/ash-1.2-to-1.3.sql, then \i sql/migrations/ash-1.3-to-1.4.sql, then \i sql/migrations/ash-1.4-to-1.5.sql, then \i sql/migrations/ash-1.5-to-2.0.sql - * Upgrade from 1.3: \i sql/migrations/ash-1.3-to-1.4.sql, then \i sql/migrations/ash-1.4-to-1.5.sql, then \i sql/migrations/ash-1.5-to-2.0.sql - * Upgrade from 1.4: \i sql/migrations/ash-1.4-to-1.5.sql, then \i sql/migrations/ash-1.5-to-2.0.sql - * Upgrade from 1.5: \i sql/migrations/ash-1.5-to-2.0.sql + * Upgrade: run sequential scripts in sql/migrations/ from the installed + * version to the target version. */