-
Global information
- Generated on Thu Apr 30 06:07:07 2026
- Log file: /var/log/postgresql/postgresql-2026-03-25_000000.csv, ..., /var/log/postgresql/postgresql-2026-04-30_000000.csv
- Parsed 277,105 log entries in 7m6s
- Log start from 2026-04-27 00:00:01 to 2026-04-27 23:59:03
-
Overview
Global Stats
- 51 Number of unique normalized queries
- 24,690 Number of queries
- 20h58m29s Total query duration
- 2026-04-27 00:00:01 First query
- 2026-04-27 23:59:01 Last query
- 17 queries/s at 2026-04-27 04:25:02 Query peak
- 20h58m29s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 20h58m29s Execute total duration
- 5 Number of events
- 3 Number of unique normalized events
- 3 Max number of times the same event was reported
- 0 Number of cancellation
- 61 Total number of automatic vacuums
- 128 Total number of automatic analyzes
- 525 Number temporary file
- 125.03 MiB Max size of temporary file
- 63.36 MiB Average size of temporary file
- 25,055 Total number of sessions
- 6 sessions at 2026-04-27 20:59:45 Session peak
- 1h33m Total duration of sessions
- 222ms Average duration of sessions
- 0 Average queries per session
- 3s13ms Average queries duration per session
- 0ms Average idle time per session
- 25,055 Total number of connections
- 41 connections/s at 2026-04-27 16:00:01 Connection peak
- 2 Total number of databases
SQL Traffic
Key values
- 17 queries/s Query Peak
- 2026-04-27 04:25:02 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-04-27 08:21:00 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 17 queries/s Query Peak
- 2026-04-27 04:25:02 Date
Queries duration
Key values
- 20h58m29s Total query duration
Prepared queries ratio
Key values
- 0.00 Ratio of bind vs prepare
- 0.00 % Ratio between prepared and "usual" statements
General Activity
↑ Back to the top of the General Activity tableDay Hour Count Min duration Max duration Avg duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 27 00 1,041 0ms 4s405ms 3s958ms 1m16s 1m17s 1m20s 01 1,029 1s28ms 4s195ms 3s922ms 1m13s 1m14s 1m17s 02 1,020 4s114ms 4s114ms 4s114ms 1m9s 1m9s 1m9s 03 1,020 4s114ms 4s114ms 4s114ms 1m9s 1m9s 1m9s 04 1,020 4s114ms 4s114ms 4s114ms 1m9s 1m9s 1m9s 05 1,020 4s114ms 4s114ms 4s114ms 1m9s 1m9s 1m9s 06 1,020 4s114ms 4s114ms 4s114ms 1m9s 1m9s 1m9s 07 1,036 551ms 4s114ms 2s199ms 1m9s 1m9s 1m11s 08 1,029 530ms 970ms 598ms 10s567ms 11s809ms 13s414ms 09 1,038 639ms 16s906ms 3s825ms 1m17s 4m47s 4m51s 10 1,035 678ms 4s341ms 1s615ms 1m13s 1m13s 1m18s 11 1,033 620ms 1s845ms 943ms 18s454ms 31s368ms 33s857ms 12 1,028 604ms 919ms 746ms 15s625ms 15s625ms 17s65ms 13 1,024 683ms 822ms 782ms 13s977ms 13s977ms 16s850ms 14 1,020 683ms 683ms 683ms 11s616ms 11s616ms 11s616ms 15 1,036 518ms 5s34ms 3s202ms 1m24s 1m25s 1m29s 16 1,038 697ms 4s798ms 4s414ms 1m22s 1m24s 1m26s 17 1,025 4s472ms 4s736ms 4s528ms 1m20s 1m22s 1m24s 18 1,025 537ms 26s509ms 4s682ms 7m14s 7m14s 7m51s 19 1,020 537ms 537ms 537ms 9s142ms 9s142ms 9s142ms 20 1,033 537ms 12s447ms 3s38ms 1m22s 1m23s 3m36s 21 1,030 4s202ms 4s942ms 4s473ms 1m24s 1m24s 1m28s 22 1,032 4s212ms 4s822ms 4s457ms 1m21s 1m22s 1m26s 23 1,038 562ms 4s607ms 4s195ms 1m18s 1m20s 1m22s Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 27 00 4 0 559ms 0ms 0ms 578ms 01 0 0 0ms 0ms 0ms 0ms 02 0 0 0ms 0ms 0ms 0ms 03 0 0 0ms 0ms 0ms 0ms 04 0 0 0ms 0ms 0ms 0ms 05 0 0 0ms 0ms 0ms 0ms 06 0 0 0ms 0ms 0ms 0ms 07 15 0 717ms 0ms 1s433ms 1s484ms 08 9 0 739ms 0ms 0ms 1s696ms 09 9 0 2s554ms 0ms 0ms 1s724ms 10 13 0 837ms 0ms 1s427ms 1s974ms 11 13 0 1s38ms 0ms 1s419ms 2s175ms 12 8 0 753ms 0ms 0ms 1s457ms 13 4 0 718ms 0ms 0ms 0ms 14 0 0 0ms 0ms 0ms 0ms 15 4 0 734ms 0ms 0ms 975ms 16 6 0 854ms 0ms 0ms 1s486ms 17 0 0 0ms 0ms 0ms 0ms 18 5 0 15s880ms 0ms 0ms 25s586ms 19 0 0 0ms 0ms 0ms 0ms 20 0 0 0ms 0ms 0ms 0ms 21 0 0 0ms 0ms 0ms 0ms 22 0 0 0ms 0ms 0ms 0ms 23 0 6 1s307ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 27 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s28ms 0ms 0ms 0ms 02 0 0 0 0 0ms 0ms 0ms 0ms 03 0 0 0 0 0ms 0ms 0ms 0ms 04 0 0 0 0 0ms 0ms 0ms 0ms 05 0 0 0 0 0ms 0ms 0ms 0ms 06 0 0 0 0 0ms 0ms 0ms 0ms 07 0 0 0 0 0ms 0ms 0ms 0ms 08 0 0 0 0 0ms 0ms 0ms 0ms 09 0 0 0 0 0ms 0ms 0ms 0ms 10 0 0 0 0 0ms 0ms 0ms 0ms 11 0 0 0 0 0ms 0ms 0ms 0ms 12 0 0 0 0 0ms 0ms 0ms 0ms 13 0 0 0 0 0ms 0ms 0ms 0ms 14 0 0 0 0 0ms 0ms 0ms 0ms 15 0 0 0 0 0ms 0ms 0ms 0ms 16 0 0 0 0 0ms 0ms 0ms 0ms 17 0 0 0 0 0ms 0ms 0ms 0ms 18 0 0 0 0 0ms 0ms 0ms 0ms 19 0 0 0 0 0ms 0ms 0ms 0ms 20 0 0 0 0 0ms 0ms 0ms 0ms 21 0 0 0 0 0ms 0ms 0ms 0ms 22 0 0 0 0 0ms 0ms 0ms 0ms 23 0 0 0 0 0ms 0ms 0ms 0ms Day Hour Prepare Bind Bind/Prepare Percentage of prepare Apr 27 00 0 21 21.00 0.00% 01 0 8 8.00 0.00% 02 0 0 0.00 0.00% 03 0 0 0.00 0.00% 04 0 0 0.00 0.00% 05 0 0 0.00 0.00% 06 0 0 0.00 0.00% 07 0 0 0.00 0.00% 08 0 0 0.00 0.00% 09 0 9 9.00 0.00% 10 0 2 2.00 0.00% 11 0 0 0.00 0.00% 12 0 0 0.00 0.00% 13 0 0 0.00 0.00% 14 0 0 0.00 0.00% 15 0 10 10.00 0.00% 16 0 12 12.00 0.00% 17 0 5 5.00 0.00% 18 0 0 0.00 0.00% 19 0 0 0.00 0.00% 20 0 13 13.00 0.00% 21 0 10 10.00 0.00% 22 0 12 12.00 0.00% 23 0 12 12.00 0.00% Day Hour Count Average / Second Apr 27 00 887 0.25/s 01 784 0.22/s 02 543 0.15/s 03 543 0.15/s 04 546 0.15/s 05 552 0.15/s 06 804 0.22/s 07 1,289 0.36/s 08 952 0.26/s 09 1,620 0.45/s 10 1,310 0.36/s 11 2,520 0.70/s 12 1,542 0.43/s 13 1,769 0.49/s 14 1,057 0.29/s 15 1,324 0.37/s 16 1,253 0.35/s 17 723 0.20/s 18 826 0.23/s 19 614 0.17/s 20 1,009 0.28/s 21 827 0.23/s 22 879 0.24/s 23 882 0.24/s Day Hour Count Average Duration Average idle time Apr 27 00 887 277ms 0ms 01 784 249ms 0ms 02 543 231ms 0ms 03 543 230ms 0ms 04 546 228ms 0ms 05 552 225ms 0ms 06 804 210ms 0ms 07 1,289 211ms 0ms 08 952 183ms 0ms 09 1,620 201ms 0ms 10 1,310 182ms 0ms 11 2,520 140ms 0ms 12 1,542 154ms 0ms 13 1,769 175ms 0ms 14 1,057 182ms 0ms 15 1,324 217ms 0ms 16 1,253 229ms 0ms 17 723 248ms 0ms 18 826 685ms 0ms 19 614 229ms 0ms 20 1,009 253ms 0ms 21 827 252ms 0ms 22 879 240ms 0ms 23 882 253ms 0ms -
Connections
Established Connections
Key values
- 41 connections Connection Peak
- 2026-04-27 16:00:01 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 25,055 connections Total
Connections per user
Key values
- labanimal Main User
- 25,055 connections Total
-
Sessions
Simultaneous sessions
Key values
- 6 sessions Session Peak
- 2026-04-27 20:59:45 Date
Histogram of session times
Key values
- 22,713 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 25,055 sessions Total
Sessions per user
Key values
- labanimal Main User
- 25,055 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 25,055 sessions Total
Sessions per application
Key values
- Main Application
- 25,055 sessions Total
Application Count Total Duration Average Duration 20,729 1h21m26s 235ms _desktop__zemm_produktiv_8_localhost_5432 19 1s175ms 61ms _desktop_index.php_cages_name_A15.415.1-04_2A_cages_empty__25_v 1 183ms 183ms _desktop_index.php_command_animals_breedings_subcommand_add_bre 2 93ms 46ms _desktop_index.php_command_animals_edit_subcommand_init_id_1028 1 93ms 93ms _desktop_index.php_command_animals_edit_subcommand_init_id_1029 6 578ms 96ms _desktop_index.php_command_animals_edit_subcommand_init_id_1030 2 171ms 85ms _desktop_index.php_command_animals_litters_create_subcommand_se 1 174ms 174ms _desktop_index.php_command_animals_litters_subcommand_init_zemm 3 129ms 43ms _desktop_index.php_command_animals_subcommand_found_val1_101017 3 1m18s 26s155ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 4 187ms 46ms _desktop_index.php_command_documents_subcommand_init_zemm_produ 1 36ms 36ms _desktop_index.php_command_login_subcommand_init_zemm_dev_local 4 174ms 43ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,675 50s641ms 30ms _desktop_index.php_command_login_subcommand_init_zemm_test_loca 4 144ms 36ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 4 441ms 110ms _desktop_index.php_command_reports_subcommand_fates_zemm_produk 1 111ms 111ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt 4 979ms 244ms _desktop_index.php_command_reports_subcommand_task_status_zemm_ 3 352ms 117ms _desktop_index.php_command_tasks_subcommand_create_zemm_produkt 1 54ms 54ms _desktop_index.php_command_tasks_subcommand_edit_id_10142432_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10142433_ze 1 91ms 91ms _desktop_index.php_command_tasks_subcommand_edit_id_10142476_ze 2 172ms 86ms _desktop_index.php_command_tasks_subcommand_edit_id_10142477_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10142526_ze 1 81ms 81ms _desktop_index.php_command_tasks_subcommand_edit_id_10142546_ze 1 88ms 88ms _desktop_index.php_command_tasks_subcommand_init_zemm_produktiv 2 139ms 69ms _desktop_index.php_command_tasks_subcommand_open_zemm_produktiv 35 2s511ms 71ms _desktop_index.php_name_Genotypisierungsproben_20genommen_instr 20 1s367ms 68ms _desktop_index.php_name_Tiertransport_20innerhalb_20W_C3_BCrzbu 1 55ms 55ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 28 8s550ms 305ms _desktop_index.php_zemm_produktiv_8_localhost_5432 2,408 8m43s 217ms _desktop_index.php_zemm_test_localhost_5432 1 68ms 68ms backend:zemm_produktiv_8@localhost 45 2s754ms 61ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s45ms 1s45ms pg_dump 1 12s657ms 12s657ms psql 14 291ms 20ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 7s178ms 299ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 18,934 buffers Checkpoint Peak
- 2026-04-27 01:35:34 Date
- 270.040 seconds Highest write time
- 0.044 seconds Sync time
Checkpoints Wal files
Key values
- 7 files Wal files usage Peak
- 2026-04-27 11:25:37 Date
Checkpoints distance
Key values
- 228.29 Mo Distance Peak
- 2026-04-27 11:25:37 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Apr 27 00 4,959 496.255s 0.093s 496.396s 01 21,957 572.146s 0.099s 572.305s 02 2,656 266.388s 0.087s 266.528s 03 2,639 264.667s 0.084s 264.811s 04 2,593 260.096s 0.085s 260.241s 05 2,634 264.157s 0.085s 264.298s 06 3,638 364.885s 0.132s 365.077s 07 5,946 595.49s 0.184s 595.731s 08 17,997 805.25s 0.149s 805.46s 09 12,809 700.3s 0.187s 700.544s 10 4,965 497.436s 0.154s 497.641s 11 31,924 978.46s 0.25s 978.778s 12 4,831 484.072s 0.197s 484.319s 13 13,541 1,066.791s 0.186s 1,067.034s 14 3,577 358.566s 0.139s 358.757s 15 24,019 991.777s 0.154s 991.985s 16 3,871 387.642s 0.12s 387.823s 17 3,137 340.696s 0.085s 340.836s 18 3,708 371.49s 0.12s 371.661s 19 2,608 261.476s 0.086s 261.614s 20 6,524 558.428s 0.085s 558.566s 21 3,260 326.783s 0.085s 326.931s 22 3,135 314.236s 0.086s 316.05s 23 3,674 368.366s 0.085s 368.505s Day Hour Added Removed Recycled Synced files Longest sync Average sync Apr 27 00 0 0 1 445 0.002s 0.012s 01 0 0 7 488 0.002s 0.012s 02 0 0 1 433 0.002s 0.012s 03 0 0 1 433 0.002s 0.012s 04 0 0 1 425 0.001s 0.012s 05 0 0 1 427 0.002s 0.012s 06 0 0 1 717 0.002s 0.012s 07 0 0 1 1,036 0.002s 0.012s 08 0 0 9 843 0.004s 0.012s 09 0 0 3 1,058 0.002s 0.012s 10 0 0 2 887 0.002s 0.012s 11 0 0 12 1,355 0.005s 0.012s 12 0 0 1 1,093 0.003s 0.012s 13 0 0 5 1,091 0.002s 0.012s 14 0 0 1 737 0.003s 0.012s 15 0 0 6 853 0.004s 0.012s 16 0 0 1 683 0.001s 0.012s 17 0 0 1 425 0.002s 0.012s 18 0 0 1 661 0.001s 0.012s 19 0 0 1 445 0.001s 0.012s 20 0 0 1 447 0.001s 0.012s 21 0 0 1 428 0.002s 0.012s 22 0 0 1 422 0.002s 0.012s 23 0 0 1 435 0.002s 0.012s Day Hour Count Avg time (sec) Apr 27 00 0 0s 01 0 0s 02 0 0s 03 0 0s 04 0 0s 05 0 0s 06 0 0s 07 0 0s 08 0 0s 09 0 0s 10 0 0s 11 0 0s 12 0 0s 13 0 0s 14 0 0s 15 0 0s 16 0 0s 17 0 0s 18 0 0s 19 0 0s 20 0 0s 21 0 0s 22 0 0s 23 0 0s Day Hour Mean distance Mean estimate Apr 27 00 1,712.92 kB 1,893.92 kB 01 9,484.25 kB 40,042.67 kB 02 1,113.58 kB 32,511.08 kB 03 1,126.50 kB 9,992.67 kB 04 1,099.83 kB 3,618.67 kB 05 1,121.17 kB 1,812.50 kB 06 1,375.92 kB 1,810.42 kB 07 2,151.33 kB 3,052.50 kB 08 12,599.08 kB 40,983.42 kB 09 4,025.67 kB 24,309.42 kB 10 1,784.58 kB 8,365.92 kB 11 16,463.92 kB 59,385.17 kB 12 1,754.33 kB 33,416.25 kB 13 6,915.58 kB 19,671.92 kB 14 1,372.08 kB 11,406.33 kB 15 7,920.50 kB 27,167.58 kB 16 1,422.08 kB 21,311.42 kB 17 1,253.67 kB 6,981.42 kB 18 1,334.08 kB 2,882.42 kB 19 1,070.08 kB 1,652.08 kB 20 2,142.25 kB 6,078.00 kB 21 1,236.83 kB 4,445.58 kB 22 1,176.17 kB 2,109.50 kB 23 1,318.83 kB 1,490.92 kB -
Temporary Files
Size of temporary files
Key values
- 576.26 MiB Temp Files size Peak
- 2026-04-27 20:42:37 Date
Number of temporary files
Key values
- 5 per second Temp Files Peak
- 2026-04-27 21:14:59 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Apr 27 00 60 3.65 GiB 62.32 MiB 01 40 2.44 GiB 62.35 MiB 02 0 0 0 03 0 0 0 04 0 0 0 05 0 0 0 06 0 0 0 07 0 0 0 08 0 0 0 09 45 2.76 GiB 62.70 MiB 10 10 627.41 MiB 62.74 MiB 11 0 0 0 12 0 0 0 13 0 0 0 14 0 0 0 15 50 3.06 GiB 62.72 MiB 16 60 3.68 GiB 62.74 MiB 17 25 1.53 GiB 62.77 MiB 18 0 0 0 19 0 0 0 20 65 4.26 GiB 67.08 MiB 21 50 3.09 GiB 63.20 MiB 22 60 3.71 GiB 63.24 MiB 23 60 3.71 GiB 63.28 MiB Queries generating the most temporary files (N)
Rank Count Total size Min size Max size Avg size Query 1 420 25.40 GiB 46.76 MiB 119.60 MiB 61.93 MiB with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test') AND collected_at <= '2026-04-27 14:42:24+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test') AND collected_at BETWEEN '2026-04-27 14:42:24+02' AND '2026-04-27 20:42:24+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test') AND collected_at BETWEEN '2026-04-27 14:42:24+02' AND '2026-04-27 20:42:24+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-27 20:42:37 Duration: 12s447ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-27 03:19:00+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-27 03:19:00+02' AND '2026-04-27 15:19:00+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-27 03:19:00+02' AND '2026-04-27 15:19:00+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-27 15:19:05 Duration: 5s34ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-27 15:45:33+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-27 15:45:33+02' AND '2026-04-27 21:45:33+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-27 15:45:33+02' AND '2026-04-27 21:45:33+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-27 21:45:38 Duration: 4s942ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
Queries generating the largest temporary files
Rank Size Query 1 119.60 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($4, $5) AND collected_at BETWEEN $6 AND $7 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($8, $9) AND collected_at BETWEEN $10 AND $11 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $12 OFFSET $13;[ Date: 2026-04-27 20:42:37 - Queryid: 1870755 ]
2 114.96 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($4, $5) AND collected_at BETWEEN $6 AND $7 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($8, $9) AND collected_at BETWEEN $10 AND $11 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $12 OFFSET $13;[ Date: 2026-04-27 20:42:37 - Queryid: 1870755 ]
3 111.92 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($4, $5) AND collected_at BETWEEN $6 AND $7 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($8, $9) AND collected_at BETWEEN $10 AND $11 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $12 OFFSET $13;[ Date: 2026-04-27 20:42:37 - Queryid: 1870755 ]
4 104.74 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($4, $5) AND collected_at BETWEEN $6 AND $7 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($8, $9) AND collected_at BETWEEN $10 AND $11 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $12 OFFSET $13;[ Date: 2026-04-27 20:42:37 - Queryid: 1870755 ]
5 75.62 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-27 23:01:28 - Queryid: 3157632 ]
6 75.09 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-27 15:19:05 - Queryid: 3245466 ]
7 74.27 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-27 15:19:05 - Queryid: 3245466 ]
8 70.47 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-27 22:26:08 - Queryid: 2831561 ]
9 70.40 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-27 16:15:24 - Queryid: 3605989 ]
10 69.82 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-27 16:56:13 - Queryid: 3981044 ]
11 68.73 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-27 16:15:24 - Queryid: 3605989 ]
12 68.65 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-27 22:31:09 - Queryid: 2877579 ]
13 68.19 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-27 09:41:30 - Queryid: 3146229 ]
14 68.10 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-27 20:39:37 - Queryid: 1844767 ]
15 68.05 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-27 16:25:43 - Queryid: 3700796 ]
16 68.00 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-27 22:26:08 - Queryid: 2831561 ]
17 67.43 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-27 16:00:05 - Queryid: 3465381 ]
18 67.31 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-27 22:00:39 - Queryid: 2595335 ]
19 67.28 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-27 20:39:37 - Queryid: 1844767 ]
20 67.20 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-27 15:54:56 - Queryid: 3418068 ]
-
Vacuums
Vacuums / Analyzes Distribution
Key values
- 1.05 sec Highest CPU-cost vacuum
Table public.cost_history
Database zemm_produktiv_8 - 2026-04-27 13:35:45 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_produktiv_8 - Date
Average Autovacuum Duration
Key values
- 1.05 sec Highest CPU-cost vacuum
Table public.cost_history
Database zemm_produktiv_8 - 2026-04-27 13:35:45 Date
Analyzes per table
Key values
- pg_catalog.pg_type (33) Main table analyzed (database zemm_produktiv_8)
- 128 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 33 zemm_produktiv_8.pg_catalog.pg_attribute 25 zemm_produktiv_8.pg_catalog.pg_class 18 zemm_produktiv_8.pg_catalog.pg_depend 16 zemm_produktiv_8.public.breedingsdams 9 zemm_produktiv_8.public.breedingssires 9 zemm_produktiv_8.public.cost_history 3 zemm_produktiv_8.public.tmptasks 2 zemm_monitoring.observability.metrics_timeseries 2 zemm_produktiv_8.public.cages_search_mview 2 invdb.pg_catalog.pg_shdepend 1 fbi_unire.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.users 1 zemm_produktiv_8.pg_catalog.pg_shdepend 1 template0.pg_catalog.pg_shdepend 1 zemm_test.pg_catalog.pg_shdepend 1 zemm_monitoring.observability.system_metrics 1 labanimal.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.tasks 1 Total 128 Vacuums per table
Key values
- pg_catalog.pg_type (11) Main table vacuumed on database zemm_produktiv_8
- 61 vacuums Total
Index Buffer usage Skipped WAL usage Frozen Table Vacuums scans hits misses dirtied pins frozen records full page bytes pages tuples zemm_produktiv_8.pg_catalog.pg_type 11 11 0 0 0 0 0 567 134 128,257 0 0 zemm_produktiv_8.public.breedingssires 9 0 0 0 0 0 0 1,342 328 1,087,124 0 0 zemm_produktiv_8.public.breedingsdams 9 0 0 0 0 0 0 1,791 427 1,462,977 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 9 9 0 0 0 0 0 1,117 387 269,859 0 0 zemm_produktiv_8.pg_catalog.pg_class 6 6 0 0 0 0 0 592 211 253,813 1 1 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 0 0 0 4,855 1,637 3,729,674 1,605 9,630 zemm_produktiv_8.pg_catalog.pg_depend 4 4 0 0 0 0 0 499 155 173,509 0 0 fbi_unibi.pg_catalog.pg_shdepend 2 2 0 0 0 0 0 136 44 89,884 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 2 2 0 0 0 0 0 403 102 612,320 29 102 zemm_produktiv_8.public.cages_search_mview 1 1 0 0 0 0 0 628 342 1,148,312 37 233 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 47,780 7 3,446,152 0 0 zemm_produktiv_8.public.cost_history 1 1 0 0 0 0 0 10,066 3,322 6,518,130 145 2,473 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 0 0 0 0 0 199 39 129,977 20 44 Total 61 38 0 0 0 0 0 69,975 7,135 19,049,988 1,837 12,483 Vacuum throughput per table
Key values
- public.cost_history (1.05) Max CPU elapsed for vacuum on database zemm_produktiv_8
- pg_catalog.pg_attribute (5.124 ms) Max I/O read time for vacuum on database zemm_produktiv_8
- public.cost_history (2.963 ms) Max I/O write time for vacuum on database zemm_produktiv_8
I/O timing (ms) CPU (s) Table read write elapsed zemm_produktiv_8.pg_catalog.pg_type 0.975 0 0 zemm_produktiv_8.public.breedingssires 0 0.243 0 zemm_produktiv_8.public.breedingsdams 0 0.141 0.01 zemm_produktiv_8.pg_catalog.pg_attribute 5.124 0 0.09 zemm_produktiv_8.pg_catalog.pg_class 2.825 0 0.02 zemm_monitoring.pg_toast.pg_toast_67431 2.462 0.446 0.4 zemm_produktiv_8.pg_catalog.pg_depend 1.191 0 0.03 fbi_unibi.pg_catalog.pg_shdepend 0.617 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 1.097 0 0.02 zemm_produktiv_8.public.cages_search_mview 0.35 0 0.1 zemm_produktiv_8.public.tasks 0.182 0 0.61 zemm_produktiv_8.public.cost_history 1.065 2.963 1.05 zemm_produktiv_8.pg_catalog.pg_statistic 0.5 0 0.01 Total 16.388 3.793 2.34 Tuples removed per table
Key values
- public.tasks (54107) Main table with removed tuples on database zemm_produktiv_8
- 84818 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 54,107 57,138 0 0 16,848 zemm_produktiv_8.public.cost_history 1 1 14,534 674,015 0 0 11,367 zemm_produktiv_8.pg_catalog.pg_attribute 9 9 8,553 52,297 0 0 1,656 zemm_produktiv_8.pg_catalog.pg_depend 4 4 3,445 16,684 0 0 220 zemm_produktiv_8.pg_catalog.pg_type 11 11 2,216 9,141 0 0 341 zemm_produktiv_8.pg_catalog.pg_class 6 6 905 5,364 0 0 252 fbi_unibi.pg_catalog.pg_shdepend 2 2 301 9,406 0 0 76 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 279 1,272 0 0 144 zemm_produktiv_8.public.cages_search_mview 1 1 272 13,885 0 0 234 zemm_produktiv_8.pg_toast.pg_toast_2619 2 2 206 586 0 0 212 zemm_produktiv_8.public.breedingssires 9 0 0 203,517 0 0 1,305 zemm_produktiv_8.public.breedingsdams 9 0 0 274,925 0 0 1,755 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 2,427,385 0 0 410,240 Total 61 38 84,818 3,745,615 0 0 444,650 Pages removed per table
Key values
- unknown (0) Main table with removed pages on database unknown
- 0 pages Total removed
Pages removed per tables
NO DATASET
Table Number of vacuums Index scans Tuples removed Pages removed zemm_produktiv_8.pg_catalog.pg_type 11 11 2216 0 fbi_unibi.pg_catalog.pg_shdepend 2 2 301 0 zemm_produktiv_8.pg_catalog.pg_class 6 6 905 0 zemm_produktiv_8.public.cages_search_mview 1 1 272 0 zemm_produktiv_8.public.tasks 1 1 54107 0 zemm_produktiv_8.public.breedingssires 9 0 0 0 zemm_produktiv_8.public.cost_history 1 1 14534 0 zemm_produktiv_8.public.breedingsdams 9 0 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 2 2 206 0 zemm_produktiv_8.pg_catalog.pg_depend 4 4 3445 0 zemm_produktiv_8.pg_catalog.pg_attribute 9 9 8553 0 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 279 0 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 Total 61 38 84,818 0 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Apr 27 00 1 0 01 1 1 02 0 0 03 0 0 04 0 0 05 0 0 06 3 5 07 5 15 08 7 13 09 2 7 10 2 6 11 17 32 12 8 17 13 6 14 14 1 5 15 5 9 16 0 1 17 1 0 18 1 3 19 0 0 20 0 0 21 0 0 22 1 0 23 0 0 - 1.05 sec Highest CPU-cost vacuum
-
Locks
Locks by types
Key values
- unknown Main Lock Type
- 0 locks Total
Most frequent waiting queries (N)
Rank Count Total time Min time Max time Avg duration Query NO DATASET
Queries that waited the most
Rank Wait time Query NO DATASET
-
Queries
Queries by type
Key values
- 90 Total read queries
- 24,600 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,594 Requests
- 20h55m27s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- labanimal Main user
- 799,682 Requests
User Request type Count Duration deploy Total 241 27m39s cte 4 1m18s ddl 134 11m50s others 88 5m56s select 9 6m3s labanimal Total 799,682 24d16h21m51s copy from 28 3m52s copy to 194 9m13s cte 5,135 5h49m34s ddl 790,231 24d9h5m9s others 667 12m52s select 3,348 59m44s tcl 11 9s269ms update 36 38s617ms postgres Total 195 4m28s copy to 195 4m28s Duration by user
Key values
- 24d16h21m51s (labanimal) Main time consuming user
User Request type Count Duration deploy Total 241 27m39s cte 4 1m18s ddl 134 11m50s others 88 5m56s select 9 6m3s labanimal Total 799,682 24d16h21m51s copy from 28 3m52s copy to 194 9m13s cte 5,135 5h49m34s ddl 790,231 24d9h5m9s others 667 12m52s select 3,348 59m44s tcl 11 9s269ms update 36 38s617ms postgres Total 195 4m28s copy to 195 4m28s Queries by host
Key values
- unknown Main host
- 799,643 Requests
- 24d16h18m10s (unknown)
- Main time consuming host
Host Request type Count Duration 127.0.0.1 Total 2 6s311ms ddl 2 6s311ms 81.169.238.237 Total 37 3m35s select 1 2m56s update 36 38s617ms [local] Total 436 32m7s copy to 195 4m28s cte 4 1m18s ddl 134 11m50s others 88 5m56s select 9 6m3s unknown Total 799,643 24d16h18m10s copy from 28 3m52s copy to 194 9m13s cte 5,135 5h49m34s ddl 790,229 24d9h5m3s others 667 12m52s select 3,347 56m47s tcl 11 9s269ms Queries by application
Key values
- unknown Main application
- 24,594 Requests
- 20h55m27s (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_command_animals_subcommand_found_val1_101017 Total 3 1m18s select 3 1m18s _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 84 1m26s cte 1 3s224ms select 83 1m22s expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s28ms update 1 1s28ms pg_dump Total 6 7s847ms copy to 6 7s847ms psql Total 2 8s618ms ddl 2 8s618ms unknown Total 24,594 20h55m27s cte 110 7m55s ddl 24,480 20h47m29s select 4 2s237ms Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-04-27 11:00:37 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 120 1000-10000ms duration
Slowest individual queries
Rank Duration Query 1 26s509ms SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100205) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100205) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100205) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE (is_owner OR is_editor OR is_tourist);[ Date: 2026-04-27 18:23:29 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_command_animals_subcommand_found_val1_101017 - Bind query: yes ]
2 26s229ms SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100205) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100205) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100205) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE (is_owner OR is_editor OR is_tourist);[ Date: 2026-04-27 18:23:56 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_command_animals_subcommand_found_val1_101017 - Bind query: yes ]
3 26s229ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-27 18:24:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
4 26s229ms CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );[ Date: 2026-04-27 18:24:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
5 26s229ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-04-27 18:24:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
6 26s229ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-04-27 18:24:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
7 26s229ms CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-27 18:24:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
8 26s229ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-04-27 18:24:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
9 26s229ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-04-27 18:24:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
10 26s229ms CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-27 18:24:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
11 26s229ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-04-27 18:24:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
12 26s229ms CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-27 18:24:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
13 26s229ms CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-27 18:24:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
14 26s229ms CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-27 18:24:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
15 26s229ms CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-27 18:24:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
16 26s229ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-04-27 18:24:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
17 26s229ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-04-27 18:24:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
18 26s229ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-04-27 18:24:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
19 26s229ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-04-27 18:24:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
20 25s586ms SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100205) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100205) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100205) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE (is_owner OR is_editor OR is_tourist);[ Date: 2026-04-27 18:24:21 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_command_animals_subcommand_found_val1_101017 - Bind query: yes ]
Time consuming queries (N)
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 1h13m22s 1,440 518ms 26s229ms 3s57ms create schema if not exists observability;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
2 1h13m22s 1,440 518ms 26s229ms 3s57ms create table if not exists observability.nginx_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
3 1h13m22s 1,440 518ms 26s229ms 3s57ms create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
4 1h13m22s 1,440 518ms 26s229ms 3s57ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
5 1h13m22s 1,440 518ms 26s229ms 3s57ms create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
6 1h13m22s 1,440 518ms 26s229ms 3s57ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
7 1h13m22s 1,440 518ms 26s229ms 3s57ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
8 1h13m22s 1,440 518ms 26s229ms 3s57ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
9 1h13m22s 1,440 518ms 26s229ms 3s57ms create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
10 1h13m22s 1,440 518ms 26s229ms 3s57ms create table if not exists observability.system_metrics ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
11 1h13m22s 1,440 518ms 26s229ms 3s57ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
12 1h13m22s 1,440 518ms 26s229ms 3s57ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
13 1h13m22s 1,440 518ms 26s229ms 3s57ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
14 1h13m22s 1,440 518ms 26s229ms 3s57ms create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
15 1h13m22s 1,440 518ms 26s229ms 3s57ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
16 1h13m22s 1,440 518ms 26s229ms 3s57ms create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
17 1h13m22s 1,440 518ms 26s229ms 3s57ms create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
18 7m52s 105 4s96ms 12s447ms 4s500ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 27 01 12 51s15ms 4s251ms 02 8 33s127ms 4s140ms 10 9 38s707ms 4s300ms 11 2 8s543ms 4s271ms 16 10 45s79ms 4s507ms 17 12 55s610ms 4s634ms 18 5 22s931ms 4s586ms 21 13 1m6s 5s134ms 22 10 44s979ms 4s497ms 23 12 53s544ms 4s462ms 00 12 52s266ms 4s355ms [ User: labanimal - Total duration: 7m52s - Times executed: 105 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test') AND collected_at <= '2026-04-27 14:42:24+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test') AND collected_at BETWEEN '2026-04-27 14:42:24+02' AND '2026-04-27 20:42:24+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test') AND collected_at BETWEEN '2026-04-27 14:42:24+02' AND '2026-04-27 20:42:24+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-27 20:42:37 Duration: 12s447ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-27 03:19:00+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-27 03:19:00+02' AND '2026-04-27 15:19:00+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-27 03:19:00+02' AND '2026-04-27 15:19:00+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-27 15:19:05 Duration: 5s34ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-27 15:45:33+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-27 15:45:33+02' AND '2026-04-27 21:45:33+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-27 15:45:33+02' AND '2026-04-27 21:45:33+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-27 21:45:38 Duration: 4s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
19 1m18s 3 25s586ms 26s509ms 26s108ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 27 19 3 1m18s 26s108ms [ User: labanimal - Total duration: 1m18s - Times executed: 3 ]
[ Application: _desktop_index.php_command_animals_subcommand_found_val1_101017 - Total duration: 1m18s - Times executed: 3 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100205) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100205) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100205) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE (is_owner OR is_editor OR is_tourist);
Date: 2026-04-27 18:23:29 Duration: 26s509ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_command_animals_subcommand_found_val1_101017 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100205) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100205) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100205) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE (is_owner OR is_editor OR is_tourist);
Date: 2026-04-27 18:23:56 Duration: 26s229ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_command_animals_subcommand_found_val1_101017 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100205) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100205) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100205) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE (is_owner OR is_editor OR is_tourist);
Date: 2026-04-27 18:24:21 Duration: 25s586ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_command_animals_subcommand_found_val1_101017 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
20 19s58ms 24 746ms 1s468ms 794ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 27 08 7 5s402ms 771ms 09 1 765ms 765ms 10 3 2s287ms 762ms 11 5 3s794ms 758ms 13 2 1s524ms 762ms 14 2 1s504ms 752ms 16 1 757ms 757ms 17 3 3s22ms 1s7ms [ User: labanimal - Total duration: 19s58ms - Times executed: 24 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 19s58ms - Times executed: 24 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 580) AS is_owner, user_is_tgm (animals_search_mview.editor, 580) AS is_editor, user_is_tgm (animals_search_mview.tourist, 580) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-27 16:35:23 Duration: 1s468ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 228) AS is_owner, user_is_tgm (animals_search_mview.editor, 228) AS is_editor, user_is_tgm (animals_search_mview.tourist, 228) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-27 07:26:20 Duration: 858ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 580) AS is_owner, user_is_tgm (animals_search_mview.editor, 580) AS is_editor, user_is_tgm (animals_search_mview.tourist, 580) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-27 16:50:53 Duration: 789ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,440 1h13m22s 518ms 26s229ms 3s57ms create schema if not exists observability;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
2 1,440 1h13m22s 518ms 26s229ms 3s57ms create table if not exists observability.nginx_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
3 1,440 1h13m22s 518ms 26s229ms 3s57ms create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
4 1,440 1h13m22s 518ms 26s229ms 3s57ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
5 1,440 1h13m22s 518ms 26s229ms 3s57ms create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
6 1,440 1h13m22s 518ms 26s229ms 3s57ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
7 1,440 1h13m22s 518ms 26s229ms 3s57ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
8 1,440 1h13m22s 518ms 26s229ms 3s57ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
9 1,440 1h13m22s 518ms 26s229ms 3s57ms create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
10 1,440 1h13m22s 518ms 26s229ms 3s57ms create table if not exists observability.system_metrics ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
11 1,440 1h13m22s 518ms 26s229ms 3s57ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
12 1,440 1h13m22s 518ms 26s229ms 3s57ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
13 1,440 1h13m22s 518ms 26s229ms 3s57ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
14 1,440 1h13m22s 518ms 26s229ms 3s57ms create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
15 1,440 1h13m22s 518ms 26s229ms 3s57ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
16 1,440 1h13m22s 518ms 26s229ms 3s57ms create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
17 1,440 1h13m22s 518ms 26s229ms 3s57ms create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
18 105 7m52s 4s96ms 12s447ms 4s500ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 27 01 12 51s15ms 4s251ms 02 8 33s127ms 4s140ms 10 9 38s707ms 4s300ms 11 2 8s543ms 4s271ms 16 10 45s79ms 4s507ms 17 12 55s610ms 4s634ms 18 5 22s931ms 4s586ms 21 13 1m6s 5s134ms 22 10 44s979ms 4s497ms 23 12 53s544ms 4s462ms 00 12 52s266ms 4s355ms [ User: labanimal - Total duration: 7m52s - Times executed: 105 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test') AND collected_at <= '2026-04-27 14:42:24+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test') AND collected_at BETWEEN '2026-04-27 14:42:24+02' AND '2026-04-27 20:42:24+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test') AND collected_at BETWEEN '2026-04-27 14:42:24+02' AND '2026-04-27 20:42:24+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-27 20:42:37 Duration: 12s447ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-27 03:19:00+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-27 03:19:00+02' AND '2026-04-27 15:19:00+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-27 03:19:00+02' AND '2026-04-27 15:19:00+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-27 15:19:05 Duration: 5s34ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-27 15:45:33+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-27 15:45:33+02' AND '2026-04-27 21:45:33+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-27 15:45:33+02' AND '2026-04-27 21:45:33+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-27 21:45:38 Duration: 4s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
19 24 19s58ms 746ms 1s468ms 794ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 27 08 7 5s402ms 771ms 09 1 765ms 765ms 10 3 2s287ms 762ms 11 5 3s794ms 758ms 13 2 1s524ms 762ms 14 2 1s504ms 752ms 16 1 757ms 757ms 17 3 3s22ms 1s7ms [ User: labanimal - Total duration: 19s58ms - Times executed: 24 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 19s58ms - Times executed: 24 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 580) AS is_owner, user_is_tgm (animals_search_mview.editor, 580) AS is_editor, user_is_tgm (animals_search_mview.tourist, 580) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-27 16:35:23 Duration: 1s468ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 228) AS is_owner, user_is_tgm (animals_search_mview.editor, 228) AS is_editor, user_is_tgm (animals_search_mview.tourist, 228) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-27 07:26:20 Duration: 858ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 580) AS is_owner, user_is_tgm (animals_search_mview.editor, 580) AS is_editor, user_is_tgm (animals_search_mview.tourist, 580) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-27 16:50:53 Duration: 789ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
20 24 16s531ms 678ms 708ms 688ms select distinct * from ( select animals_search_mview.*, b.unbreeding_date, fates.loc as fate_name, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, string_agg(l."application_id" || ? || l."title" || ? || date(lh."timestamp")::varchar, ?) as licensehistory, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview inner join fates on fates.id = animals_search_mview.fate left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join licenses l on l.id = lh.licid left join breedings b on b.id = animals_search_mview.last_mating group by animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data where data.fate = ? and data.alive = ? and data.deleted = ? and (is_owner or is_editor or is_tourist) and (data.straindeleted = ? or data.straindeleted is null) order by data.cage_name, data.animal_id, data.name;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 27 08 7 4s814ms 687ms 09 1 694ms 694ms 10 3 2s69ms 689ms 11 5 3s421ms 684ms 13 2 1s373ms 686ms 14 2 1s368ms 684ms 16 1 686ms 686ms 17 3 2s103ms 701ms [ User: labanimal - Total duration: 16s531ms - Times executed: 24 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 16s531ms - Times executed: 24 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 580) AS is_owner, user_is_tgm (animals_search_mview.editor, 580) AS is_editor, user_is_tgm (animals_search_mview.tourist, 580) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-27 16:35:24 Duration: 708ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100187) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100187) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100187) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-27 07:48:33 Duration: 705ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100106) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100106) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100106) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-27 09:43:24 Duration: 698ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 25s586ms 26s509ms 26s108ms 3 1m18s select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 27 19 3 1m18s 26s108ms [ User: labanimal - Total duration: 1m18s - Times executed: 3 ]
[ Application: _desktop_index.php_command_animals_subcommand_found_val1_101017 - Total duration: 1m18s - Times executed: 3 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100205) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100205) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100205) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE (is_owner OR is_editor OR is_tourist);
Date: 2026-04-27 18:23:29 Duration: 26s509ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_command_animals_subcommand_found_val1_101017 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100205) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100205) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100205) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE (is_owner OR is_editor OR is_tourist);
Date: 2026-04-27 18:23:56 Duration: 26s229ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_command_animals_subcommand_found_val1_101017 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100205) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100205) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100205) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE (is_owner OR is_editor OR is_tourist);
Date: 2026-04-27 18:24:21 Duration: 25s586ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_command_animals_subcommand_found_val1_101017 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
2 4s96ms 12s447ms 4s500ms 105 7m52s with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 27 01 12 51s15ms 4s251ms 02 8 33s127ms 4s140ms 10 9 38s707ms 4s300ms 11 2 8s543ms 4s271ms 16 10 45s79ms 4s507ms 17 12 55s610ms 4s634ms 18 5 22s931ms 4s586ms 21 13 1m6s 5s134ms 22 10 44s979ms 4s497ms 23 12 53s544ms 4s462ms 00 12 52s266ms 4s355ms [ User: labanimal - Total duration: 7m52s - Times executed: 105 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test') AND collected_at <= '2026-04-27 14:42:24+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test') AND collected_at BETWEEN '2026-04-27 14:42:24+02' AND '2026-04-27 20:42:24+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test') AND collected_at BETWEEN '2026-04-27 14:42:24+02' AND '2026-04-27 20:42:24+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-27 20:42:37 Duration: 12s447ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-27 03:19:00+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-27 03:19:00+02' AND '2026-04-27 15:19:00+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-27 03:19:00+02' AND '2026-04-27 15:19:00+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-27 15:19:05 Duration: 5s34ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-27 15:45:33+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-27 15:45:33+02' AND '2026-04-27 21:45:33+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-27 15:45:33+02' AND '2026-04-27 21:45:33+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-27 21:45:38 Duration: 4s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
3 518ms 26s229ms 3s57ms 1,440 1h13m22s create schema if not exists observability;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
4 518ms 26s229ms 3s57ms 1,440 1h13m22s create table if not exists observability.nginx_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
5 518ms 26s229ms 3s57ms 1,440 1h13m22s create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
6 518ms 26s229ms 3s57ms 1,440 1h13m22s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
7 518ms 26s229ms 3s57ms 1,440 1h13m22s create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
8 518ms 26s229ms 3s57ms 1,440 1h13m22s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
9 518ms 26s229ms 3s57ms 1,440 1h13m22s create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
10 518ms 26s229ms 3s57ms 1,440 1h13m22s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
11 518ms 26s229ms 3s57ms 1,440 1h13m22s create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
12 518ms 26s229ms 3s57ms 1,440 1h13m22s create table if not exists observability.system_metrics ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
13 518ms 26s229ms 3s57ms 1,440 1h13m22s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
14 518ms 26s229ms 3s57ms 1,440 1h13m22s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
15 518ms 26s229ms 3s57ms 1,440 1h13m22s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
16 518ms 26s229ms 3s57ms 1,440 1h13m22s create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
17 518ms 26s229ms 3s57ms 1,440 1h13m22s alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
18 518ms 26s229ms 3s57ms 1,440 1h13m22s create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
19 518ms 26s229ms 3s57ms 1,440 1h13m22s create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 27 01 60 3m59s 3s984ms 02 60 3m55s 3s923ms 03 60 4m6s 4s114ms 04 60 4m6s 4s114ms 05 60 4m6s 4s114ms 06 60 4m6s 4s114ms 07 60 4m6s 4s114ms 08 60 2m13s 2s220ms 09 60 35s861ms 597ms 10 60 3m49s 3s832ms 11 60 1m37s 1s619ms 12 60 56s508ms 941ms 13 60 44s803ms 746ms 14 60 46s971ms 782ms 15 60 40s998ms 683ms 16 60 3m11s 3s196ms 17 60 4m25s 4s432ms 18 60 4m31s 4s528ms 19 60 4m37s 4s627ms 20 60 32s268ms 537ms 21 60 3m 3s12ms 22 60 4m28s 4s473ms 23 60 4m27s 4s457ms 00 60 4m12s 4s210ms [ User: labanimal - Total duration: 1h13m22s - Times executed: 1437 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:24:01 Duration: 26s229ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 18:29:01 Duration: 25s586ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-27 09:26:01 Duration: 16s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
20 746ms 1s468ms 794ms 24 19s58ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 27 08 7 5s402ms 771ms 09 1 765ms 765ms 10 3 2s287ms 762ms 11 5 3s794ms 758ms 13 2 1s524ms 762ms 14 2 1s504ms 752ms 16 1 757ms 757ms 17 3 3s22ms 1s7ms [ User: labanimal - Total duration: 19s58ms - Times executed: 24 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 19s58ms - Times executed: 24 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 580) AS is_owner, user_is_tgm (animals_search_mview.editor, 580) AS is_editor, user_is_tgm (animals_search_mview.tourist, 580) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-27 16:35:23 Duration: 1s468ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 228) AS is_owner, user_is_tgm (animals_search_mview.editor, 228) AS is_editor, user_is_tgm (animals_search_mview.tourist, 228) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-27 07:26:20 Duration: 858ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 580) AS is_owner, user_is_tgm (animals_search_mview.editor, 580) AS is_editor, user_is_tgm (animals_search_mview.tourist, 580) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-27 16:50:53 Duration: 789ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
Time consuming prepare
Rank Total duration Times executed Min duration Max duration Avg duration Query NO DATASET
Time consuming bind
Rank Total duration Times executed Min duration Max duration Avg duration Query NO DATASET
-
Events
Log levels
Key values
- 126,205 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 0 FATAL entries
- 5 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 3 Max number of times the same event was reported
- 5 Total events found
Rank Times reported Error 1 3 ERROR: value too long for type character varying(...)
Times Reported Most Frequent Error / Event #1
Day Hour Count Apr 27 12 3 - ERROR: value too long for type character varying(45)
- ERROR: value too long for type character varying(45)
- ERROR: value too long for type character varying(45)
Context: SQL statement "INSERT INTO tasks (id, name, "order", parent, "method", "entryValue", "returnedValue", done, deadline, loc, instructions, "comment", active, link, task_status, prio_owner, prio_editor, prio_agent, issuer, time_issued, completed_by, time_completed) VALUES (task_id, t.name, t."order", real_parent_id, t."method", t."entryValue", t."returnedValue", t.done, t.deadline, t.loc, t.instructions, t."comment", t.active, t.link, t.task_status, t.prio_owner, t.prio_editor, t.prio_agent, t.issuer, t.time_issued, t.completed_by, t.time_completed)" PL/pgSQL function p_save_task_tree(bigint,text,bigint) line 132 at SQL statement
Statement: SELECT p_save_task_tree(10100176, '33', 10309952);Date: 2026-04-27 11:10:29 Database: zemm_produktiv_8 Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
Context: SQL statement "INSERT INTO tasks (id, name, "order", parent, "method", "entryValue", "returnedValue", done, deadline, loc, instructions, "comment", active, link, task_status, prio_owner, prio_editor, prio_agent, issuer, time_issued, completed_by, time_completed) VALUES (task_id, t.name, t."order", real_parent_id, t."method", t."entryValue", t."returnedValue", t.done, t.deadline, t.loc, t.instructions, t."comment", t.active, t.link, t.task_status, t.prio_owner, t.prio_editor, t.prio_agent, t.issuer, t.time_issued, t.completed_by, t.time_completed)" PL/pgSQL function p_save_task_tree(bigint,text,bigint) line 132 at SQL statement
Statement: SELECT p_save_task_tree(10100176, '33', 10309953);Date: 2026-04-27 11:10:44 Database: zemm_produktiv_8 Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
Context: SQL statement "INSERT INTO tasks (id, name, "order", parent, "method", "entryValue", "returnedValue", done, deadline, loc, instructions, "comment", active, link, task_status, prio_owner, prio_editor, prio_agent, issuer, time_issued, completed_by, time_completed) VALUES (task_id, t.name, t."order", real_parent_id, t."method", t."entryValue", t."returnedValue", t.done, t.deadline, t.loc, t.instructions, t."comment", t.active, t.link, t.task_status, t.prio_owner, t.prio_editor, t.prio_agent, t.issuer, t.time_issued, t.completed_by, t.time_completed)" PL/pgSQL function p_save_task_tree(bigint,text,bigint) line 132 at SQL statement
Statement: SELECT p_save_task_tree(10100176, '33', 10309954);Date: 2026-04-27 11:11:02 Database: zemm_produktiv_8 Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
2 1 ERROR: duplicate key value violates unique constraint "..."
Times Reported Most Frequent Error / Event #2
Day Hour Count Apr 27 21 1 - ERROR: duplicate key value violates unique constraint "metrics_timeseries_tenant_key_metric_name_bucket_start_buck_key"
Detail: Key (tenant_key, metric_name, bucket_start, bucket_width_seconds)=(test, http_requests_total, 2026-04-27 20:42:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-04-27 20:42:24 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv
3 1 ERROR: relation "..." does not exist
Times Reported Most Frequent Error / Event #3
Day Hour Count Apr 27 16 1 - ERROR: relation "observability.events" does not exist
Statement: SELECT event_type, severity, message, occurred_at FROM observability.events WHERE tenant_key='prod' AND event_type='php_error' ORDER BY occurred_at DESC LIMIT 10;
Date: 2026-04-27 15:25:34 Database: zemm_produktiv_8 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-27_000000.csv