-
Global information
- Generated on Mon Jun 15 06:05:17 2026
- Log file: /var/log/postgresql/postgresql-2026-05-13_000000.csv, ..., /var/log/postgresql/postgresql-2026-06-15_000000.csv
- Parsed 351,332 log entries in 5m16s
- Log start from 2026-05-28 00:00:01 to 2026-05-28 23:59:24
-
Overview
Global Stats
- 48 Number of unique normalized queries
- 24,796 Number of queries
- 10h6m29s Total query duration
- 2026-05-28 00:00:01 First query
- 2026-05-28 23:59:01 Last query
- 18 queries/s at 2026-05-28 10:07:01 Query peak
- 10h6m29s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 10h6m29s Execute total duration
- 6 Number of events
- 4 Number of unique normalized events
- 3 Max number of times the same event was reported
- 0 Number of cancellation
- 86 Total number of automatic vacuums
- 198 Total number of automatic analyzes
- 0 Number temporary file
- 0 Max size of temporary file
- 0.00 B Average size of temporary file
- 34,398 Total number of sessions
- 8 sessions at 2026-05-28 11:16:01 Session peak
- 1h45m20s Total duration of sessions
- 183ms Average duration of sessions
- 0 Average queries per session
- 1s57ms Average queries duration per session
- 0ms Average idle time per session
- 34,398 Total number of connections
- 39 connections/s at 2026-05-28 09:59:01 Connection peak
- 3 Total number of databases
SQL Traffic
Key values
- 18 queries/s Query Peak
- 2026-05-28 10:07:01 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-05-28 10:39:56 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 18 queries/s Query Peak
- 2026-05-28 17:46:01 Date
Queries duration
Key values
- 10h6m29s 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 28 00 1,030 0ms 1s563ms 1s439ms 27s71ms 27s485ms 28s103ms 01 1,031 1s220ms 1s571ms 1s498ms 27s378ms 27s742ms 28s207ms 02 1,031 1s451ms 1s551ms 1s510ms 27s112ms 27s801ms 27s890ms 03 1,032 1s484ms 1s552ms 1s511ms 27s249ms 27s782ms 27s902ms 04 1,030 1s467ms 1s540ms 1s499ms 27s231ms 27s477ms 27s661ms 05 1,026 1s469ms 1s557ms 1s527ms 26s491ms 27s643ms 28s17ms 06 1,032 0ms 2s37ms 1s251ms 29s281ms 29s281ms 34s638ms 07 1,030 519ms 2s37ms 1s396ms 27s90ms 34s638ms 36s131ms 08 1,035 666ms 1s569ms 1s444ms 26s922ms 27s723ms 28s172ms 09 1,030 838ms 1s538ms 1s396ms 26s916ms 27s242ms 27s539ms 10 1,042 683ms 1s808ms 1s437ms 28s246ms 30s743ms 33s626ms 11 1,043 601ms 1s599ms 1s268ms 27s599ms 28s91ms 29s330ms 12 1,034 515ms 1s607ms 1s476ms 27s331ms 27s724ms 28s907ms 13 1,046 501ms 2s362ms 1s319ms 29s26ms 40s170ms 40s771ms 14 1,037 500ms 12s524ms 1s563ms 28s406ms 40s524ms 3m33s 15 1,038 696ms 1s847ms 1s510ms 29s995ms 31s413ms 32s961ms 16 1,031 522ms 1s580ms 1s443ms 27s599ms 28s44ms 28s428ms 17 1,031 1s506ms 1s611ms 1s545ms 27s594ms 28s522ms 28s956ms 18 1,030 1s480ms 1s591ms 1s537ms 27s471ms 28s14ms 28s483ms 19 1,030 1s487ms 1s598ms 1s539ms 27s257ms 28s378ms 28s754ms 20 1,031 1s487ms 1s552ms 1s520ms 27s394ms 27s593ms 27s911ms 21 1,031 1s472ms 1s629ms 1s531ms 27s696ms 27s696ms 29s205ms 22 1,031 1s477ms 1s601ms 1s532ms 27s426ms 28s49ms 28s364ms 23 1,034 542ms 2s65ms 1s523ms 27s331ms 27s713ms 33s956ms Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 28 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 6 0 1s8ms 0ms 0ms 2s37ms 07 4 0 685ms 0ms 0ms 706ms 08 0 0 0ms 0ms 0ms 0ms 09 2 0 862ms 0ms 0ms 838ms 10 10 0 722ms 0ms 0ms 2s200ms 11 14 0 936ms 0ms 0ms 2s918ms 12 3 0 764ms 0ms 0ms 888ms 13 14 0 656ms 0ms 516ms 1s613ms 14 6 0 2s508ms 0ms 0ms 1s9ms 15 7 0 723ms 0ms 0ms 1s452ms 16 1 0 522ms 0ms 0ms 0ms 17 0 0 0ms 0ms 0ms 0ms 18 0 0 0ms 0ms 0ms 0ms 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 1s324ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 28 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s220ms 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 28 00 0 10 10.00 0.00% 01 0 10 10.00 0.00% 02 0 11 11.00 0.00% 03 0 12 12.00 0.00% 04 0 10 10.00 0.00% 05 0 6 6.00 0.00% 06 0 6 6.00 0.00% 07 0 6 6.00 0.00% 08 0 7 7.00 0.00% 09 0 8 8.00 0.00% 10 0 10 10.00 0.00% 11 0 9 9.00 0.00% 12 0 11 11.00 0.00% 13 0 9 9.00 0.00% 14 0 10 10.00 0.00% 15 0 10 10.00 0.00% 16 0 10 10.00 0.00% 17 0 11 11.00 0.00% 18 0 10 10.00 0.00% 19 0 10 10.00 0.00% 20 0 11 11.00 0.00% 21 0 11 11.00 0.00% 22 0 11 11.00 0.00% 23 0 9 9.00 0.00% Day Hour Count Average / Second May 28 00 908 0.25/s 01 875 0.24/s 02 902 0.25/s 03 903 0.25/s 04 872 0.24/s 05 904 0.25/s 06 1,685 0.47/s 07 1,694 0.47/s 08 1,813 0.50/s 09 2,196 0.61/s 10 3,047 0.85/s 11 2,784 0.77/s 12 2,052 0.57/s 13 2,826 0.79/s 14 2,009 0.56/s 15 1,157 0.32/s 16 1,111 0.31/s 17 1,222 0.34/s 18 913 0.25/s 19 905 0.25/s 20 939 0.26/s 21 902 0.25/s 22 902 0.25/s 23 877 0.24/s Day Hour Count Average Duration Average idle time May 28 00 908 203ms 0ms 01 875 210ms 0ms 02 902 206ms 0ms 03 903 206ms 0ms 04 872 207ms 0ms 05 904 196ms 0ms 06 1,685 164ms 0ms 07 1,694 146ms 0ms 08 1,813 157ms 0ms 09 2,196 143ms 0ms 10 3,047 149ms 0ms 11 2,784 153ms 0ms 12 2,052 178ms 0ms 13 2,825 167ms 0ms 14 2,010 268ms 0ms 15 1,157 208ms 0ms 16 1,111 200ms 0ms 17 1,222 181ms 0ms 18 913 214ms 0ms 19 905 211ms 0ms 20 939 207ms 0ms 21 902 207ms 0ms 22 902 206ms 0ms 23 877 216ms 0ms -
Connections
Established Connections
Key values
- 39 connections Connection Peak
- 2026-05-28 09:59:01 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 34,398 connections Total
Connections per user
Key values
- labanimal Main User
- 34,398 connections Total
-
Sessions
Simultaneous sessions
Key values
- 8 sessions Session Peak
- 2026-05-28 11:16:01 Date
Histogram of session times
Key values
- 31,247 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 34,398 sessions Total
Sessions per user
Key values
- labanimal Main User
- 34,398 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 34,398 sessions Total
Sessions per application
Key values
- Main Application
- 34,398 sessions Total
Application Count Total Duration Average Duration 29,055 1h31m45s 189ms _backend_cage_autocomplete_api.php_q_2025_limit_12_zemm_dev_loc 1 32ms 32ms _backend_cage_autocomplete_api.php_q_Kadavertruhe_limit_12_zemm 1 31ms 31ms _backend_wean_api.php_litter_id_10130227_zemm_dev_localhost_543 5 626ms 125ms _backend_wean_api.php_litter_id_10130236_zemm_dev_localhost_543 5 702ms 140ms _backend_wean_api.php_litter_id_10130257_zemm_dev_localhost_543 6 812ms 135ms _desktop__command_tasks_command_tasks_subcommand_open_screen__q 1 181ms 181ms _desktop__zemm_dev_localhost_5432 1 63ms 63ms _desktop__zemm_produktiv_8_localhost_5432 14 734ms 52ms _desktop_index.php_animal_id_2026_2F001_2F3121_species_1_breedi 1 66ms 66ms _desktop_index.php_cages_name_51-_2A_cages_empty_false_val4_cag 2 197ms 98ms _desktop_index.php_command_animals_breedings_subcommand_select_ 1 61ms 61ms _desktop_index.php_command_animals_create_multiple_subcommand_f 1 49ms 49ms _desktop_index.php_command_animals_create_multiple_subcommand_i 1 52ms 52ms _desktop_index.php_command_animals_create_subcommand_init_zemm_ 1 111ms 111ms _desktop_index.php_command_animals_edit_subcommand_init_id_1028 2 195ms 97ms _desktop_index.php_command_animals_edit_subcommand_link_init_va 1 102ms 102ms _desktop_index.php_command_animals_edit_subcommand_m_init_scree 1 136ms 136ms _desktop_index.php_command_animals_litters_edit_subcommand_init 1 98ms 98ms _desktop_index.php_command_animals_litters_edit_subcommand_m_in 1 303ms 303ms _desktop_index.php_command_animals_litters_subcommand_select_ze 1 57ms 57ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 56 2s414ms 43ms _desktop_index.php_command_animals_subcommand_select_zemm_dev_l 1 58ms 58ms _desktop_index.php_command_cages_subcommand_init_zemm_produktiv 1 43ms 43ms _desktop_index.php_command_documents_subcommand_init_zemm_produ 1 45ms 45ms _desktop_index.php_command_home_subcommand_init_zemm_produktiv_ 3 258ms 86ms _desktop_index.php_command_login_subcommand_init_zemm_dev_local 4 101ms 25ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,693 49s176ms 29ms _desktop_index.php_command_login_subcommand_init_zemm_test_loca 2 72ms 36ms _desktop_index.php_command_reports_subcommand_animals_per_room_ 1 111ms 111ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 11 1s209ms 109ms _desktop_index.php_command_reports_subcommand_fates_zemm_dev_lo 1 124ms 124ms _desktop_index.php_command_reports_subcommand_fates_zemm_produk 1 107ms 107ms _desktop_index.php_command_reports_subcommand_init_zemm_dev_loc 2 1s718ms 859ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt 2 269ms 134ms _desktop_index.php_command_reports_subcommand_task_status_zemm_ 3 339ms 113ms _desktop_index.php_command_tasks_subcommand_edit_id_10134267_ze 1 88ms 88ms _desktop_index.php_command_tasks_subcommand_edit_id_10142578_ze 1 79ms 79ms _desktop_index.php_command_tasks_subcommand_edit_id_10143133_ze 1 81ms 81ms _desktop_index.php_command_tasks_subcommand_edit_id_10143146_ze 1 81ms 81ms _desktop_index.php_command_tasks_subcommand_edit_id_10143149_ze 1 79ms 79ms _desktop_index.php_command_tasks_subcommand_edit_id_10143150_ze 1 81ms 81ms _desktop_index.php_command_tasks_subcommand_edit_id_10143189_ze 1 79ms 79ms _desktop_index.php_command_tasks_subcommand_edit_id_10143213_ze 1 86ms 86ms _desktop_index.php_command_tasks_subcommand_edit_id_10143215_ze 1 86ms 86ms _desktop_index.php_command_tasks_subcommand_edit_id_10143238_ze 1 78ms 78ms _desktop_index.php_command_tasks_subcommand_edit_id_10143245_ze 1 83ms 83ms _desktop_index.php_command_tasks_subcommand_edit_id_10143255_ze 1 81ms 81ms _desktop_index.php_command_tasks_subcommand_init_search_zemm_de 1 57ms 57ms _desktop_index.php_command_tasks_subcommand_init_template_zemm_ 8 323ms 40ms _desktop_index.php_command_tasks_subcommand_init_zemm_produktiv 35 2s617ms 74ms _desktop_index.php_command_tasks_subcommand_open_legacy_1_id_10 37 2s260ms 61ms _desktop_index.php_command_tasks_subcommand_open_zemm_produktiv 1 1s294ms 1s294ms _desktop_index.php_m_action_animals_3Am_delete_row_animals_1030 1 43ms 43ms _desktop_index.php_name_Abt_C3_B6ten_20v._20Tieren_20ohne_20Ver 1 89ms 89ms _desktop_index.php_name_VP_20von_20..._20bis_20..._20RiboGC8_2F 2 127ms 63ms _desktop_index.php_name_Verpaarung_20trennen_instructions_Bitte 4 265ms 66ms _desktop_index.php_name_Verpaarungen_20f_C3_BCr_20OE_instructio 4 337ms 84ms _desktop_index.php_num_animals_8_species_1_sex_m_sterile_false_ 1 49ms 49ms _desktop_index.php_val4_documents_command_animals_subcommand_in 1 47ms 47ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 23 9s841ms 427ms _desktop_index.php_zemm_dev_localhost_5432 25 23s197ms 927ms _desktop_index.php_zemm_produktiv_8_localhost_5432 3,249 11m25s 211ms backend:zemm_produktiv_8@localhost 70 5s843ms 83ms bounces:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 68ms 68ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s248ms 1s248ms pg_dump 1 10s968ms 10s968ms psql 11 117ms 10ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 9s4ms 375ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 19,565 buffers Checkpoint Peak
- 2026-05-28 01:38:20 Date
- 269.434 seconds Highest write time
- 0.030 seconds Sync time
Checkpoints Wal files
Key values
- 6 files Wal files usage Peak
- 2026-05-28 01:38:20 Date
Checkpoints distance
Key values
- 201.93 Mo Distance Peak
- 2026-05-28 01:38:20 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time May 28 00 9,905 990.742s 0.122s 990.922s 01 26,394 952.985s 0.101s 953.148s 02 8,476 847.979s 0.103s 848.129s 03 8,986 899.154s 0.107s 899.318s 04 8,636 864.319s 0.105s 864.479s 05 8,158 816.809s 0.094s 816.955s 06 10,343 988.356s 0.2s 988.625s 07 10,478 1,048.806s 0.222s 1,049.081s 08 10,953 1,095.95s 0.192s 1,096.193s 09 13,132 1,314.402s 0.265s 1,314.719s 10 18,510 1,353.326s 0.276s 1,353.659s 11 23,089 1,416.52s 0.244s 1,416.818s 12 12,031 1,203.407s 0.245s 1,203.705s 13 12,001 1,200.898s 0.242s 1,201.191s 14 10,740 1,074.775s 0.203s 1,075.029s 15 10,197 1,020.192s 0.138s 1,020.385s 16 9,105 910.819s 0.145s 911.018s 17 9,030 903.494s 0.137s 903.69s 18 8,428 843.681s 0.103s 843.837s 19 8,850 885.359s 0.103s 885.517s 20 8,424 843.407s 0.102s 843.566s 21 8,872 887.938s 0.098s 888.095s 22 8,935 893.674s 0.106s 893.835s 23 8,091 809.871s 0.103s 810.03s Day Hour Added Removed Recycled Synced files Longest sync Average sync May 28 00 0 0 2 593 0.003s 0.013s 01 0 0 8 515 0.004s 0.011s 02 0 0 2 537 0.003s 0.012s 03 0 0 1 548 0.003s 0.012s 04 0 0 2 530 0.003s 0.012s 05 0 0 2 500 0.001s 0.011s 06 0 0 2 1,121 0.003s 0.013s 07 0 0 2 1,266 0.003s 0.012s 08 0 0 3 1,119 0.001s 0.012s 09 0 0 3 1,560 0.002s 0.012s 10 0 0 3 1,640 0.003s 0.012s 11 0 0 5 1,452 0.002s 0.012s 12 0 0 2 1,399 0.002s 0.012s 13 0 0 3 1,414 0.003s 0.012s 14 0 0 2 1,170 0.002s 0.012s 15 0 0 2 765 0.003s 0.012s 16 0 0 2 807 0.002s 0.012s 17 0 0 2 786 0.002s 0.012s 18 0 0 2 543 0.002s 0.012s 19 0 0 2 544 0.004s 0.012s 20 0 0 1 549 0.001s 0.012s 21 0 0 2 532 0.001s 0.012s 22 0 0 2 536 0.002s 0.012s 23 0 0 1 551 0.002s 0.012s Day Hour Count Avg time (sec) May 28 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 28 00 2,495.92 kB 3,633.54 kB 01 11,579.91 kB 40,374.00 kB 02 2,340.50 kB 38,113.25 kB 03 2,516.83 kB 12,517.75 kB 04 2,453.58 kB 5,279.17 kB 05 2,493.45 kB 3,625.73 kB 06 2,829.36 kB 3,353.91 kB 07 3,052.67 kB 3,927.08 kB 08 3,238.83 kB 3,855.42 kB 09 4,181.92 kB 6,997.75 kB 10 5,002.67 kB 11,527.08 kB 11 6,135.83 kB 21,902.17 kB 12 3,451.00 kB 10,874.92 kB 13 3,519.33 kB 5,490.08 kB 14 3,263.58 kB 4,102.58 kB 15 2,726.00 kB 3,503.33 kB 16 2,488.67 kB 3,603.75 kB 17 2,508.67 kB 3,109.33 kB 18 2,381.58 kB 2,896.67 kB 19 2,427.50 kB 3,301.92 kB 20 2,310.50 kB 3,108.00 kB 21 2,407.92 kB 3,002.67 kB 22 2,471.50 kB 2,890.17 kB 23 2,214.50 kB 2,899.25 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 28 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.28 sec Highest CPU-cost vacuum
Table observability.metrics_timeseries
Database zemm_monitoring - 2026-05-28 10:27:21 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_monitoring - Date
Average Autovacuum Duration
Key values
- 2.28 sec Highest CPU-cost vacuum
Table observability.metrics_timeseries
Database zemm_monitoring - 2026-05-28 10:27:21 Date
Analyzes per table
Key values
- pg_catalog.pg_type (62) Main table analyzed (database zemm_produktiv_8)
- 198 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 62 zemm_produktiv_8.pg_catalog.pg_attribute 45 zemm_produktiv_8.pg_catalog.pg_class 34 zemm_produktiv_8.pg_catalog.pg_depend 31 zemm_produktiv_8.public.cages_search_mview 4 zemm_produktiv_8.public.users 2 zemm_dev.pg_catalog.pg_shdepend 2 zemm_monitoring.pg_catalog.pg_shdepend 2 template1.pg_catalog.pg_shdepend 2 zemm_monitoring.observability.metrics_timeseries 2 zemm_produktiv_8.public.tmptasks 2 postgres.pg_catalog.pg_shdepend 2 zemm_produktiv_8.public.tasks 1 zemm_produktiv_8.public.cages 1 zemm_produktiv_8.public.animals 1 zemm_produktiv_8.public.user_ui_prefs 1 zemm_test.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.cost_history 1 fbi_unire.pg_catalog.pg_shdepend 1 labanimal.pg_catalog.pg_shdepend 1 Total 198 Vacuums per table
Key values
- pg_catalog.pg_type (23) Main table vacuumed on database zemm_produktiv_8
- 86 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 23 23 0 0 0 0 0 1,127 229 249,507 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 19 19 0 0 0 0 0 1,927 564 478,930 0 0 zemm_produktiv_8.pg_catalog.pg_class 12 12 0 0 0 0 0 1,027 302 348,961 0 0 zemm_produktiv_8.pg_catalog.pg_depend 10 10 0 0 0 0 0 1,282 366 463,207 0 0 zemm_monitoring.pg_toast.pg_toast_181881 5 0 0 0 0 0 0 1,397 475 2,404,950 460 2,588 zemm_produktiv_8.pg_toast.pg_toast_2619 5 5 0 0 0 0 0 901 229 1,261,255 56 172 zemm_dev.pg_catalog.pg_shdepend 3 3 0 0 0 0 0 202 62 126,776 0 0 zemm_monitoring.pg_toast.pg_toast_67431 2 0 0 0 0 0 0 4,511 1,642 3,736,096 1,226 7,356 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 49,256 47 3,668,347 8 12 zemm_produktiv_8.public.cages_search_mview 1 1 0 0 0 0 0 786 438 1,401,519 58 288 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 0 0 0 0 0 218 81 281,744 45 180 zemm_produktiv_8.public.user_ui_prefs 1 1 0 0 0 0 0 163 72 124,770 1 7 zemm_monitoring.pg_catalog.pg_shdepend 1 1 0 0 0 0 0 78 24 49,892 0 0 fbi_unire.pg_catalog.pg_shdepend 1 1 0 0 0 0 0 75 30 60,746 0 0 zemm_monitoring.observability.metrics_timeseries 1 1 0 0 0 0 0 16,668 7,477 18,668,276 2,030 41,487 Total 86 79 0 0 0 0 0 79,618 12,038 33,324,976 3,884 52,090 Vacuum throughput per table
Key values
- observability.metrics_timeseries (2.28) Max CPU elapsed for vacuum on database zemm_monitoring
- observability.metrics_timeseries (10.273 ms) Max I/O read time for vacuum on database zemm_monitoring
- observability.metrics_timeseries (3.849 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.677 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 1.229 0.038 0.17 zemm_produktiv_8.pg_catalog.pg_class 0.904 0 0.02 zemm_produktiv_8.pg_catalog.pg_depend 0.525 0 0.09 zemm_monitoring.pg_toast.pg_toast_181881 0.333 0 0.1 zemm_produktiv_8.pg_toast.pg_toast_2619 0.282 0 0.05 zemm_dev.pg_catalog.pg_shdepend 0.162 0 0 zemm_monitoring.pg_toast.pg_toast_67431 1.928 0 0.45 zemm_produktiv_8.public.tasks 0 0 0.63 zemm_produktiv_8.public.cages_search_mview 0.36 0 0.11 zemm_produktiv_8.pg_catalog.pg_statistic 0.339 0 0.02 zemm_produktiv_8.public.user_ui_prefs 3.477 0 0.02 zemm_monitoring.pg_catalog.pg_shdepend 0 0 0 fbi_unire.pg_catalog.pg_shdepend 0 0 0 zemm_monitoring.observability.metrics_timeseries 10.273 3.849 2.28 Total 20.489 3.887 3.94 Tuples removed per table
Key values
- public.tasks (54753) Main table with removed tuples on database zemm_produktiv_8
- 114486 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 54,753 57,822 0 0 17,083 zemm_monitoring.observability.metrics_timeseries 1 1 29,553 383,010 0 0 8,322 zemm_produktiv_8.pg_catalog.pg_attribute 19 19 13,113 108,355 0 0 3,496 zemm_produktiv_8.pg_catalog.pg_depend 10 10 7,255 41,970 0 0 550 zemm_produktiv_8.pg_catalog.pg_type 23 23 3,745 19,113 0 0 713 zemm_monitoring.pg_toast.pg_toast_67431 2 0 2,464 1,417,075 0 0 253,248 zemm_produktiv_8.pg_catalog.pg_class 12 12 1,588 10,836 0 0 504 zemm_dev.pg_catalog.pg_shdepend 3 3 576 14,115 0 0 114 zemm_produktiv_8.pg_toast.pg_toast_2619 5 5 517 1,417 0 0 530 fbi_unire.pg_catalog.pg_shdepend 1 1 290 4,705 0 0 38 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 250 1,269 0 0 143 zemm_produktiv_8.public.cages_search_mview 1 1 219 13,885 0 0 234 zemm_monitoring.pg_catalog.pg_shdepend 1 1 162 4,705 0 0 38 zemm_produktiv_8.public.user_ui_prefs 1 1 1 748 0 0 116 zemm_monitoring.pg_toast.pg_toast_181881 5 0 0 63,808 0 0 11,773 Total 86 79 114,486 2,142,833 0 0 296,902 Pages removed per table
Key values
- unknown (0) Main table with removed pages on database unknown
- 0 pages Total removed
Pages removed per tables
NO DATASET
Table Number of vacuums Index scans Tuples removed Pages removed zemm_produktiv_8.public.tasks 1 1 54753 0 zemm_produktiv_8.pg_catalog.pg_depend 10 10 7255 0 zemm_dev.pg_catalog.pg_shdepend 3 3 576 0 zemm_produktiv_8.public.cages_search_mview 1 1 219 0 zemm_produktiv_8.pg_catalog.pg_class 12 12 1588 0 zemm_produktiv_8.pg_catalog.pg_type 23 23 3745 0 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 250 0 zemm_produktiv_8.pg_catalog.pg_attribute 19 19 13113 0 zemm_monitoring.pg_toast.pg_toast_67431 2 0 2464 0 zemm_produktiv_8.public.user_ui_prefs 1 1 1 0 zemm_monitoring.pg_catalog.pg_shdepend 1 1 162 0 zemm_monitoring.pg_toast.pg_toast_181881 5 0 0 0 fbi_unire.pg_catalog.pg_shdepend 1 1 290 0 zemm_produktiv_8.pg_toast.pg_toast_2619 5 5 517 0 zemm_monitoring.observability.metrics_timeseries 1 1 29553 0 Total 86 79 114,486 0 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs May 28 00 0 0 01 2 1 02 0 0 03 1 1 04 0 0 05 1 0 06 3 8 07 8 18 08 11 27 09 8 22 10 15 35 11 7 24 12 9 17 13 11 31 14 2 5 15 1 2 16 1 2 17 4 5 18 1 0 19 0 0 20 0 0 21 0 0 22 0 0 23 1 0 - 2.28 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
- 67 Total read queries
- 24,729 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,708 Requests
- 10h5m (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- monitoring_admin Main user
- 393,913 Requests
User Request type Count Duration labanimal Total 1,488 34m25s copy to 8 22s808ms cte 221 5m17s select 1,243 28m28s update 16 17s576ms monitoring_admin Total 393,913 24d2h19m4s cte 1,419 3h23m14s ddl 391,642 23d22h43m35s select 847 12m10s postgres Total 83 1m55s copy to 83 1m55s Duration by user
Key values
- 24d2h19m4s (monitoring_admin) Main time consuming user
User Request type Count Duration labanimal Total 1,488 34m25s copy to 8 22s808ms cte 221 5m17s select 1,243 28m28s update 16 17s576ms monitoring_admin Total 393,913 24d2h19m4s cte 1,419 3h23m14s ddl 391,642 23d22h43m35s select 847 12m10s postgres Total 83 1m55s copy to 83 1m55s Queries by host
Key values
- unknown Main host
- 395,385 Requests
- 24d2h53m12s (unknown)
- Main time consuming host
Queries by application
Key values
- unknown Main application
- 24,708 Requests
- 10h5m (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_command_reports_subcommand_init_zemm_dev_loc Total 2 1s613ms select 2 1s613ms _desktop_index.php_zemm_dev_localhost_5432 Total 2 13s742ms cte 1 1s218ms select 1 12s524ms _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 78 1m6s cte 14 17s407ms select 64 48s839ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s220ms update 1 1s220ms pg_dump Total 5 6s622ms copy to 5 6s622ms unknown Total 24,708 10h5m cte 228 5m48s ddl 24,480 9h59m12s Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-05-28 17:02:03 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 247 1000-10000ms duration
Slowest individual queries
Rank Duration Query 1 12s524ms 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, 452) THEN TRUE WHEN user_is_tgm (a.editor, 452) THEN TRUE WHEN user_is_tgm (a.tourist, 452) THEN TRUE ELSE FALSE END ORDER BY a.id;[ Date: 2026-05-28 14:03:56 - Database: zemm_dev - User: labanimal - Application: _desktop_index.php_zemm_dev_localhost_5432 - Bind query: yes ]
2 12s524ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-05-28 14:04:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
3 12s524ms 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-28 14:04:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
4 12s524ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-05-28 14:04:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
5 12s524ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-05-28 14:04:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
6 12s524ms 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-28 14:04:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
7 12s524ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-05-28 14:04:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
8 12s524ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-05-28 14:04:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
9 12s524ms 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-28 14:04:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
10 12s524ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-05-28 14:04:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
11 12s524ms 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-28 14:04:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
12 12s524ms 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-28 14:04:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
13 12s524ms 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-28 14:04:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
14 12s524ms 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-28 14:04:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
15 12s524ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-05-28 14:04:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
16 12s524ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-05-28 14:04:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
17 12s524ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-05-28 14:04:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
18 12s524ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-05-28 14:04:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
19 2s383ms WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 10100040) THEN TRUE WHEN user_is_tgm (dam.editor, 10100040) THEN TRUE WHEN user_is_tgm (dam.tourist, 10100040) THEN TRUE ELSE FALSE END GROUP BY breedingid ), siresire AS ( SELECT breedingid, string_agg(cast(sire as text), ';') AS sire FROM breedingssires INNER JOIN ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS sire ON sire.id = breedingssires.sire AND CASE WHEN user_is_tgm (sire.owner, 10100040) THEN TRUE WHEN user_is_tgm (sire.editor, 10100040) THEN TRUE WHEN user_is_tgm (sire.tourist, 10100040) THEN TRUE ELSE FALSE END GROUP BY breedingid ), cagess AS ( select id, "cageName" FROM cages) ( SELECT breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire FROM damdam, siresire, cagess, breedings WHERE breedings.deleted != true AND cagess.id = breedings.cage AND cagess."cageName" like ('30-006') AND damdam.breedingid = breedings.id AND siresire.breedingid = breedings.id GROUP BY breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire ORDER BY breeding_date, plug_date);[ Date: 2026-05-28 14:38:15 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Bind query: yes ]
20 2s383ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-05-28 14:39: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 35m14s 1,440 500ms 12s524ms 1s468ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
2 35m14s 1,440 500ms 12s524ms 1s468ms create table if not exists observability.nginx_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
3 35m14s 1,440 500ms 12s524ms 1s468ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
4 35m14s 1,440 500ms 12s524ms 1s468ms 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 #4
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
5 35m14s 1,440 500ms 12s524ms 1s468ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
6 35m14s 1,440 500ms 12s524ms 1s468ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
7 35m14s 1,440 500ms 12s524ms 1s468ms 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 #7
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
8 35m14s 1,440 500ms 12s524ms 1s468ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
9 35m14s 1,440 500ms 12s524ms 1s468ms 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 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
10 35m14s 1,440 500ms 12s524ms 1s468ms 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 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
11 35m14s 1,440 500ms 12s524ms 1s468ms 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 #11
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
12 35m14s 1,440 500ms 12s524ms 1s468ms 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 #12
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
13 35m14s 1,440 500ms 12s524ms 1s468ms 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 #13
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
14 35m14s 1,440 500ms 12s524ms 1s468ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
15 35m14s 1,440 500ms 12s524ms 1s468ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
16 35m14s 1,440 500ms 12s524ms 1s468ms 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 #16
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
17 35m14s 1,440 500ms 12s524ms 1s468ms create schema if not exists observability;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
18 5m48s 228 1s431ms 1s722ms 1s527ms 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 28 01 10 15s75ms 1s507ms 02 10 15s251ms 1s525ms 03 11 16s643ms 1s513ms 04 12 18s138ms 1s511ms 05 10 14s995ms 1s499ms 06 6 9s162ms 1s527ms 07 6 9s435ms 1s572ms 08 6 9s40ms 1s506ms 09 7 10s581ms 1s511ms 10 8 12s107ms 1s513ms 11 10 15s151ms 1s515ms 12 9 13s849ms 1s538ms 13 11 16s825ms 1s529ms 14 9 13s818ms 1s535ms 15 10 15s385ms 1s538ms 16 10 15s345ms 1s534ms 17 10 15s419ms 1s541ms 18 11 17s51ms 1s550ms 19 10 15s376ms 1s537ms 20 10 15s315ms 1s531ms 21 11 16s744ms 1s522ms 22 11 16s832ms 1s530ms 23 11 16s969ms 1s542ms 00 9 13s674ms 1s519ms [ User: monitoring_admin - Total duration: 5m48s - Times executed: 228 ]
-
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-26 00:52:18+02' AND collected_at <= '2026-05-28 00:52:18+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-28 00:52:18+02' AND '2026-05-28 06:52:18+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-28 00:52:18+02' AND '2026-05-28 06:52:18+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-28 06:52:20 Duration: 1s722ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-26 15:36:57+02' AND collected_at <= '2026-05-28 15:36:57+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-28 15:36:57+02' AND '2026-05-28 21:36:57+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-28 15:36:57+02' AND '2026-05-28 21:36:57+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-28 21:36:58 Duration: 1s629ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-26 11:51:09+02' AND collected_at <= '2026-05-28 11:51:09+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-28 11:51:09+02' AND '2026-05-28 17:51:09+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-28 11:51:09+02' AND '2026-05-28 17:51:09+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-28 17:51:10 Duration: 1s611ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
19 12s524ms 1 12s524ms 12s524ms 12s524ms 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 = ? and case when user_is_tgm (a.owner, ?) then true when user_is_tgm (a.editor, ?) then true when user_is_tgm (a.tourist, ?) then true else false end order by a.id;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration May 28 15 1 12s524ms 12s524ms [ User: labanimal - Total duration: 12s524ms - Times executed: 1 ]
[ Application: _desktop_index.php_zemm_dev_localhost_5432 - Total duration: 12s524ms - Times executed: 1 ]
-
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, 452) THEN TRUE WHEN user_is_tgm (a.editor, 452) THEN TRUE WHEN user_is_tgm (a.tourist, 452) THEN TRUE ELSE FALSE END ORDER BY a.id;
Date: 2026-05-28 14:03:56 Duration: 12s524ms Database: zemm_dev User: labanimal Application: _desktop_index.php_zemm_dev_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
20 11s413ms 15 748ms 797ms 760ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration May 28 11 5 3s777ms 755ms 12 4 3s41ms 760ms 14 3 2s329ms 776ms 16 3 2s264ms 754ms [ User: labanimal - Total duration: 11s413ms - Times executed: 15 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 11s413ms - Times executed: 15 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 416) AS is_owner, user_is_tgm (animals_search_mview.editor, 416) AS is_editor, user_is_tgm (animals_search_mview.tourist, 416) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-05-28 13:34:22 Duration: 797ms 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-28_064528.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 612) AS is_owner, user_is_tgm (animals_search_mview.editor, 612) AS is_editor, user_is_tgm (animals_search_mview.tourist, 612) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-05-28 13:14:10 Duration: 777ms 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-28_064528.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100178) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100178) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100178) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-05-28 11:34:32 Duration: 764ms 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-28_064528.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,440 35m14s 500ms 12s524ms 1s468ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
2 1,440 35m14s 500ms 12s524ms 1s468ms create table if not exists observability.nginx_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
3 1,440 35m14s 500ms 12s524ms 1s468ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
4 1,440 35m14s 500ms 12s524ms 1s468ms 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 #4
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
5 1,440 35m14s 500ms 12s524ms 1s468ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
6 1,440 35m14s 500ms 12s524ms 1s468ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
7 1,440 35m14s 500ms 12s524ms 1s468ms 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 #7
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
8 1,440 35m14s 500ms 12s524ms 1s468ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
9 1,440 35m14s 500ms 12s524ms 1s468ms 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 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
10 1,440 35m14s 500ms 12s524ms 1s468ms 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 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
11 1,440 35m14s 500ms 12s524ms 1s468ms 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 #11
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
12 1,440 35m14s 500ms 12s524ms 1s468ms 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 #12
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
13 1,440 35m14s 500ms 12s524ms 1s468ms 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 #13
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
14 1,440 35m14s 500ms 12s524ms 1s468ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
15 1,440 35m14s 500ms 12s524ms 1s468ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
16 1,440 35m14s 500ms 12s524ms 1s468ms 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 #16
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
17 1,440 35m14s 500ms 12s524ms 1s468ms create schema if not exists observability;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
18 228 5m48s 1s431ms 1s722ms 1s527ms 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 28 01 10 15s75ms 1s507ms 02 10 15s251ms 1s525ms 03 11 16s643ms 1s513ms 04 12 18s138ms 1s511ms 05 10 14s995ms 1s499ms 06 6 9s162ms 1s527ms 07 6 9s435ms 1s572ms 08 6 9s40ms 1s506ms 09 7 10s581ms 1s511ms 10 8 12s107ms 1s513ms 11 10 15s151ms 1s515ms 12 9 13s849ms 1s538ms 13 11 16s825ms 1s529ms 14 9 13s818ms 1s535ms 15 10 15s385ms 1s538ms 16 10 15s345ms 1s534ms 17 10 15s419ms 1s541ms 18 11 17s51ms 1s550ms 19 10 15s376ms 1s537ms 20 10 15s315ms 1s531ms 21 11 16s744ms 1s522ms 22 11 16s832ms 1s530ms 23 11 16s969ms 1s542ms 00 9 13s674ms 1s519ms [ User: monitoring_admin - Total duration: 5m48s - Times executed: 228 ]
-
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-26 00:52:18+02' AND collected_at <= '2026-05-28 00:52:18+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-28 00:52:18+02' AND '2026-05-28 06:52:18+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-28 00:52:18+02' AND '2026-05-28 06:52:18+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-28 06:52:20 Duration: 1s722ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-26 15:36:57+02' AND collected_at <= '2026-05-28 15:36:57+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-28 15:36:57+02' AND '2026-05-28 21:36:57+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-28 15:36:57+02' AND '2026-05-28 21:36:57+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-28 21:36:58 Duration: 1s629ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-26 11:51:09+02' AND collected_at <= '2026-05-28 11:51:09+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-28 11:51:09+02' AND '2026-05-28 17:51:09+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-28 11:51:09+02' AND '2026-05-28 17:51:09+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-28 17:51:10 Duration: 1s611ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
19 15 11s413ms 748ms 797ms 760ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration May 28 11 5 3s777ms 755ms 12 4 3s41ms 760ms 14 3 2s329ms 776ms 16 3 2s264ms 754ms [ User: labanimal - Total duration: 11s413ms - Times executed: 15 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 11s413ms - Times executed: 15 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 416) AS is_owner, user_is_tgm (animals_search_mview.editor, 416) AS is_editor, user_is_tgm (animals_search_mview.tourist, 416) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-05-28 13:34:22 Duration: 797ms 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-28_064528.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 612) AS is_owner, user_is_tgm (animals_search_mview.editor, 612) AS is_editor, user_is_tgm (animals_search_mview.tourist, 612) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-05-28 13:14:10 Duration: 777ms 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-28_064528.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100178) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100178) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100178) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-05-28 11:34:32 Duration: 764ms 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-28_064528.csv
20 15 10s410ms 683ms 705ms 694ms 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 28 11 5 3s449ms 689ms 12 4 2s770ms 692ms 14 3 2s97ms 699ms 16 3 2s93ms 697ms [ User: labanimal - Total duration: 10s410ms - Times executed: 15 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 10s410ms - Times executed: 15 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 612) AS is_owner, user_is_tgm (animals_search_mview.editor, 612) AS is_editor, user_is_tgm (animals_search_mview.tourist, 612) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-05-28 13:14:10 Duration: 705ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 416) AS is_owner, user_is_tgm (animals_search_mview.editor, 416) AS is_editor, user_is_tgm (animals_search_mview.tourist, 416) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-05-28 13:34:23 Duration: 703ms 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-28_064528.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100178) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100178) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100178) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-05-28 11:34:37 Duration: 701ms 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-28_064528.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 12s524ms 12s524ms 12s524ms 1 12s524ms 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 = ? and case when user_is_tgm (a.owner, ?) then true when user_is_tgm (a.editor, ?) then true when user_is_tgm (a.tourist, ?) then true else false end order by a.id;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration May 28 15 1 12s524ms 12s524ms [ User: labanimal - Total duration: 12s524ms - Times executed: 1 ]
[ Application: _desktop_index.php_zemm_dev_localhost_5432 - Total duration: 12s524ms - Times executed: 1 ]
-
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, 452) THEN TRUE WHEN user_is_tgm (a.editor, 452) THEN TRUE WHEN user_is_tgm (a.tourist, 452) THEN TRUE ELSE FALSE END ORDER BY a.id;
Date: 2026-05-28 14:03:56 Duration: 12s524ms Database: zemm_dev User: labanimal Application: _desktop_index.php_zemm_dev_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
2 1s431ms 1s722ms 1s527ms 228 5m48s 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 #2
Day Hour Count Duration Avg duration May 28 01 10 15s75ms 1s507ms 02 10 15s251ms 1s525ms 03 11 16s643ms 1s513ms 04 12 18s138ms 1s511ms 05 10 14s995ms 1s499ms 06 6 9s162ms 1s527ms 07 6 9s435ms 1s572ms 08 6 9s40ms 1s506ms 09 7 10s581ms 1s511ms 10 8 12s107ms 1s513ms 11 10 15s151ms 1s515ms 12 9 13s849ms 1s538ms 13 11 16s825ms 1s529ms 14 9 13s818ms 1s535ms 15 10 15s385ms 1s538ms 16 10 15s345ms 1s534ms 17 10 15s419ms 1s541ms 18 11 17s51ms 1s550ms 19 10 15s376ms 1s537ms 20 10 15s315ms 1s531ms 21 11 16s744ms 1s522ms 22 11 16s832ms 1s530ms 23 11 16s969ms 1s542ms 00 9 13s674ms 1s519ms [ User: monitoring_admin - Total duration: 5m48s - Times executed: 228 ]
-
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-26 00:52:18+02' AND collected_at <= '2026-05-28 00:52:18+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-28 00:52:18+02' AND '2026-05-28 06:52:18+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-28 00:52:18+02' AND '2026-05-28 06:52:18+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-28 06:52:20 Duration: 1s722ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-26 15:36:57+02' AND collected_at <= '2026-05-28 15:36:57+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-28 15:36:57+02' AND '2026-05-28 21:36:57+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-28 15:36:57+02' AND '2026-05-28 21:36:57+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-28 21:36:58 Duration: 1s629ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-26 11:51:09+02' AND collected_at <= '2026-05-28 11:51:09+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-28 11:51:09+02' AND '2026-05-28 17:51:09+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-28 11:51:09+02' AND '2026-05-28 17:51:09+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-28 17:51:10 Duration: 1s611ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
3 500ms 12s524ms 1s468ms 1,440 35m14s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
4 500ms 12s524ms 1s468ms 1,440 35m14s create table if not exists observability.nginx_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
5 500ms 12s524ms 1s468ms 1,440 35m14s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
6 500ms 12s524ms 1s468ms 1,440 35m14s 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 #6
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
7 500ms 12s524ms 1s468ms 1,440 35m14s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
8 500ms 12s524ms 1s468ms 1,440 35m14s alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
9 500ms 12s524ms 1s468ms 1,440 35m14s 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 #9
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
10 500ms 12s524ms 1s468ms 1,440 35m14s 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 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
11 500ms 12s524ms 1s468ms 1,440 35m14s 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 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
12 500ms 12s524ms 1s468ms 1,440 35m14s create table if not exists observability.system_metrics ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
13 500ms 12s524ms 1s468ms 1,440 35m14s 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 #13
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
14 500ms 12s524ms 1s468ms 1,440 35m14s 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 #14
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
15 500ms 12s524ms 1s468ms 1,440 35m14s 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 #15
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
16 500ms 12s524ms 1s468ms 1,440 35m14s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
17 500ms 12s524ms 1s468ms 1,440 35m14s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
18 500ms 12s524ms 1s468ms 1,440 35m14s 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 #18
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
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-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.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-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
19 500ms 12s524ms 1s468ms 1,440 35m14s create schema if not exists observability;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration May 28 01 60 1m26s 1s439ms 02 60 1m29s 1s498ms 03 60 1m30s 1s510ms 04 60 1m30s 1s511ms 05 60 1m29s 1s499ms 06 60 1m31s 1s527ms 07 60 1m15s 1s250ms 08 60 1m23s 1s398ms 09 60 1m27s 1s450ms 10 60 1m23s 1s396ms 11 60 1m26s 1s443ms 12 60 1m16s 1s270ms 13 60 1m28s 1s478ms 14 60 1m19s 1s325ms 15 60 1m33s 1s557ms 16 60 1m30s 1s515ms 17 60 1m26s 1s443ms 18 60 1m32s 1s545ms 19 60 1m32s 1s537ms 20 60 1m32s 1s539ms 21 60 1m31s 1s520ms 22 60 1m31s 1s531ms 23 60 1m31s 1s532ms 00 60 1m31s 1s524ms [ User: monitoring_admin - Total duration: 35m14s - Times executed: 1430 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-28 14:04:01 Duration: 12s524ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-28 14:40:01 Duration: 2s383ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-28 13:10:01 Duration: 2s362ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
20 748ms 797ms 760ms 15 11s413ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration May 28 11 5 3s777ms 755ms 12 4 3s41ms 760ms 14 3 2s329ms 776ms 16 3 2s264ms 754ms [ User: labanimal - Total duration: 11s413ms - Times executed: 15 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 11s413ms - Times executed: 15 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 416) AS is_owner, user_is_tgm (animals_search_mview.editor, 416) AS is_editor, user_is_tgm (animals_search_mview.tourist, 416) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-05-28 13:34:22 Duration: 797ms 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-28_064528.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 612) AS is_owner, user_is_tgm (animals_search_mview.editor, 612) AS is_editor, user_is_tgm (animals_search_mview.tourist, 612) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-05-28 13:14:10 Duration: 777ms 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-28_064528.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100178) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100178) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100178) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-05-28 11:34:32 Duration: 764ms 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-28_064528.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
- 163,265 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 1 FATAL entries
- 0 ERROR entries
- 0 WARNING entries
- 5 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 3 Max number of times the same event was reported
- 6 Total events found
Rank Times reported Error 1 3 ERROR: duplicate key value violates unique constraint "..."
Times Reported Most Frequent Error / Event #1
Day Hour Count May 28 08 1 17 1 20 1 - ERROR: duplicate key value violates unique constraint "metrics_timeseries_tenant_key_metric_name_bucket_start_buck_key"
- ERROR: duplicate key value violates unique constraint "metrics_timeseries_tenant_key_metric_name_bucket_start_buck_key"
- ERROR: duplicate key value violates unique constraint "metrics_timeseries_tenant_key_metric_name_bucket_start_buck_key"
Detail: Key (tenant_key, metric_name, bucket_start, bucket_width_seconds)=(live, http_requests_total, 2026-05-28 07:07:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-05-28 07:07:03 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
Detail: Key (tenant_key, metric_name, bucket_start, bucket_width_seconds)=(live, http_requests_total, 2026-05-28 16:03:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-05-28 16:03:01 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
Detail: Key (tenant_key, metric_name, bucket_start, bucket_width_seconds)=(live, http_requests_total, 2026-05-28 19:08:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-05-28 19:08:02 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
2 1 LOG: database system was shut down at ...
Times Reported Most Frequent Error / Event #2
Day Hour Count May 28 07 1 - LOG: database system was shut down at 2026-05-28 06:45:26 CEST
Date: 2026-05-28 06:45:28 Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv
3 1 FATAL: the database system is shutting down
Times Reported Most Frequent Error / Event #3
Day Hour Count May 28 07 1 - FATAL: the database system is shutting down
Date: 2026-05-28 06:45:26 Database: zemm_monitoring Application: User: labanimal Remote: ::1 Log file: /var/log/postgresql/postgresql-2026-05-28_000000.csv
4 1 ERROR: invalid input syntax for type date: ...
Times Reported Most Frequent Error / Event #4
Day Hour Count May 28 09 1 - ERROR: invalid input syntax for type date: ""
Statement: SELECT p_update_animal(456, 10307816, '', 1, 'm', false, '2026-05-15', '2026-05-15', true, '', '', 5, '', 16075, '10000012', false, '1','2026/000/4916',10299605, '20','2026/000/1495',10296184,1,'');
Date: 2026-05-28 08:42:47 Database: zemm_produktiv_8 Application: _desktop_index.php_animal_id_2026_2F001_2F3121_species_1_breedi User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-05-28_064528.csv