-
Global information
- Generated on Mon Jun 15 06:05:58 2026
- Log file: /var/log/postgresql/postgresql-2026-05-13_000000.csv, ..., /var/log/postgresql/postgresql-2026-06-15_000000.csv
- Parsed 270,908 log entries in 5m57s
- Log start from 2026-06-12 00:00:01 to 2026-06-12 23:59:36
-
Overview
Global Stats
- 67 Number of unique normalized queries
- 24,627 Number of queries
- 8h32m26s Total query duration
- 2026-06-12 00:00:01 First query
- 2026-06-12 23:59:01 Last query
- 18 queries/s at 2026-06-12 17:29:01 Query peak
- 8h32m26s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 8h32m26s Execute total duration
- 1 Number of events
- 1 Number of unique normalized events
- 1 Max number of times the same event was reported
- 0 Number of cancellation
- 46 Total number of automatic vacuums
- 118 Total number of automatic analyzes
- 0 Number temporary file
- 0 Max size of temporary file
- 0.00 B Average size of temporary file
- 24,443 Total number of sessions
- 6 sessions at 2026-06-12 12:58:16 Session peak
- 1h21m24s Total duration of sessions
- 199ms Average duration of sessions
- 1 Average queries per session
- 1s257ms Average queries duration per session
- 0ms Average idle time per session
- 24,443 Total number of connections
- 36 connections/s at 2026-06-12 09:39:07 Connection peak
- 3 Total number of databases
SQL Traffic
Key values
- 18 queries/s Query Peak
- 2026-06-12 17:29:01 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-06-12 07:14:11 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 18 queries/s Query Peak
- 2026-06-12 17:29:01 Date
Queries duration
Key values
- 8h32m26s 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) Jun 12 00 1,020 0ms 0ms 0ms 0ms 0ms 0ms 01 1,021 0ms 1s115ms 539ms 18s969ms 18s969ms 18s969ms 02 1,020 1s115ms 1s115ms 1s115ms 18s969ms 18s969ms 18s969ms 03 1,020 1s115ms 1s115ms 1s115ms 18s969ms 18s969ms 18s969ms 04 1,020 1s115ms 1s115ms 1s115ms 18s969ms 18s969ms 18s969ms 05 1,020 1s115ms 1s115ms 1s115ms 18s969ms 18s969ms 18s969ms 06 1,025 586ms 1s769ms 1s178ms 30s73ms 30s73ms 31s343ms 07 1,035 507ms 2s116ms 594ms 16s988ms 18s87ms 28s298ms 08 1,025 527ms 12s248ms 646ms 12s281ms 12s281ms 24s212ms 09 1,038 518ms 2s114ms 928ms 28s524ms 30s393ms 37s996ms 10 1,030 514ms 1s789ms 726ms 27s473ms 30s423ms 30s423ms 11 1,022 1s530ms 1s789ms 1s741ms 30s423ms 30s423ms 32s8ms 12 1,031 781ms 9s233ms 2s40ms 29s840ms 2m36s 2m38s 13 1,031 709ms 1s604ms 1s506ms 27s737ms 28s93ms 28s836ms 14 1,028 506ms 1s616ms 1s555ms 27s883ms 28s137ms 29s60ms 15 1,034 706ms 1s628ms 1s515ms 27s725ms 28s147ms 29s40ms 16 1,040 710ms 1s626ms 1s469ms 28s52ms 29s234ms 29s785ms 17 1,030 1s538ms 1s619ms 1s562ms 28s96ms 28s281ms 29s110ms 18 1,031 1s546ms 1s709ms 1s586ms 28s637ms 29s58ms 30s635ms 19 1,021 1s582ms 1s585ms 1s582ms 26s894ms 26s894ms 28s536ms 20 1,020 1s582ms 1s582ms 1s582ms 26s894ms 26s894ms 26s894ms 21 1,020 1s582ms 1s582ms 1s582ms 26s894ms 26s894ms 26s894ms 22 1,020 1s582ms 1s582ms 1s582ms 26s894ms 26s894ms 26s894ms 23 1,025 578ms 2s29ms 1s571ms 26s894ms 26s894ms 33s563ms Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Jun 12 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 3 0 1s203ms 0ms 0ms 1s769ms 07 15 0 926ms 0ms 1s111ms 2s362ms 08 5 0 3s49ms 0ms 0ms 0ms 09 16 0 1s126ms 0ms 1s602ms 2s352ms 10 9 0 927ms 0ms 0ms 1s616ms 11 0 0 0ms 0ms 0ms 0ms 12 3 0 3s606ms 0ms 0ms 1s584ms 13 2 0 742ms 0ms 0ms 0ms 14 1 0 506ms 0ms 0ms 0ms 15 4 0 749ms 0ms 0ms 1s495ms 16 8 0 754ms 0ms 0ms 3s19ms 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 1s333ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Jun 12 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s115ms 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 Jun 12 00 0 0 0.00 0.00% 01 0 0 0.00 0.00% 02 0 0 0.00 0.00% 03 0 0 0.00 0.00% 04 0 0 0.00 0.00% 05 0 0 0.00 0.00% 06 0 0 0.00 0.00% 07 0 0 0.00 0.00% 08 0 0 0.00 0.00% 09 0 2 2.00 0.00% 10 0 0 0.00 0.00% 11 0 2 2.00 0.00% 12 0 7 7.00 0.00% 13 0 9 9.00 0.00% 14 0 8 8.00 0.00% 15 0 8 8.00 0.00% 16 0 12 12.00 0.00% 17 0 10 10.00 0.00% 18 0 11 11.00 0.00% 19 0 1 1.00 0.00% 20 0 0 0.00 0.00% 21 0 0 0.00 0.00% 22 0 0 0.00 0.00% 23 0 0 0.00 0.00% Day Hour Count Average / Second Jun 12 00 543 0.15/s 01 546 0.15/s 02 546 0.15/s 03 545 0.15/s 04 562 0.16/s 05 546 0.15/s 06 1,142 0.32/s 07 1,620 0.45/s 08 1,611 0.45/s 09 2,095 0.58/s 10 1,752 0.49/s 11 1,515 0.42/s 12 1,525 0.42/s 13 1,272 0.35/s 14 1,201 0.33/s 15 1,423 0.40/s 16 1,129 0.31/s 17 1,178 0.33/s 18 917 0.25/s 19 579 0.16/s 20 564 0.16/s 21 543 0.15/s 22 543 0.15/s 23 546 0.15/s Day Hour Count Average Duration Average idle time Jun 12 00 543 246ms 246ms 01 546 246ms 0ms 02 546 244ms 0ms 03 545 242ms 0ms 04 562 236ms 0ms 05 546 240ms 0ms 06 1,142 180ms 0ms 07 1,620 196ms 0ms 08 1,611 192ms 0ms 09 2,095 159ms 0ms 10 1,752 159ms 0ms 11 1,515 176ms 0ms 12 1,525 196ms 0ms 13 1,272 193ms 0ms 14 1,201 186ms 0ms 15 1,423 177ms 0ms 16 1,129 212ms 0ms 17 1,178 193ms 0ms 18 917 213ms 0ms 19 579 238ms 0ms 20 564 235ms 0ms 21 543 246ms 0ms 22 543 246ms 0ms 23 546 267ms 0ms -
Connections
Established Connections
Key values
- 36 connections Connection Peak
- 2026-06-12 09:39:07 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 24,443 connections Total
Connections per user
Key values
- labanimal Main User
- 24,443 connections Total
-
Sessions
Simultaneous sessions
Key values
- 6 sessions Session Peak
- 2026-06-12 12:58:16 Date
Histogram of session times
Key values
- 22,304 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 24,443 sessions Total
Sessions per user
Key values
- labanimal Main User
- 24,443 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 24,443 sessions Total
Sessions per application
Key values
- Main Application
- 24,443 sessions Total
Application Count Total Duration Average Duration 20,129 1h12m11s 215ms _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 36ms 36ms _backend_wean_api.php_litter_id_10130227_zemm_dev_localhost_543 5 658ms 131ms _backend_wean_api.php_litter_id_10130236_zemm_dev_localhost_543 5 669ms 133ms _backend_wean_api.php_litter_id_10130257_zemm_dev_localhost_543 6 796ms 132ms _backend_wean_api.php_litter_id_10132673_zemm_produktiv_8_local 2 254ms 127ms _backend_wean_api.php_litter_id_10132681_zemm_produktiv_8_local 1 126ms 126ms _backend_wean_api.php_litter_id_10132697_zemm_produktiv_8_local 6 754ms 125ms _backend_wean_api.php_litter_id_10132698_zemm_produktiv_8_local 3 370ms 123ms _backend_wean_api.php_litter_id_10132699_zemm_produktiv_8_local 3 374ms 124ms _backend_wean_api.php_litter_id_10132701_zemm_produktiv_8_local 2 249ms 124ms _backend_wean_api.php_litter_id_10132770_zemm_produktiv_8_local 2 255ms 127ms _backend_wean_api.php_litter_id_10132771_zemm_produktiv_8_local 2 254ms 127ms _backend_wean_api.php_litter_id_10132772_zemm_produktiv_8_local 2 254ms 127ms _backend_wean_api.php_litter_id_10132773_zemm_produktiv_8_local 2 257ms 128ms _backend_wean_api.php_litter_id_10132774_zemm_produktiv_8_local 2 252ms 126ms _backend_wean_api.php_litter_id_10132775_zemm_produktiv_8_local 2 252ms 126ms _backend_wean_api.php_litter_id_10132776_zemm_produktiv_8_local 2 254ms 127ms _backend_wean_api.php_litter_id_10132778_zemm_produktiv_8_local 2 244ms 122ms _backend_wean_api.php_litter_id_10132790_zemm_produktiv_8_local 2 256ms 128ms _backend_wean_api.php_litter_id_10132791_zemm_produktiv_8_local 2 256ms 128ms _backend_wean_api.php_litter_id_10132792_zemm_produktiv_8_local 2 256ms 128ms _backend_wean_api.php_litter_id_10132800_zemm_produktiv_8_local 1 126ms 126ms _backend_wean_api.php_litter_id_10132802_zemm_produktiv_8_local 3 381ms 127ms _backend_wean_api.php_litter_id_10132803_zemm_produktiv_8_local 2 249ms 124ms _backend_wean_api.php_litter_id_10132804_zemm_produktiv_8_local 2 255ms 127ms _backend_wean_api.php_litter_id_10132805_zemm_produktiv_8_local 2 264ms 132ms _backend_wean_api.php_litter_id_10132806_zemm_produktiv_8_local 3 385ms 128ms _backend_wean_api.php_litter_id_10132807_zemm_produktiv_8_local 2 257ms 128ms _backend_wean_api.php_litter_id_10132808_zemm_produktiv_8_local 2 249ms 124ms _backend_wean_api.php_litter_id_10132811_zemm_produktiv_8_local 3 379ms 126ms _backend_wean_api.php_litter_id_10132863_zemm_produktiv_8_local 2 257ms 128ms _backend_wean_api.php_litter_id_10132906_zemm_produktiv_8_local 2 254ms 127ms _backend_wean_api.php_litter_id_10133002_zemm_produktiv_8_local 1 125ms 125ms _backend_wean_api.php_litter_id_10133013_zemm_produktiv_8_local 3 381ms 127ms _backend_wean_api.php_litter_id_10133014_zemm_produktiv_8_local 4 509ms 127ms _desktop__zemm_dev_localhost_5432 1 62ms 62ms _desktop__zemm_produktiv_8_localhost_5432 11 582ms 52ms _desktop_index.php_cages_name_GLAKO_cages_empty__25_val4_cages_ 1 53ms 53ms _desktop_index.php_command_animals_breedings_subcommand_select_ 1 58ms 58ms _desktop_index.php_command_animals_create_subcommand_init_zemm_ 1 55ms 55ms _desktop_index.php_command_animals_edit_subcommand_init_id_1029 1 95ms 95ms _desktop_index.php_command_animals_edit_subcommand_init_id_1030 5 465ms 93ms _desktop_index.php_command_animals_edit_subcommand_link_init_va 1 115ms 115ms _desktop_index.php_command_animals_edit_subcommand_m_init_scree 1 158ms 158ms _desktop_index.php_command_animals_litters_edit_subcommand_foun 1 79ms 79ms _desktop_index.php_command_animals_litters_edit_subcommand_init 2 205ms 102ms _desktop_index.php_command_animals_litters_edit_subcommand_m_in 1 307ms 307ms _desktop_index.php_command_animals_litters_subcommand_select_ze 1 52ms 52ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 13 570ms 43ms _desktop_index.php_command_animals_subcommand_select_zemm_dev_l 1 73ms 73ms _desktop_index.php_command_documents_subcommand_init_zemm_produ 2 91ms 45ms _desktop_index.php_command_login_subcommand_init_zemm_dev_local 7 214ms 30ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,627 48s74ms 29ms _desktop_index.php_command_login_subcommand_init_zemm_test_loca 6 195ms 32ms _desktop_index.php_command_reports_subcommand_animals_per_room_ 2 222ms 111ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 8 881ms 110ms _desktop_index.php_command_reports_subcommand_fates_zemm_dev_lo 1 133ms 133ms _desktop_index.php_command_reports_subcommand_fates_zemm_produk 2 218ms 109ms _desktop_index.php_command_reports_subcommand_init_zemm_dev_loc 2 1s701ms 850ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt 12 1s651ms 137ms _desktop_index.php_command_reports_subcommand_task_status_zemm_ 6 648ms 108ms _desktop_index.php_command_strains_subcommand_edit_id_1370_zemm 1 48ms 48ms _desktop_index.php_command_strains_subcommand_init3_zemm_produk 1 85ms 85ms _desktop_index.php_command_tasks_subcommand_edit_id_10134267_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10143472_ze 1 78ms 78ms _desktop_index.php_command_tasks_subcommand_init_search_zemm_de 1 49ms 49ms _desktop_index.php_command_tasks_subcommand_init_template_zemm_ 3 121ms 40ms _desktop_index.php_command_tasks_subcommand_init_zemm_produktiv 39 2s798ms 71ms _desktop_index.php_command_tasks_subcommand_open_legacy_1_id_10 24 1s406ms 58ms _desktop_index.php_name_Abt_C3_B6ten_20v._20Tieren_20wg_20falsc 1 100ms 100ms _desktop_index.php_name_B10.mdx-scid_species_1_stockno_B10ScSn. 1 35ms 35ms _desktop_index.php_name_Genotypisierungsproben_20genommen_instr 4 165ms 41ms _desktop_index.php_row_22_22_val4_documents_command_home_subcom 1 95ms 95ms _desktop_index.php_search_status__25_no_subtasks_true_command_u 1 52ms 52ms _desktop_index.php_sire_name_3_dam_name_10_sire_id_2025_2F002_2 1 70ms 70ms _desktop_index.php_val4_documents_command_home_subcommand_init_ 1 94ms 94ms _desktop_index.php_view_animal_name_on_view_animal_id_on_animal 1 277ms 277ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 6 2s482ms 413ms _desktop_index.php_zemm_dev_localhost_5432 16 4s906ms 306ms _desktop_index.php_zemm_produktiv_8_localhost_5432 2,328 7m28s 192ms _desktop_index.php_zemm_test_localhost_5432 1 55ms 55ms backend:zemm_produktiv_8@localhost 42 3s958ms 94ms bounces:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 71ms 71ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s134ms 1s134ms pg_dump 1 11s336ms 11s336ms psql 6 83ms 13ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 6s439ms 268ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 53,757 buffers Checkpoint Peak
- 2026-06-12 12:23:57 Date
- 269.746 seconds Highest write time
- 0.029 seconds Sync time
Checkpoints Wal files
Key values
- 27 files Wal files usage Peak
- 2026-06-12 12:23:57 Date
Checkpoints distance
Key values
- 864.90 Mo Distance Peak
- 2026-06-12 12:23:57 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Jun 12 00 11,075 1,107.847s 0.094s 1,108.002s 01 30,012 1,284.936s 0.101s 1,285.095s 02 10,195 1,019.892s 0.102s 1,020.049s 03 9,900 990.534s 0.102s 990.692s 04 10,578 1,058.151s 0.097s 1,058.299s 05 10,443 1,045.411s 0.099s 1,045.573s 06 10,970 1,097.589s 0.184s 1,097.828s 07 11,717 1,171.749s 0.23s 1,172.029s 08 11,683 1,168.722s 0.209s 1,168.989s 09 25,444 1,249.757s 0.235s 1,250.044s 10 11,108 1,111.13s 0.221s 1,111.406s 11 12,585 1,239.389s 0.197s 1,239.64s 12 66,144 1,508.961s 0.171s 1,509.206s 13 11,139 1,114.593s 0.137s 1,114.78s 14 10,192 1,019.435s 0.134s 1,019.62s 15 10,979 1,098.225s 0.134s 1,098.415s 16 10,392 1,039.841s 0.134s 1,040.03s 17 10,669 1,067.495s 0.158s 1,067.707s 18 9,962 997.124s 0.137s 997.315s 19 9,565 957.669s 0.098s 957.822s 20 10,167 1,016.748s 0.104s 1,016.902s 21 9,058 906.382s 0.097s 906.536s 22 8,710 871.233s 0.099s 871.388s 23 8,856 886.856s 0.1s 887.012s Day Hour Added Removed Recycled Synced files Longest sync Average sync Jun 12 00 0 0 2 513 0.001s 0.012s 01 0 0 9 531 0.001s 0.012s 02 0 0 3 509 0.004s 0.012s 03 0 0 2 499 0.005s 0.012s 04 0 0 2 522 0.001s 0.012s 05 0 0 2 501 0.002s 0.012s 06 0 0 2 1,040 0.002s 0.012s 07 0 0 3 1,306 0.002s 0.012s 08 0 0 2 1,192 0.004s 0.012s 09 0 0 5 1,385 0.002s 0.012s 10 0 0 3 1,301 0.001s 0.012s 11 0 0 2 1,104 0.004s 0.012s 12 0 0 30 940 0.003s 0.012s 13 0 0 2 753 0.003s 0.012s 14 0 0 2 730 0.002s 0.012s 15 0 0 2 726 0.003s 0.012s 16 0 0 2 746 0.002s 0.012s 17 0 0 2 895 0.002s 0.012s 18 0 0 2 649 0.002s 0.012s 19 0 0 2 521 0.002s 0.012s 20 0 0 2 522 0.002s 0.012s 21 0 0 2 507 0.002s 0.012s 22 0 0 2 510 0.002s 0.012s 23 0 0 2 521 0.002s 0.012s Day Hour Count Avg time (sec) Jun 12 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 Jun 12 00 2,939.58 kB 3,491.17 kB 01 12,469.75 kB 42,066.08 kB 02 2,872.25 kB 42,960.50 kB 03 2,831.75 kB 14,151.92 kB 04 2,979.33 kB 6,060.33 kB 05 2,911.75 kB 4,007.50 kB 06 3,152.25 kB 3,749.83 kB 07 3,382.75 kB 3,806.67 kB 08 3,421.42 kB 4,382.67 kB 09 7,044.25 kB 16,916.25 kB 10 3,220.67 kB 21,639.83 kB 11 3,580.75 kB 8,837.08 kB 12 40,004.83 kB 213,279.33 kB 13 2,884.75 kB 116,238.33 kB 14 2,801.50 kB 34,854.75 kB 15 3,006.92 kB 11,954.58 kB 16 2,897.67 kB 5,511.42 kB 17 2,901.08 kB 3,633.67 kB 18 2,683.00 kB 3,115.67 kB 19 2,616.33 kB 3,172.58 kB 20 2,764.25 kB 3,392.83 kB 21 2,574.00 kB 3,513.92 kB 22 2,533.08 kB 2,898.75 kB 23 2,540.92 kB 2,969.67 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 Jun 12 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
- 1.90 sec Highest CPU-cost vacuum
Table public.animals_search_mview
Database zemm_produktiv_8 - 2026-06-12 12:18:52 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_produktiv_8 - Date
Average Autovacuum Duration
Key values
- 1.90 sec Highest CPU-cost vacuum
Table public.animals_search_mview
Database zemm_produktiv_8 - 2026-06-12 12:18:52 Date
Analyzes per table
Key values
- pg_catalog.pg_type (38) Main table analyzed (database zemm_produktiv_8)
- 118 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 38 zemm_produktiv_8.pg_catalog.pg_attribute 28 zemm_produktiv_8.pg_catalog.pg_class 19 zemm_produktiv_8.pg_catalog.pg_depend 17 zemm_monitoring.observability.metrics_timeseries 2 zemm_produktiv_8.public.tmptasks 2 zemm_produktiv_8.public.animals_search_mview 1 zemm_monitoring.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.monitoring_session_activity 1 zemm_produktiv_8.public.login_tracker 1 template1.pg_catalog.pg_shdepend 1 invdb.pg_catalog.pg_shdepend 1 template0.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.cages_search_mview 1 zemm_produktiv_8.public.users 1 zemm_dev.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.tasks 1 fbi_unibi.pg_catalog.pg_shdepend 1 Total 118 Vacuums per table
Key values
- pg_catalog.pg_type (13) Main table vacuumed on database zemm_produktiv_8
- 46 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 13 13 0 0 0 0 0 668 140 147,384 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 10 10 0 0 0 0 0 1,134 387 273,165 0 0 zemm_produktiv_8.pg_catalog.pg_class 6 6 0 0 0 0 0 559 184 197,926 0 0 zemm_produktiv_8.pg_catalog.pg_depend 5 5 0 0 0 0 0 658 226 259,207 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 0 0 0 0 0 572 128 756,351 32 104 zemm_monitoring.pg_toast.pg_toast_67431 3 0 0 0 0 0 0 6,319 2,535 5,714,980 1,259 7,554 zemm_produktiv_8.public.users 1 1 0 0 0 0 0 166 73 182,925 50 110 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 51,993 40 3,919,901 1 4 zemm_produktiv_8.public.animals_search_mview 1 1 0 0 0 0 0 104,809 854 12,318,561 1 6 zemm_monitoring.pg_catalog.pg_shdepend 1 1 0 0 0 0 0 74 28 57,024 0 0 invdb.pg_catalog.pg_shdepend 1 1 0 0 0 0 0 80 24 53,136 0 0 zemm_monitoring.pg_toast.pg_toast_2619 1 1 0 0 0 0 0 92 18 106,998 4 18 Total 46 43 0 0 0 0 0 167,124 4,637 23,987,558 1,347 7,796 Vacuum throughput per table
Key values
- public.animals_search_mview (1.9) Max CPU elapsed for vacuum on database zemm_produktiv_8
- public.animals_search_mview (1.269 ms) Max I/O read time for vacuum on database zemm_produktiv_8
- public.animals_search_mview (2.454 ms) Max I/O write time for vacuum on database zemm_produktiv_8
I/O timing (ms) CPU (s) Table read write elapsed zemm_produktiv_8.pg_catalog.pg_type 0 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 0 0 0.1 zemm_produktiv_8.pg_catalog.pg_class 0 0 0 zemm_produktiv_8.pg_catalog.pg_depend 0 0 0.05 zemm_produktiv_8.pg_toast.pg_toast_2619 0 0 0.03 zemm_monitoring.pg_toast.pg_toast_67431 0 0 0.64 zemm_produktiv_8.public.users 0.365 0 0.02 zemm_produktiv_8.public.tasks 0 0 0.66 zemm_produktiv_8.public.animals_search_mview 1.269 2.454 1.9 zemm_monitoring.pg_catalog.pg_shdepend 0 0 0 invdb.pg_catalog.pg_shdepend 0.032 0 0 zemm_monitoring.pg_toast.pg_toast_2619 0.127 0 0 Total 1.793 2.454 3.4 Tuples removed per table
Key values
- public.animals_search_mview (396545) Main table with removed tuples on database zemm_produktiv_8
- 475797 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.animals_search_mview 1 1 396,545 613,522 0 0 38,418 zemm_produktiv_8.public.tasks 1 1 55,035 58,139 0 0 17,169 zemm_produktiv_8.pg_catalog.pg_attribute 10 10 8,053 55,396 0 0 1,840 zemm_monitoring.pg_toast.pg_toast_67431 3 0 7,596 1,737,717 0 0 398,115 zemm_produktiv_8.pg_catalog.pg_depend 5 5 4,138 20,985 0 0 275 zemm_produktiv_8.pg_catalog.pg_type 13 13 2,362 10,803 0 0 403 zemm_produktiv_8.pg_catalog.pg_class 6 6 912 5,418 0 0 252 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 333 880 0 0 318 zemm_monitoring.pg_catalog.pg_shdepend 1 1 288 4,705 0 0 39 invdb.pg_catalog.pg_shdepend 1 1 273 4,705 0 0 39 zemm_produktiv_8.public.users 1 1 197 767 0 0 108 zemm_monitoring.pg_toast.pg_toast_2619 1 1 65 81 0 0 36 Total 46 43 475,797 2,513,118 0 0 457,012 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.users 1 1 197 0 zemm_produktiv_8.public.tasks 1 1 55035 0 zemm_produktiv_8.pg_catalog.pg_depend 5 5 4138 0 zemm_produktiv_8.public.animals_search_mview 1 1 396545 0 zemm_monitoring.pg_catalog.pg_shdepend 1 1 288 0 zemm_produktiv_8.pg_catalog.pg_class 6 6 912 0 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 333 0 invdb.pg_catalog.pg_shdepend 1 1 273 0 zemm_produktiv_8.pg_catalog.pg_type 13 13 2362 0 zemm_monitoring.pg_toast.pg_toast_2619 1 1 65 0 zemm_produktiv_8.pg_catalog.pg_attribute 10 10 8053 0 zemm_monitoring.pg_toast.pg_toast_67431 3 0 7596 0 Total 46 43 475,797 0 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Jun 12 00 0 0 01 1 1 02 0 0 03 0 0 04 0 1 05 1 0 06 4 11 07 5 13 08 5 19 09 6 15 10 3 12 11 3 12 12 8 9 13 0 2 14 2 3 15 4 10 16 0 2 17 3 7 18 0 1 19 0 0 20 1 0 21 0 0 22 0 0 23 0 0 - 1.90 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
- 66 Total read queries
- 24,561 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,550 Requests
- 8h30m51s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- monitoring_admin Main user
- 761,860 Requests
User Request type Count Duration labanimal Total 2,554 57m11s copy to 8 22s808ms cte 418 9m1s others 1 596ms select 2,096 47m12s update 31 33s914ms monitoring_admin Total 761,860 41d10h41m43s cte 2,194 4h57m18s ddl 758,791 41d5h31m52s delete 1 603ms select 866 12m23s postgres Total 164 3m40s copy to 164 3m40s Duration by user
Key values
- 41d10h41m43s (monitoring_admin) Main time consuming user
User Request type Count Duration labanimal Total 2,554 57m11s copy to 8 22s808ms cte 418 9m1s others 1 596ms select 2,096 47m12s update 31 33s914ms monitoring_admin Total 761,860 41d10h41m43s cte 2,194 4h57m18s ddl 758,791 41d5h31m52s delete 1 603ms select 866 12m23s postgres Total 164 3m40s copy to 164 3m40s Queries by host
Key values
- unknown Main host
- 764,383 Requests
- 41d11h38m20s (unknown)
- Main time consuming host
Queries by application
Key values
- unknown Main application
- 24,550 Requests
- 8h30m51s (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_command_reports_subcommand_init_zemm_dev_loc Total 2 1s584ms select 2 1s584ms _desktop_index.php_zemm_dev_localhost_5432 Total 1 1s241ms cte 1 1s241ms _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 68 1m24s cte 5 5s852ms select 63 1m18s expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s115ms update 1 1s115ms pg_dump Total 5 6s668ms copy to 5 6s668ms unknown Total 24,550 8h30m51s cte 69 1m48s ddl 24,480 8h29m2s select 1 506ms Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-06-12 11:15:41 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 98 1000-10000ms duration
Slowest individual queries
Rank Duration Query 1 12s248ms 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, 492) THEN TRUE WHEN user_is_tgm (a.editor, 492) THEN TRUE WHEN user_is_tgm (a.tourist, 492) THEN TRUE ELSE FALSE END ORDER BY a.id;[ Date: 2026-06-12 08:26:12 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 ]
2 9s233ms SELECT p_delete_litters (10100002, '10132681');[ Date: 2026-06-12 12:18:23 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Bind query: yes ]
3 9s233ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-06-12 12:19:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
4 9s233ms 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-06-12 12:19:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
5 9s233ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-06-12 12:19:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
6 9s233ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-06-12 12:19:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
7 9s233ms 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-06-12 12:19:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
8 9s233ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-06-12 12:19:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
9 9s233ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-06-12 12:19:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
10 9s233ms 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-06-12 12:19:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
11 9s233ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-06-12 12:19:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
12 9s233ms 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-06-12 12:19:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
13 9s233ms 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-06-12 12:19:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
14 9s233ms 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-06-12 12:19:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
15 9s233ms 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-06-12 12:19:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
16 9s233ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-06-12 12:19:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
17 9s233ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-06-12 12:19:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
18 9s233ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-06-12 12:19:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
19 9s233ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-06-12 12:19:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
20 9s233ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-06-12 12:20: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 29m56s 1,440 507ms 9s233ms 1s247ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
2 29m56s 1,440 507ms 9s233ms 1s247ms 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 #2
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
3 29m56s 1,440 507ms 9s233ms 1s247ms 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 #3
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
4 29m56s 1,440 507ms 9s233ms 1s247ms 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 #4
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
5 29m56s 1,440 507ms 9s233ms 1s247ms create schema if not exists observability;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
6 29m56s 1,440 507ms 9s233ms 1s247ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
7 29m56s 1,440 507ms 9s233ms 1s247ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
8 29m56s 1,440 507ms 9s233ms 1s247ms 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 Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
9 29m56s 1,440 507ms 9s233ms 1s247ms 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 Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
10 29m56s 1,440 507ms 9s233ms 1s247ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
11 29m56s 1,440 507ms 9s233ms 1s247ms 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 Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
12 29m56s 1,440 507ms 9s233ms 1s247ms 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 Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
13 29m56s 1,440 507ms 9s233ms 1s247ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
14 29m56s 1,440 507ms 9s233ms 1s247ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
15 29m56s 1,440 507ms 9s233ms 1s247ms 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 #15
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
16 29m56s 1,440 507ms 9s233ms 1s247ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
17 29m56s 1,440 507ms 9s233ms 1s247ms 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 #17
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
18 1m48s 69 1s503ms 1s709ms 1s567ms 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 Jun 12 10 2 3s239ms 1s619ms 12 2 3s115ms 1s557ms 13 7 11s34ms 1s576ms 14 9 13s943ms 1s549ms 15 7 10s910ms 1s558ms 16 8 12s503ms 1s562ms 17 12 18s678ms 1s556ms 18 10 15s661ms 1s566ms 19 11 17s476ms 1s588ms 20 1 1s582ms 1s582ms [ User: monitoring_admin - Total duration: 1m48s - Times executed: 69 ]
-
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-06-10 12:36:01+02' AND collected_at <= '2026-06-12 12:36:01+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-06-12 12:36:01+02' AND '2026-06-12 18:36:01+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-06-12 12:36:01+02' AND '2026-06-12 18:36:01+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-06-12 18:36:03 Duration: 1s709ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-06-10 03:39:07+02' AND collected_at <= '2026-06-12 03:39:07+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-06-12 03:39:07+02' AND '2026-06-12 09:39:07+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-06-12 03:39:07+02' AND '2026-06-12 09:39:07+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-06-12 09:39:08 Duration: 1s677ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-06-10 09:36:02+02' AND collected_at <= '2026-06-12 09:36:02+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-06-12 09:36:02+02' AND '2026-06-12 15:36:02+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-06-12 09:36:02+02' AND '2026-06-12 15:36:02+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-06-12 15:36:03 Duration: 1s628ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
19 12s248ms 1 12s248ms 12s248ms 12s248ms 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 Jun 12 09 1 12s248ms 12s248ms [ User: labanimal - Total duration: 12s248ms - Times executed: 1 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 12s248ms - 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, 492) THEN TRUE WHEN user_is_tgm (a.editor, 492) THEN TRUE WHEN user_is_tgm (a.tourist, 492) THEN TRUE ELSE FALSE END ORDER BY a.id;
Date: 2026-06-12 08:26:12 Duration: 12s248ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
20 9s233ms 1 9s233ms 9s233ms 9s233ms select p_delete_litters (?, ?);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Jun 12 13 1 9s233ms 9s233ms [ User: labanimal - Total duration: 9s233ms - Times executed: 1 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 9s233ms - Times executed: 1 ]
-
SELECT p_delete_litters (10100002, '10132681');
Date: 2026-06-12 12:18:23 Duration: 9s233ms 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-06-12_000000.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,440 29m56s 507ms 9s233ms 1s247ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
2 1,440 29m56s 507ms 9s233ms 1s247ms 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 #2
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
3 1,440 29m56s 507ms 9s233ms 1s247ms 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 #3
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
4 1,440 29m56s 507ms 9s233ms 1s247ms 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 #4
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
5 1,440 29m56s 507ms 9s233ms 1s247ms create schema if not exists observability;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
6 1,440 29m56s 507ms 9s233ms 1s247ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
7 1,440 29m56s 507ms 9s233ms 1s247ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
8 1,440 29m56s 507ms 9s233ms 1s247ms 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 Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
9 1,440 29m56s 507ms 9s233ms 1s247ms 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 Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
10 1,440 29m56s 507ms 9s233ms 1s247ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
11 1,440 29m56s 507ms 9s233ms 1s247ms 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 Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
12 1,440 29m56s 507ms 9s233ms 1s247ms 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 Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
13 1,440 29m56s 507ms 9s233ms 1s247ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
14 1,440 29m56s 507ms 9s233ms 1s247ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
15 1,440 29m56s 507ms 9s233ms 1s247ms 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 #15
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
16 1,440 29m56s 507ms 9s233ms 1s247ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
17 1,440 29m56s 507ms 9s233ms 1s247ms 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 #17
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
18 69 1m48s 1s503ms 1s709ms 1s567ms 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 Jun 12 10 2 3s239ms 1s619ms 12 2 3s115ms 1s557ms 13 7 11s34ms 1s576ms 14 9 13s943ms 1s549ms 15 7 10s910ms 1s558ms 16 8 12s503ms 1s562ms 17 12 18s678ms 1s556ms 18 10 15s661ms 1s566ms 19 11 17s476ms 1s588ms 20 1 1s582ms 1s582ms [ User: monitoring_admin - Total duration: 1m48s - Times executed: 69 ]
-
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-06-10 12:36:01+02' AND collected_at <= '2026-06-12 12:36:01+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-06-12 12:36:01+02' AND '2026-06-12 18:36:01+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-06-12 12:36:01+02' AND '2026-06-12 18:36:01+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-06-12 18:36:03 Duration: 1s709ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-06-10 03:39:07+02' AND collected_at <= '2026-06-12 03:39:07+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-06-12 03:39:07+02' AND '2026-06-12 09:39:07+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-06-12 03:39:07+02' AND '2026-06-12 09:39:07+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-06-12 09:39:08 Duration: 1s677ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-06-10 09:36:02+02' AND collected_at <= '2026-06-12 09:36:02+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-06-12 09:36:02+02' AND '2026-06-12 15:36:02+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-06-12 09:36:02+02' AND '2026-06-12 15:36:02+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-06-12 15:36:03 Duration: 1s628ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
19 11 8s647ms 771ms 800ms 786ms 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 Jun 12 09 2 1s568ms 784ms 11 2 1s569ms 784ms 14 1 774ms 774ms 16 2 1s578ms 789ms 17 4 3s155ms 788ms [ User: labanimal - Total duration: 8s647ms - Times executed: 11 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 8s647ms - Times executed: 11 ]
-
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, 47) AS is_owner, user_is_tgm (animals_search_mview.editor, 47) AS is_editor, user_is_tgm (animals_search_mview.tourist, 47) 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-06-12 16:26:12 Duration: 800ms 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-06-12_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) 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-06-12 10:14:40 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-06-12_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100237) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100237) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100237) 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-06-12 16:03:35 Duration: 791ms 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-06-12_000000.csv
20 11 7s874ms 703ms 734ms 715ms 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 Jun 12 09 2 1s428ms 714ms 11 2 1s431ms 715ms 14 1 709ms 709ms 16 2 1s421ms 710ms 17 4 2s884ms 721ms [ User: labanimal - Total duration: 7s874ms - Times executed: 11 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 7s874ms - Times executed: 11 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 47) AS is_owner, user_is_tgm (animals_search_mview.editor, 47) AS is_editor, user_is_tgm (animals_search_mview.tourist, 47) 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-06-12 16:26:13 Duration: 734ms 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-06-12_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) 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-06-12 10:14:40 Duration: 727ms 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-06-12_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 156) AS is_owner, user_is_tgm (animals_search_mview.editor, 156) AS is_editor, user_is_tgm (animals_search_mview.tourist, 156) 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-06-12 08:26:50 Duration: 722ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 12s248ms 12s248ms 12s248ms 1 12s248ms 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 Jun 12 09 1 12s248ms 12s248ms [ User: labanimal - Total duration: 12s248ms - Times executed: 1 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 12s248ms - 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, 492) THEN TRUE WHEN user_is_tgm (a.editor, 492) THEN TRUE WHEN user_is_tgm (a.tourist, 492) THEN TRUE ELSE FALSE END ORDER BY a.id;
Date: 2026-06-12 08:26:12 Duration: 12s248ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
2 9s233ms 9s233ms 9s233ms 1 9s233ms select p_delete_litters (?, ?);Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Jun 12 13 1 9s233ms 9s233ms [ User: labanimal - Total duration: 9s233ms - Times executed: 1 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 9s233ms - Times executed: 1 ]
-
SELECT p_delete_litters (10100002, '10132681');
Date: 2026-06-12 12:18:23 Duration: 9s233ms 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-06-12_000000.csv
3 1s503ms 1s709ms 1s567ms 69 1m48s 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 #3
Day Hour Count Duration Avg duration Jun 12 10 2 3s239ms 1s619ms 12 2 3s115ms 1s557ms 13 7 11s34ms 1s576ms 14 9 13s943ms 1s549ms 15 7 10s910ms 1s558ms 16 8 12s503ms 1s562ms 17 12 18s678ms 1s556ms 18 10 15s661ms 1s566ms 19 11 17s476ms 1s588ms 20 1 1s582ms 1s582ms [ User: monitoring_admin - Total duration: 1m48s - Times executed: 69 ]
-
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-06-10 12:36:01+02' AND collected_at <= '2026-06-12 12:36:01+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-06-12 12:36:01+02' AND '2026-06-12 18:36:01+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-06-12 12:36:01+02' AND '2026-06-12 18:36:01+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-06-12 18:36:03 Duration: 1s709ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-06-10 03:39:07+02' AND collected_at <= '2026-06-12 03:39:07+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-06-12 03:39:07+02' AND '2026-06-12 09:39:07+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-06-12 03:39:07+02' AND '2026-06-12 09:39:07+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-06-12 09:39:08 Duration: 1s677ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-06-10 09:36:02+02' AND collected_at <= '2026-06-12 09:36:02+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-06-12 09:36:02+02' AND '2026-06-12 15:36:02+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-06-12 09:36:02+02' AND '2026-06-12 15:36:02+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-06-12 15:36:03 Duration: 1s628ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
4 507ms 9s233ms 1s247ms 1,440 29m56s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
5 507ms 9s233ms 1s247ms 1,440 29m56s create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
6 507ms 9s233ms 1s247ms 1,440 29m56s create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
7 507ms 9s233ms 1s247ms 1,440 29m56s 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 #7
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
8 507ms 9s233ms 1s247ms 1,440 29m56s create schema if not exists observability;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
9 507ms 9s233ms 1s247ms 1,440 29m56s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
10 507ms 9s233ms 1s247ms 1,440 29m56s create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
11 507ms 9s233ms 1s247ms 1,440 29m56s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
12 507ms 9s233ms 1s247ms 1,440 29m56s 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 #12
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
13 507ms 9s233ms 1s247ms 1,440 29m56s alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
14 507ms 9s233ms 1s247ms 1,440 29m56s 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 #14
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
15 507ms 9s233ms 1s247ms 1,440 29m56s 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 #15
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
16 507ms 9s233ms 1s247ms 1,440 29m56s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
17 507ms 9s233ms 1s247ms 1,440 29m56s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
18 507ms 9s233ms 1s247ms 1,440 29m56s create table if not exists observability.nginx_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
19 507ms 9s233ms 1s247ms 1,440 29m56s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
20 507ms 9s233ms 1s247ms 1,440 29m56s 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 #20
Day Hour Count Duration Avg duration Jun 12 01 60 0ms 0ms 02 60 32s359ms 539ms 03 60 1m6s 1s115ms 04 60 1m6s 1s115ms 05 60 1m6s 1s115ms 06 60 1m6s 1s115ms 07 60 1m10s 1s179ms 08 60 35s371ms 589ms 09 60 38s82ms 634ms 10 60 55s451ms 924ms 11 60 43s445ms 724ms 12 60 1m44s 1s742ms 13 60 2m2s 2s40ms 14 60 1m30s 1s507ms 15 60 1m33s 1s556ms 16 60 1m31s 1s518ms 17 60 1m28s 1s473ms 18 60 1m33s 1s562ms 19 60 1m35s 1s586ms 20 60 1m34s 1s582ms 21 60 1m34s 1s582ms 22 60 1m34s 1s582ms 23 60 1m34s 1s582ms 00 60 1m34s 1s572ms [ User: monitoring_admin - Total duration: 29m56s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 12:22:01 Duration: 9s233ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:48:01 Duration: 2s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-06-12 09:49:01 Duration: 2s52ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv
Time consuming prepare
Rank Total duration Times executed Min duration Max duration Avg duration Query NO DATASET
Time consuming bind
Rank Total duration Times executed Min duration Max duration Avg duration Query NO DATASET
-
Events
Log levels
Key values
- 123,140 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 0 FATAL entries
- 1 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 1 Max number of times the same event was reported
- 1 Total events found
Rank Times reported Error 1 1 ERROR: duplicate key value violates unique constraint "..."
Times Reported Most Frequent Error / Event #1
Day Hour Count Jun 12 10 1 - ERROR: duplicate key value violates unique constraint "unique_strain_name"
Detail: Key (name)=(B6.Cg-Atpif1) already exists.
Context: SQL statement "UPDATE strains SET "name" = theName, species = theSpecies, stockno = theStockNo, description = theDescription, color = theColor, appearance = theAppearance, "type" = theType, spf_status = theSPFStatus, promotor = thePromotor, locus = theLocus, gene = theGene, allele = theAllele, chromosome = theChromosome, "function" = theFunction, comments = theComments, active = theActive, corebreedingid = theCorebreedingid, severityid = theSeverityid, symtoms = theSymtoms, reduce_severity_by = theReduce_severity_by, cancel_criteria = theCancel_criteria, line_abnormality = theLine_abnormality, sym_genotype = theSym_genotype, sym_gene = theSym_gene, sym_anatomy = theSym_anatomy, sym_physiology = theSym_physiology, sym_immune = theSym_immune, sym_behaviour = theSym_behaviour, sym_neodeath = theSym_neodeath, sym_littersize = theSym_littersize, sym_sterile = theSym_sterile, sym_average_age = theSym_average_age WHERE id = theId" PL/pgSQL function p_create_strain(integer,text,integer,text,text,text,text,integer,integer,text,text,text,text,text,text,text,boolean,integer,integer,text,text,text,boolean,integer,text,text,text,integer,text,integer,text,integer,text) line 1 at SQL statement
Statement: SELECT p_create_strain(10100029, 'B6.Cg-Atpif1', 1, 'B6.Cg-Atpif1<tm1<', 'C57BL/6J', 'schwarz', NULL, 1, 0, 'ATPIF1(tg/tg)', NULL, NULL, NULL, NULL, NULL, '2023.04///AG Maack: Kohlhaas/Nickel_Sep21', false, 0, 1, NULL, NULL, NULL, false, 0, NULL, NULL, NULL, 0, NULL, 0, NULL, 0, NULL)Date: 2026-06-12 09:43:21 Database: zemm_produktiv_8 Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-06-12_000000.csv