-
Global information
- Generated on Mon Jun 15 06:04:45 2026
- Log file: /var/log/postgresql/postgresql-2026-05-13_000000.csv, ..., /var/log/postgresql/postgresql-2026-06-15_000000.csv
- Parsed 266,684 log entries in 4m44s
- Log start from 2026-05-15 00:00:01 to 2026-05-15 23:59:03
-
Overview
Global Stats
- 52 Number of unique normalized queries
- 24,770 Number of queries
- 21h49m40s Total query duration
- 2026-05-15 00:00:01 First query
- 2026-05-15 23:59:01 Last query
- 18 queries/s at 2026-05-15 11:22:01 Query peak
- 21h49m40s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 21h49m40s Execute total duration
- 0 Number of events
- 0 Number of unique normalized events
- 0 Max number of times the same event was reported
- 0 Number of cancellation
- 184 Total number of automatic vacuums
- 314 Total number of automatic analyzes
- 0 Number temporary file
- 0 Max size of temporary file
- 0.00 B Average size of temporary file
- 23,780 Total number of sessions
- 8 sessions at 2026-05-15 13:22:01 Session peak
- 1h43m32s Total duration of sessions
- 261ms Average duration of sessions
- 1 Average queries per session
- 3s304ms Average queries duration per session
- 0ms Average idle time per session
- 23,780 Total number of connections
- 31 connections/s at 2026-05-15 18:01:01 Connection peak
- 3 Total number of databases
SQL Traffic
Key values
- 18 queries/s Query Peak
- 2026-05-15 11:22:01 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-05-15 13:16:38 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 17 queries/s Query Peak
- 2026-05-15 12:41:01 Date
Queries duration
Key values
- 21h49m40s 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) May 15 00 1,020 0ms 0ms 0ms 0ms 0ms 0ms 01 1,021 0ms 1s308ms 633ms 22s247ms 22s247ms 22s247ms 02 1,020 1s308ms 1s308ms 1s308ms 22s247ms 22s247ms 22s247ms 03 1,020 1s308ms 1s308ms 1s308ms 22s247ms 22s247ms 22s247ms 04 1,020 1s308ms 1s308ms 1s308ms 22s247ms 22s247ms 22s247ms 05 1,020 1s308ms 1s308ms 1s308ms 22s247ms 22s247ms 22s247ms 06 1,020 1s308ms 1s308ms 1s308ms 22s247ms 22s247ms 22s247ms 07 1,036 524ms 2s130ms 1s82ms 24s872ms 36s217ms 38s451ms 08 1,047 553ms 12s826ms 4s996ms 3m21s 3m36s 3m38s 09 1,041 571ms 16s534ms 7s605ms 3m30s 4m40s 4m57s 10 1,055 518ms 16s518ms 5s545ms 3m25s 4m40s 4m43s 11 1,045 627ms 12s106ms 5s748ms 3m25s 3m25s 3m26s 12 1,036 621ms 12s87ms 5s733ms 3m25s 3m25s 3m26s 13 1,074 633ms 12s151ms 5s548ms 3m24s 3m24s 3m26s 14 1,038 626ms 12s59ms 6s289ms 3m24s 3m25s 3m25s 15 1,040 620ms 12s49ms 5s727ms 3m24s 3m25s 3m25s 16 1,038 631ms 12s65ms 6s241ms 3m25s 3m25s 3m25s 17 1,035 626ms 11s776ms 5s245ms 3m20s 3m20s 3m20s 18 1,039 628ms 13s251ms 5s282ms 3m21s 3m21s 3m22s 19 1,020 645ms 645ms 645ms 10s977ms 10s977ms 10s977ms 20 1,020 645ms 645ms 645ms 10s977ms 10s977ms 10s977ms 21 1,020 645ms 645ms 645ms 10s977ms 10s977ms 10s977ms 22 1,020 645ms 645ms 645ms 10s977ms 10s977ms 10s977ms 23 1,025 561ms 2s28ms 698ms 10s977ms 23s686ms 23s686ms Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 15 00 0 0 0ms 0ms 0ms 0ms 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 16 0 890ms 0ms 1s179ms 2s747ms 08 20 0 1s270ms 644ms 673ms 1s318ms 09 16 0 2s642ms 624ms 675ms 16s518ms 10 28 0 720ms 647ms 1s201ms 2s450ms 11 19 0 754ms 656ms 682ms 2s196ms 12 11 0 654ms 0ms 643ms 674ms 13 48 0 2s924ms 650ms 3s145ms 37s977ms 14 12 0 655ms 626ms 661ms 677ms 15 14 0 665ms 622ms 680ms 690ms 16 12 0 660ms 631ms 661ms 679ms 17 10 0 657ms 0ms 651ms 689ms 18 12 0 659ms 628ms 659ms 678ms 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 5 1s315ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 15 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s308ms 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 May 15 00 0 0 0.00 0.00% 01 0 0 0.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 18 18.00 0.00% 09 0 14 14.00 0.00% 10 0 17 17.00 0.00% 11 0 18 18.00 0.00% 12 0 16 16.00 0.00% 13 0 18 18.00 0.00% 14 0 18 18.00 0.00% 15 0 19 19.00 0.00% 16 0 18 18.00 0.00% 17 0 15 15.00 0.00% 18 0 19 19.00 0.00% 19 0 0 0.00 0.00% 20 0 0 0.00 0.00% 21 0 0 0.00 0.00% 22 0 0 0.00 0.00% 23 0 0 0.00 0.00% Day Hour Count Average / Second May 15 00 543 0.15/s 01 546 0.15/s 02 546 0.15/s 03 543 0.15/s 04 552 0.15/s 05 543 0.15/s 06 591 0.16/s 07 1,681 0.47/s 08 2,069 0.57/s 09 1,527 0.42/s 10 2,533 0.70/s 11 1,581 0.44/s 12 1,095 0.30/s 13 1,312 0.36/s 14 1,215 0.34/s 15 1,346 0.37/s 16 1,110 0.31/s 17 818 0.23/s 18 873 0.24/s 19 551 0.15/s 20 564 0.16/s 21 543 0.15/s 22 551 0.15/s 23 547 0.15/s Day Hour Count Average Duration Average idle time May 15 00 543 238ms 238ms 01 546 242ms 0ms 02 546 240ms 0ms 03 543 241ms 0ms 04 552 238ms 0ms 05 543 240ms 0ms 06 591 228ms 0ms 07 1,681 189ms 0ms 08 2,069 224ms 0ms 09 1,527 276ms 0ms 10 2,533 192ms 0ms 11 1,581 215ms 0ms 12 1,095 236ms 0ms 13 1,312 751ms 0ms 14 1,215 244ms 0ms 15 1,346 219ms 0ms 16 1,110 241ms 0ms 17 818 272ms 0ms 18 873 297ms 0ms 19 551 237ms 0ms 20 564 238ms 0ms 21 543 241ms 0ms 22 551 237ms 0ms 23 547 260ms 0ms -
Connections
Established Connections
Key values
- 31 connections Connection Peak
- 2026-05-15 18:01:01 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 23,780 connections Total
Connections per user
Key values
- labanimal Main User
- 23,780 connections Total
-
Sessions
Simultaneous sessions
Key values
- 8 sessions Session Peak
- 2026-05-15 13:22:01 Date
Histogram of session times
Key values
- 21,413 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 23,780 sessions Total
Sessions per user
Key values
- labanimal Main User
- 23,780 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 23,780 sessions Total
Sessions per application
Key values
- Main Application
- 23,780 sessions Total
Application Count Total Duration Average Duration 19,933 1h31m53s 276ms _desktop__zemm_produktiv_8_localhost_5432 10 680ms 68ms _desktop_index.php_cages_name_49-2_2A_cages_empty__25_val4_cage 2 131ms 65ms _desktop_index.php_command_animals_edit_subcommand_init_id_1025 1 132ms 132ms _desktop_index.php_command_animals_edit_subcommand_init_id_1028 1 90ms 90ms _desktop_index.php_command_animals_edit_subcommand_init_id_1029 5 483ms 96ms _desktop_index.php_command_animals_edit_subcommand_init_id_1030 1 99ms 99ms _desktop_index.php_command_animals_litters_edit_subcommand_foun 1 102ms 102ms _desktop_index.php_command_animals_litters_edit_subcommand_init 4 397ms 99ms _desktop_index.php_command_animals_litters_subcommand_found_val 1 45ms 45ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 3 136ms 45ms _desktop_index.php_command_cages_edit_subcommand_init_id_9628_z 1 16s586ms 16s586ms _desktop_index.php_command_facility_subcommand_init_zemm_dev_lo 1 81ms 81ms _desktop_index.php_command_login_subcommand_init_zemm_dev_local 6 166ms 27ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,583 46s563ms 29ms _desktop_index.php_command_login_subcommand_init_zemm_test_loca 8 246ms 30ms _desktop_index.php_command_reports_subcommand_animals_per_room_ 3 354ms 118ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 1 114ms 114ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt 3 468ms 156ms _desktop_index.php_command_reports_subcommand_task_status_zemm_ 2 218ms 109ms _desktop_index.php_command_tasks_subcommand_edit_id_10124502_ze 1 72ms 72ms _desktop_index.php_command_tasks_subcommand_edit_id_10142199_ze 2 177ms 88ms _desktop_index.php_command_tasks_subcommand_edit_id_10142324_ze 1 77ms 77ms _desktop_index.php_command_tasks_subcommand_edit_id_10142330_ze 1 88ms 88ms _desktop_index.php_command_tasks_subcommand_edit_id_10142487_ze 1 80ms 80ms _desktop_index.php_command_tasks_subcommand_edit_id_10142772_ze 1 88ms 88ms _desktop_index.php_command_tasks_subcommand_edit_id_10142773_ze 1 88ms 88ms _desktop_index.php_command_tasks_subcommand_edit_id_10142920_ze 1 86ms 86ms _desktop_index.php_command_tasks_subcommand_edit_id_10142926_ze 1 86ms 86ms _desktop_index.php_command_tasks_subcommand_edit_id_10142928_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10142951_ze 1 73ms 73ms _desktop_index.php_command_tasks_subcommand_edit_id_10142977_ze 5 388ms 77ms _desktop_index.php_command_tasks_subcommand_edit_id_10142978_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10142979_ze 1 83ms 83ms _desktop_index.php_command_tasks_subcommand_edit_id_10142987_ze 1 83ms 83ms _desktop_index.php_command_tasks_subcommand_edit_id_10142990_ze 1 80ms 80ms _desktop_index.php_command_tasks_subcommand_edit_id_10142992_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10142995_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_init_zemm_produktiv 3 195ms 65ms _desktop_index.php_command_tasks_subcommand_open_legacy_1_id_10 83 7s641ms 92ms _desktop_index.php_command_tasks_subcommand_open_legacy_1_id_79 1 65ms 65ms _desktop_index.php_command_tasks_subcommand_open_zemm_produktiv 4 4s631ms 1s157ms _desktop_index.php_m_action_animals_edit_3Alink_init_row_animal 1 42ms 42ms _desktop_index.php_name_Genotypisierungsproben_20genommen_instr 1 68ms 68ms _desktop_index.php_name_VP_20von_20..._20bis_20..._20Emx1_2FRib 2 125ms 62ms _desktop_index.php_name_VP_20von_20..._20bis_20..._20Ntsr1_2Fri 2 158ms 79ms _desktop_index.php_name_Verpaarung_20trennen_instructions_Bitte 1 69ms 69ms _desktop_index.php_name_Verpaarungen_20f_C3_BCr_20Versuchsvorha 4 239ms 59ms _desktop_index.php_search_status__25_issuer_user_name_Huang_2C_ 1 85ms 85ms _desktop_index.php_sire_id_2025_2F002_2F5363_dam_id_2025_2F002_ 11 980ms 89ms _desktop_index.php_sire_name_46_sire_id_2025_2F002_2F8978_dam_i 1 80ms 80ms _desktop_index.php_val4_documents_command_animals_subcommand_in 2 91ms 45ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 15 8s816ms 587ms _desktop_index.php_zemm_dev_localhost_5432 9 2s671ms 296ms _desktop_index.php_zemm_produktiv_8_localhost_5432 1,979 9m43s 294ms backend:zemm_produktiv_8@localhost 39 2s115ms 54ms bounces:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 63ms 63ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s330ms 1s330ms pg_dump 1 11s955ms 11s955ms psql 1 12ms 12ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 5s532ms 230ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 27,819 buffers Checkpoint Peak
- 2026-05-15 08:08:20 Date
- 269.976 seconds Highest write time
- 0.035 seconds Sync time
Checkpoints Wal files
Key values
- 7 files Wal files usage Peak
- 2026-05-15 01:38:16 Date
Checkpoints distance
Key values
- 211.76 Mo Distance Peak
- 2026-05-15 01:38:16 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time May 15 00 6,681 668.454s 0.089s 668.603s 01 24,708 812.97s 0.085s 813.109s 02 6,852 685.623s 0.085s 685.769s 03 7,311 731.592s 0.087s 731.737s 04 6,948 695.428s 0.087s 695.581s 05 5,594 559.964s 0.077s 560.096s 06 8,575 858.338s 0.11s 858.515s 07 14,898 1,055.862s 0.181s 1,056.095s 08 37,316 1,219.49s 0.241s 1,219.779s 09 10,865 1,087.07s 0.219s 1,087.348s 10 11,168 1,117.778s 0.279s 1,118.126s 11 8,366 837.393s 0.179s 837.622s 12 9,326 932.91s 0.175s 933.146s 13 7,999 800.328s 0.131s 800.509s 14 10,344 1,000.355s 0.143s 1,000.555s 15 8,741 874.722s 0.143s 874.917s 16 9,872 987.402s 0.161s 987.626s 17 7,510 751.736s 0.087s 751.884s 18 6,785 679.491s 0.082s 679.625s 19 7,142 714.914s 0.098s 715.077s 20 6,809 681.502s 0.092s 681.654s 21 6,468 647.14s 0.09s 647.283s 22 7,818 782.7s 0.099s 782.866s 23 5,695 570.287s 0.08s 570.431s Day Hour Added Removed Recycled Synced files Longest sync Average sync May 15 00 0 0 1 451 0.004s 0.012s 01 0 0 8 439 0.002s 0.011s 02 0 0 2 457 0.001s 0.012s 03 0 0 1 453 0.001s 0.012s 04 0 0 2 444 0.001s 0.012s 05 0 0 1 403 0.002s 0.011s 06 0 0 2 581 0.002s 0.013s 07 0 0 3 1,047 0.002s 0.01s 08 0 0 8 1,389 0.002s 0.012s 09 0 0 3 1,179 0.004s 0.013s 10 0 0 3 1,536 0.012s 0.012s 11 0 0 2 1,014 0.004s 0.011s 12 0 0 2 981 0.002s 0.013s 13 0 0 1 711 0.004s 0.011s 14 0 0 2 809 0.002s 0.012s 15 0 0 2 772 0.002s 0.011s 16 0 0 2 897 0.001s 0.013s 17 0 0 2 455 0.002s 0.012s 18 0 0 1 412 0.002s 0.011s 19 0 0 2 501 0.002s 0.013s 20 0 0 1 464 0.003s 0.012s 21 0 0 1 464 0.002s 0.011s 22 0 0 2 492 0.002s 0.013s 23 0 0 1 420 0.001s 0.011s Day Hour Count Avg time (sec) May 15 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 May 15 00 1,922.83 kB 2,669.58 kB 01 11,654.27 kB 41,960.91 kB 02 1,960.83 kB 39,590.42 kB 03 2,034.75 kB 12,648.67 kB 04 2,002.67 kB 4,987.75 kB 05 1,850.45 kB 2,789.00 kB 06 2,278.92 kB 4,222.31 kB 07 5,528.20 kB 12,773.80 kB 08 11,478.17 kB 56,323.42 kB 09 3,358.85 kB 20,211.00 kB 10 3,850.83 kB 7,905.33 kB 11 2,954.82 kB 5,010.64 kB 12 2,455.08 kB 3,582.92 kB 13 2,455.27 kB 3,098.55 kB 14 2,666.67 kB 4,186.58 kB 15 2,590.00 kB 3,882.09 kB 16 2,604.54 kB 4,068.46 kB 17 2,091.67 kB 3,165.92 kB 18 2,079.18 kB 2,619.09 kB 19 1,882.62 kB 2,603.31 kB 20 1,941.83 kB 2,706.83 kB 21 2,063.73 kB 2,714.27 kB 22 2,051.31 kB 2,722.46 kB 23 1,802.45 kB 2,665.82 kB -
Temporary Files
Size of temporary files
Key values
- 0 Temp Files size Peak
- Date
Size of temporary files (5 minutes period)
NO DATASET
Number of temporary files
Key values
- 0 per second Temp Files Peak
- Date
Number of temporary files (5 minutes period)
NO DATASET
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size May 15 00 0 0 0 01 0 0 0 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 0 0 0 10 0 0 0 11 0 0 0 12 0 0 0 13 0 0 0 14 0 0 0 15 0 0 0 16 0 0 0 17 0 0 0 18 0 0 0 19 0 0 0 20 0 0 0 21 0 0 0 22 0 0 0 23 0 0 0 -
Vacuums
Vacuums / Analyzes Distribution
Key values
- 2.03 sec Highest CPU-cost vacuum
Table observability.metrics_timeseries
Database zemm_monitoring - 2026-05-15 07:03:29 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_monitoring - Date
Average Autovacuum Duration
Key values
- 2.03 sec Highest CPU-cost vacuum
Table observability.metrics_timeseries
Database zemm_monitoring - 2026-05-15 07:03:29 Date
Analyzes per table
Key values
- pg_catalog.pg_type (87) Main table analyzed (database zemm_produktiv_8)
- 314 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 87 zemm_produktiv_8.pg_catalog.pg_attribute 75 zemm_produktiv_8.pg_catalog.pg_class 58 zemm_produktiv_8.pg_catalog.pg_depend 56 zemm_produktiv_8.pg_catalog.pg_shdepend 6 zemm_monitoring.pg_catalog.pg_shdepend 5 invdb.pg_catalog.pg_shdepend 4 fbi_ci_db.pg_catalog.pg_shdepend 3 fbi_unire.pg_catalog.pg_shdepend 3 postgres.pg_catalog.pg_shdepend 3 zemm_produktiv_8.public.tmptasks 2 zemm_monitoring.observability.metrics_timeseries 2 template1.pg_catalog.pg_shdepend 2 zemm_dev.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.cages 1 zemm_produktiv_8.public.tasks 1 template0.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.cages_search_mview 1 zemm_test.pg_catalog.pg_shdepend 1 fbi_unibi.pg_catalog.pg_shdepend 1 labanimal.pg_catalog.pg_shdepend 1 Total 314 Vacuums per table
Key values
- pg_catalog.pg_type (47) Main table vacuumed on database zemm_produktiv_8
- 184 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 47 47 0 0 0 0 0 1,862 360 504,348 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 44 44 0 0 0 0 0 4,156 837 1,283,144 0 0 zemm_produktiv_8.pg_catalog.pg_class 31 31 0 0 0 0 0 1,463 421 487,339 0 0 zemm_produktiv_8.pg_catalog.pg_depend 30 30 0 0 0 0 0 2,500 619 942,930 0 0 fbi_unibi.pg_catalog.pg_shdepend 7 7 0 0 0 0 0 473 82 192,030 0 0 invdb.pg_catalog.pg_shdepend 6 6 0 0 0 0 0 429 110 245,800 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 6 6 0 0 0 0 0 929 238 1,311,316 34 119 zemm_monitoring.pg_toast.pg_toast_67431 4 0 0 0 0 0 0 4,460 1,494 3,402,477 1,477 8,862 fbi_unire.pg_catalog.pg_shdepend 2 2 0 0 0 0 0 129 44 97,955 0 0 zemm_test.pg_catalog.pg_shdepend 2 2 0 0 0 0 0 146 45 97,731 0 0 zemm_monitoring.observability.metrics_timeseries 1 1 0 0 0 0 0 15,414 6,712 15,482,478 2,359 57,841 zemm_monitoring.observability.uptime_checks 1 0 0 0 0 0 0 2,438 2,437 3,811,044 0 0 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 0 0 0 0 0 219 58 195,774 27 84 zemm_monitoring.pg_catalog.pg_statistic 1 1 0 0 0 0 0 116 42 134,109 26 83 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 50,011 26 3,679,156 0 0 Total 184 179 0 0 0 0 0 84,745 13,525 31,867,631 3,923 66,989 Vacuum throughput per table
Key values
- observability.metrics_timeseries (2.03) Max CPU elapsed for vacuum on database zemm_monitoring
- observability.metrics_timeseries (1.344 ms) Max I/O read time for vacuum on database zemm_monitoring
- observability.metrics_timeseries (1.401 ms) Max I/O write time for vacuum on database zemm_monitoring
I/O timing (ms) CPU (s) Table read write elapsed zemm_produktiv_8.pg_catalog.pg_type 0 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 0 0 0.05 zemm_produktiv_8.pg_catalog.pg_class 0 0 0 zemm_produktiv_8.pg_catalog.pg_depend 0 0 0.07 fbi_unibi.pg_catalog.pg_shdepend 0 0 0 invdb.pg_catalog.pg_shdepend 0 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 0 0 0.05 zemm_monitoring.pg_toast.pg_toast_67431 0 0 0.36 fbi_unire.pg_catalog.pg_shdepend 0 0 0 zemm_test.pg_catalog.pg_shdepend 0 0 0 zemm_monitoring.observability.metrics_timeseries 1.344 1.401 2.03 zemm_monitoring.observability.uptime_checks 0.586 0 0.59 zemm_produktiv_8.pg_catalog.pg_statistic 0 0 0.01 zemm_monitoring.pg_catalog.pg_statistic 1.283 0 0.01 zemm_produktiv_8.public.tasks 0 0 0.6 Total 3.213 1.401 3.77 Tuples removed per table
Key values
- public.tasks (54416) Main table with removed tuples on database zemm_produktiv_8
- 140078 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 54,416 57,591 0 0 16,990 zemm_monitoring.observability.metrics_timeseries 1 1 48,977 366,179 0 0 8,322 zemm_produktiv_8.pg_catalog.pg_attribute 44 44 17,959 261,687 0 0 8,096 zemm_produktiv_8.pg_catalog.pg_depend 30 30 8,707 130,376 0 0 1,650 zemm_produktiv_8.pg_catalog.pg_type 47 47 4,497 39,057 0 0 1,457 zemm_produktiv_8.pg_catalog.pg_class 31 31 1,989 28,331 0 0 1,302 fbi_unibi.pg_catalog.pg_shdepend 7 7 1,068 32,935 0 0 266 invdb.pg_catalog.pg_shdepend 6 6 1,021 28,230 0 0 228 zemm_produktiv_8.pg_toast.pg_toast_2619 6 6 610 1,594 0 0 636 zemm_test.pg_catalog.pg_shdepend 2 2 276 9,410 0 0 76 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 258 1,269 0 0 143 fbi_unire.pg_catalog.pg_shdepend 2 2 193 9,410 0 0 76 zemm_monitoring.pg_catalog.pg_statistic 1 1 107 463 0 0 45 zemm_monitoring.observability.uptime_checks 1 0 0 270,221 0 0 13,624 zemm_monitoring.pg_toast.pg_toast_67431 4 0 0 2,547,922 0 0 432,099 Total 184 179 140,078 3,784,675 0 0 485,010 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 invdb.pg_catalog.pg_shdepend 6 6 1021 0 zemm_produktiv_8.pg_toast.pg_toast_2619 6 6 610 0 zemm_monitoring.observability.metrics_timeseries 1 1 48977 0 zemm_monitoring.observability.uptime_checks 1 0 0 0 fbi_unire.pg_catalog.pg_shdepend 2 2 193 0 fbi_unibi.pg_catalog.pg_shdepend 7 7 1068 0 zemm_produktiv_8.pg_catalog.pg_type 47 47 4497 0 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 258 0 zemm_test.pg_catalog.pg_shdepend 2 2 276 0 zemm_produktiv_8.pg_catalog.pg_attribute 44 44 17959 0 zemm_monitoring.pg_toast.pg_toast_67431 4 0 0 0 zemm_monitoring.pg_catalog.pg_statistic 1 1 107 0 zemm_produktiv_8.public.tasks 1 1 54416 0 zemm_produktiv_8.pg_catalog.pg_depend 30 30 8707 0 zemm_produktiv_8.pg_catalog.pg_class 31 31 1989 0 Total 184 179 140,078 0 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs May 15 00 0 0 01 1 1 02 0 0 03 1 0 04 0 0 05 1 1 06 5 6 07 30 43 08 35 63 09 29 38 10 33 60 11 13 23 12 10 22 13 4 13 14 7 16 15 7 11 16 7 13 17 0 0 18 0 0 19 0 0 20 0 4 21 1 0 22 0 0 23 0 0 - 2.03 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
- 218 Total read queries
- 24,552 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,670 Requests
- 21h45m48s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- monitoring_admin Main user
- 73,649 Requests
User Request type Count Duration labanimal Total 207 5m35s cte 21 25s18ms select 183 5m7s update 3 3s256ms monitoring_admin Total 73,649 1d10h54m41s cte 65 12m44s ddl 73,440 1d10h40m23s select 144 1m34s postgres Total 15 19s797ms copy to 15 19s797ms Duration by user
Key values
- 1d10h54m41s (monitoring_admin) Main time consuming user
User Request type Count Duration labanimal Total 207 5m35s cte 21 25s18ms select 183 5m7s update 3 3s256ms monitoring_admin Total 73,649 1d10h54m41s cte 65 12m44s ddl 73,440 1d10h40m23s select 144 1m34s postgres Total 15 19s797ms copy to 15 19s797ms Queries by host
Key values
- unknown Main host
- 73,853 Requests
- 1d11h14s (unknown)
- Main time consuming host
Queries by application
Key values
- unknown Main application
- 24,670 Requests
- 21h45m48s (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_command_cages_edit_subcommand_init_id_9628_z Total 1 16s518ms select 1 16s518ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b Total 4 3s105ms select 4 3s105ms _desktop_index.php_zemm_dev_localhost_5432 Total 1 770ms select 1 770ms _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 88 3m24s cte 2 3s828ms select 86 3m20s expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s308ms update 1 1s308ms pg_dump Total 5 6s575ms copy to 5 6s575ms unknown Total 24,670 21h45m48s cte 64 12m42s ddl 24,480 21h31m42s select 126 1m23s Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-05-15 07:35:17 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 199 500-1000ms duration
Slowest individual queries
Rank Duration Query 1 16s534ms SELECT a.id, a.name, a."animalID", a.dummy_strain_info, a."birthDate", a.sex, tr.rfid FROM animals a LEFT OUTER JOIN cages c ON c.id = a."homeCage" LEFT OUTER JOIN ( SELECT max(id) AS id, maps_to FROM transponders WHERE extraction_date IS NULL GROUP BY maps_to) tr_sel ON tr_sel.maps_to = a.id LEFT OUTER JOIN transponders tr ON tr.id = tr_sel.id WHERE NOT (a.deleted) AND c.id = 9628 AND CASE WHEN user_is_tgm (a.owner, 10100176) THEN TRUE WHEN user_is_tgm (a.editor, 10100176) THEN TRUE WHEN user_is_tgm (a.tourist, 10100176) THEN TRUE ELSE FALSE END ORDER BY a.id;[ Date: 2026-05-15 09:54:57 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Bind query: yes ]
2 16s534ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-05-15 09:55:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
3 16s534ms 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-05-15 09:55:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
4 16s534ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-05-15 09:55:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
5 16s534ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-05-15 09:55:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
6 16s534ms 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-05-15 09:55:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
7 16s534ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-05-15 09:55:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
8 16s534ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-05-15 09:55:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
9 16s534ms 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-05-15 09:55:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
10 16s534ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-05-15 09:55:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
11 16s534ms 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-05-15 09:55:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
12 16s534ms 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-05-15 09:55:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
13 16s534ms 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-05-15 09:55:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
14 16s534ms 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-05-15 09:55:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
15 16s534ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-05-15 09:55:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
16 16s534ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-05-15 09:55:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
17 16s534ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-05-15 09:55:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
18 16s534ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-05-15 09:55:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
19 16s518ms SELECT a.id, a.name, a."animalID", a.dummy_strain_info, a."birthDate", a.sex, tr.rfid FROM animals a LEFT OUTER JOIN cages c ON c.id = a."homeCage" LEFT OUTER JOIN ( SELECT max(id) AS id, maps_to FROM transponders WHERE extraction_date IS NULL GROUP BY maps_to) tr_sel ON tr_sel.maps_to = a.id LEFT OUTER JOIN transponders tr ON tr.id = tr_sel.id WHERE NOT (a.deleted) AND c.id = 9628 AND CASE WHEN user_is_tgm (a.owner, 10100176) THEN TRUE WHEN user_is_tgm (a.editor, 10100176) THEN TRUE WHEN user_is_tgm (a.tourist, 10100176) THEN TRUE ELSE FALSE END ORDER BY a.id;[ Date: 2026-05-15 09:55:35 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_command_cages_edit_subcommand_init_id_9628_z - Bind query: yes ]
20 16s518ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-05-15 09:56:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
Time consuming queries (N)
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 1h15m58s 1,440 520ms 16s534ms 3s165ms 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 #1
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
2 1h15m58s 1,440 520ms 16s534ms 3s165ms create schema if not exists observability;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
3 1h15m58s 1,440 520ms 16s534ms 3s165ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
4 1h15m58s 1,440 520ms 16s534ms 3s165ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
5 1h15m58s 1,440 520ms 16s534ms 3s165ms 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 May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
6 1h15m58s 1,440 520ms 16s534ms 3s165ms 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 #6
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
7 1h15m58s 1,440 520ms 16s534ms 3s165ms 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 #7
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
8 1h15m58s 1,440 520ms 16s534ms 3s165ms 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 #8
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
9 1h15m58s 1,440 520ms 16s534ms 3s165ms 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 May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
10 1h15m58s 1,440 520ms 16s534ms 3s165ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
11 1h15m58s 1,440 520ms 16s534ms 3s165ms 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 #11
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
12 1h15m58s 1,440 520ms 16s534ms 3s165ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
13 1h15m58s 1,440 520ms 16s534ms 3s165ms 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 May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
14 1h15m58s 1,440 520ms 16s534ms 3s165ms 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 May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
15 1h15m58s 1,440 520ms 16s534ms 3s165ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
16 1h15m58s 1,440 520ms 16s534ms 3s165ms 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 #16
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
17 1h15m58s 1,440 520ms 16s534ms 3s165ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
18 12m42s 64 11s637ms 13s251ms 11s920ms 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 >= ? 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 May 15 09 6 1m10s 11s796ms 10 5 58s363ms 11s672ms 11 6 1m11s 11s932ms 12 6 1m12s 12s59ms 13 5 1m 12s11ms 14 6 1m11s 11s997ms 15 6 1m11s 11s985ms 16 6 1m12s 12s3ms 17 6 1m11s 11s888ms 18 5 58s611ms 11s722ms 19 7 1m23s 11s981ms [ User: monitoring_admin - Total duration: 12m42s - Times executed: 64 ]
-
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', 'live') AND collected_at >= '2026-05-13 06:56:50+02' AND collected_at <= '2026-05-15 06:56:50+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', 'live') AND collected_at BETWEEN '2026-05-15 06:56:50+02' AND '2026-05-15 18:56:50+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', 'live') AND collected_at BETWEEN '2026-05-15 06:56:50+02' AND '2026-05-15 18:56:50+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-05-15 18:57:03 Duration: 13s251ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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', 'live') AND collected_at >= '2026-05-13 07:21:26+02' AND collected_at <= '2026-05-15 07:21:26+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', 'live') AND collected_at BETWEEN '2026-05-15 07:21:26+02' AND '2026-05-15 13:21:26+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', 'live') AND collected_at BETWEEN '2026-05-15 07:21:26+02' AND '2026-05-15 13:21:26+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-05-15 13:21:38 Duration: 12s151ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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', 'live') AND collected_at >= '2026-05-13 04:46:01+02' AND collected_at <= '2026-05-15 04:46:01+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', 'live') AND collected_at BETWEEN '2026-05-15 04:46:01+02' AND '2026-05-15 10:46:01+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', 'live') AND collected_at BETWEEN '2026-05-15 04:46:01+02' AND '2026-05-15 10:46:01+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-05-15 10:46:13 Duration: 12s111ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
19 1m23s 126 620ms 728ms 658ms select distinct on (coalesce(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at from observability.uptime_checks order by coalesce(check_key, endpoint), checked_at desc;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration May 15 09 12 7s928ms 660ms 10 9 5s933ms 659ms 11 11 7s283ms 662ms 12 12 7s975ms 664ms 13 11 7s196ms 654ms 14 12 7s890ms 657ms 15 12 7s862ms 655ms 16 13 8s550ms 657ms 17 12 7s923ms 660ms 18 10 6s574ms 657ms 19 12 7s908ms 659ms [ User: monitoring_admin - Total duration: 1m23s - Times executed: 126 ]
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-15 10:46:02 Duration: 728ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-15 13:01:08 Duration: 713ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-15 12:08:01 Duration: 696ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
20 1m10s 22 722ms 9s818ms 3s198ms 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 May 15 11 3 2s185ms 728ms 12 3 2s194ms 731ms 14 16 1m5s 4s124ms [ User: labanimal - Total duration: 1m10s - Times executed: 22 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 1m8s - Times executed: 20 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 1s461ms - Times executed: 2 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100195) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100195) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100195) 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 = 6 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-05-15 13:22:48 Duration: 9s818ms 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-05-15_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100195) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100195) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100195) 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 = 6 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-05-15 13:22:27 Duration: 9s810ms 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-05-15_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100195) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100195) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100195) 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 = 6 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-05-15 13:21:47 Duration: 9s750ms 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-05-15_000000.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,440 1h15m58s 520ms 16s534ms 3s165ms 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 #1
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
2 1,440 1h15m58s 520ms 16s534ms 3s165ms create schema if not exists observability;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
3 1,440 1h15m58s 520ms 16s534ms 3s165ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
4 1,440 1h15m58s 520ms 16s534ms 3s165ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
5 1,440 1h15m58s 520ms 16s534ms 3s165ms 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 May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
6 1,440 1h15m58s 520ms 16s534ms 3s165ms 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 #6
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
7 1,440 1h15m58s 520ms 16s534ms 3s165ms 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 #7
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
8 1,440 1h15m58s 520ms 16s534ms 3s165ms 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 #8
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
9 1,440 1h15m58s 520ms 16s534ms 3s165ms 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 May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
10 1,440 1h15m58s 520ms 16s534ms 3s165ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
11 1,440 1h15m58s 520ms 16s534ms 3s165ms 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 #11
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
12 1,440 1h15m58s 520ms 16s534ms 3s165ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
13 1,440 1h15m58s 520ms 16s534ms 3s165ms 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 May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
14 1,440 1h15m58s 520ms 16s534ms 3s165ms 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 May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
15 1,440 1h15m58s 520ms 16s534ms 3s165ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
16 1,440 1h15m58s 520ms 16s534ms 3s165ms 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 #16
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
17 1,440 1h15m58s 520ms 16s534ms 3s165ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
18 126 1m23s 620ms 728ms 658ms select distinct on (coalesce(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at from observability.uptime_checks order by coalesce(check_key, endpoint), checked_at desc;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration May 15 09 12 7s928ms 660ms 10 9 5s933ms 659ms 11 11 7s283ms 662ms 12 12 7s975ms 664ms 13 11 7s196ms 654ms 14 12 7s890ms 657ms 15 12 7s862ms 655ms 16 13 8s550ms 657ms 17 12 7s923ms 660ms 18 10 6s574ms 657ms 19 12 7s908ms 659ms [ User: monitoring_admin - Total duration: 1m23s - Times executed: 126 ]
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-15 10:46:02 Duration: 728ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-15 13:01:08 Duration: 713ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-15 12:08:01 Duration: 696ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
19 64 12m42s 11s637ms 13s251ms 11s920ms 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 >= ? 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 #19
Day Hour Count Duration Avg duration May 15 09 6 1m10s 11s796ms 10 5 58s363ms 11s672ms 11 6 1m11s 11s932ms 12 6 1m12s 12s59ms 13 5 1m 12s11ms 14 6 1m11s 11s997ms 15 6 1m11s 11s985ms 16 6 1m12s 12s3ms 17 6 1m11s 11s888ms 18 5 58s611ms 11s722ms 19 7 1m23s 11s981ms [ User: monitoring_admin - Total duration: 12m42s - Times executed: 64 ]
-
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', 'live') AND collected_at >= '2026-05-13 06:56:50+02' AND collected_at <= '2026-05-15 06:56:50+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', 'live') AND collected_at BETWEEN '2026-05-15 06:56:50+02' AND '2026-05-15 18:56:50+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', 'live') AND collected_at BETWEEN '2026-05-15 06:56:50+02' AND '2026-05-15 18:56:50+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-05-15 18:57:03 Duration: 13s251ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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', 'live') AND collected_at >= '2026-05-13 07:21:26+02' AND collected_at <= '2026-05-15 07:21:26+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', 'live') AND collected_at BETWEEN '2026-05-15 07:21:26+02' AND '2026-05-15 13:21:26+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', 'live') AND collected_at BETWEEN '2026-05-15 07:21:26+02' AND '2026-05-15 13:21:26+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-05-15 13:21:38 Duration: 12s151ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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', 'live') AND collected_at >= '2026-05-13 04:46:01+02' AND collected_at <= '2026-05-15 04:46:01+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', 'live') AND collected_at BETWEEN '2026-05-15 04:46:01+02' AND '2026-05-15 10:46:01+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', 'live') AND collected_at BETWEEN '2026-05-15 04:46:01+02' AND '2026-05-15 10:46:01+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-05-15 10:46:13 Duration: 12s111ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
20 22 1m10s 722ms 9s818ms 3s198ms 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 May 15 11 3 2s185ms 728ms 12 3 2s194ms 731ms 14 16 1m5s 4s124ms [ User: labanimal - Total duration: 1m10s - Times executed: 22 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 1m8s - Times executed: 20 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 1s461ms - Times executed: 2 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100195) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100195) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100195) 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 = 6 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-05-15 13:22:48 Duration: 9s818ms 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-05-15_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100195) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100195) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100195) 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 = 6 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-05-15 13:22:27 Duration: 9s810ms 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-05-15_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100195) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100195) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100195) 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 = 6 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-05-15 13:21:47 Duration: 9s750ms 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-05-15_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 11s637ms 13s251ms 11s920ms 64 12m42s 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 >= ? 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 #1
Day Hour Count Duration Avg duration May 15 09 6 1m10s 11s796ms 10 5 58s363ms 11s672ms 11 6 1m11s 11s932ms 12 6 1m12s 12s59ms 13 5 1m 12s11ms 14 6 1m11s 11s997ms 15 6 1m11s 11s985ms 16 6 1m12s 12s3ms 17 6 1m11s 11s888ms 18 5 58s611ms 11s722ms 19 7 1m23s 11s981ms [ User: monitoring_admin - Total duration: 12m42s - Times executed: 64 ]
-
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', 'live') AND collected_at >= '2026-05-13 06:56:50+02' AND collected_at <= '2026-05-15 06:56:50+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', 'live') AND collected_at BETWEEN '2026-05-15 06:56:50+02' AND '2026-05-15 18:56:50+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', 'live') AND collected_at BETWEEN '2026-05-15 06:56:50+02' AND '2026-05-15 18:56:50+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-05-15 18:57:03 Duration: 13s251ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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', 'live') AND collected_at >= '2026-05-13 07:21:26+02' AND collected_at <= '2026-05-15 07:21:26+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', 'live') AND collected_at BETWEEN '2026-05-15 07:21:26+02' AND '2026-05-15 13:21:26+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', 'live') AND collected_at BETWEEN '2026-05-15 07:21:26+02' AND '2026-05-15 13:21:26+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-05-15 13:21:38 Duration: 12s151ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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', 'live') AND collected_at >= '2026-05-13 04:46:01+02' AND collected_at <= '2026-05-15 04:46:01+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', 'live') AND collected_at BETWEEN '2026-05-15 04:46:01+02' AND '2026-05-15 10:46:01+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', 'live') AND collected_at BETWEEN '2026-05-15 04:46:01+02' AND '2026-05-15 10:46:01+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-05-15 10:46:13 Duration: 12s111ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
2 722ms 9s818ms 3s198ms 22 1m10s 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 #2
Day Hour Count Duration Avg duration May 15 11 3 2s185ms 728ms 12 3 2s194ms 731ms 14 16 1m5s 4s124ms [ User: labanimal - Total duration: 1m10s - Times executed: 22 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 1m8s - Times executed: 20 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 1s461ms - Times executed: 2 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100195) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100195) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100195) 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 = 6 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-05-15 13:22:48 Duration: 9s818ms 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-05-15_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100195) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100195) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100195) 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 = 6 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-05-15 13:22:27 Duration: 9s810ms 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-05-15_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100195) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100195) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100195) 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 = 6 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-05-15 13:21:47 Duration: 9s750ms 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-05-15_000000.csv
3 520ms 16s534ms 3s165ms 1,440 1h15m58s 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 May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
4 520ms 16s534ms 3s165ms 1,440 1h15m58s create schema if not exists observability;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
5 520ms 16s534ms 3s165ms 1,440 1h15m58s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
6 520ms 16s534ms 3s165ms 1,440 1h15m58s 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 May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
7 520ms 16s534ms 3s165ms 1,440 1h15m58s 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 May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
8 520ms 16s534ms 3s165ms 1,440 1h15m58s 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 #8
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
9 520ms 16s534ms 3s165ms 1,440 1h15m58s 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 #9
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
10 520ms 16s534ms 3s165ms 1,440 1h15m58s 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 May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
11 520ms 16s534ms 3s165ms 1,440 1h15m58s create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
12 520ms 16s534ms 3s165ms 1,440 1h15m58s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
13 520ms 16s534ms 3s165ms 1,440 1h15m58s 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 #13
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
14 520ms 16s534ms 3s165ms 1,440 1h15m58s alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
15 520ms 16s534ms 3s165ms 1,440 1h15m58s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
16 520ms 16s534ms 3s165ms 1,440 1h15m58s 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 May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
17 520ms 16s534ms 3s165ms 1,440 1h15m58s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
18 520ms 16s534ms 3s165ms 1,440 1h15m58s 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 #18
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
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-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
19 520ms 16s534ms 3s165ms 1,440 1h15m58s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration May 15 01 60 0ms 0ms 02 60 37s951ms 632ms 03 60 1m18s 1s308ms 04 60 1m18s 1s308ms 05 60 1m18s 1s308ms 06 60 1m18s 1s308ms 07 60 1m18s 1s308ms 08 60 1m5s 1s85ms 09 60 5m1s 5s32ms 10 60 7m39s 7s663ms 11 60 5m38s 5s644ms 12 60 5m48s 5s804ms 13 60 5m45s 5s757ms 14 60 5m38s 5s634ms 15 60 6m19s 6s321ms 16 60 5m45s 5s760ms 17 60 6m16s 6s274ms 18 60 5m15s 5s258ms 19 60 5m17s 5s290ms 20 60 38s744ms 645ms 21 60 38s744ms 645ms 22 60 38s744ms 645ms 23 60 38s744ms 645ms 00 60 41s735ms 695ms [ User: monitoring_admin - Total duration: 1h15m58s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-15 09:55:01 Duration: 16s534ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-15 10:02:01 Duration: 16s518ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-15 08:08:01 Duration: 12s826ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
20 620ms 728ms 658ms 126 1m23s select distinct on (coalesce(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at from observability.uptime_checks order by coalesce(check_key, endpoint), checked_at desc;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration May 15 09 12 7s928ms 660ms 10 9 5s933ms 659ms 11 11 7s283ms 662ms 12 12 7s975ms 664ms 13 11 7s196ms 654ms 14 12 7s890ms 657ms 15 12 7s862ms 655ms 16 13 8s550ms 657ms 17 12 7s923ms 660ms 18 10 6s574ms 657ms 19 12 7s908ms 659ms [ User: monitoring_admin - Total duration: 1m23s - Times executed: 126 ]
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-15 10:46:02 Duration: 728ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-15 13:01:08 Duration: 713ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_000000.csv
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-15 12:08:01 Duration: 696ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-15_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
- 120,957 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
- 0 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Events per 5 minutes
NO DATASET
Most Frequent Errors/Events
Key values
- 0 Max number of times the same event was reported
- 0 Total events found
Rank Times reported Error NO DATASET