-
Global information
- Generated on Mon Jun 15 06:05:23 2026
- Log file: /var/log/postgresql/postgresql-2026-05-13_000000.csv, ..., /var/log/postgresql/postgresql-2026-06-15_000000.csv
- Parsed 219,734 log entries in 5m22s
- Log start from 2026-05-30 00:00:01 to 2026-05-30 23:59:26
-
Overview
Global Stats
- 33 Number of unique normalized queries
- 24,549 Number of queries
- 2d5h45m42s Total query duration
- 2026-05-30 00:00:01 First query
- 2026-05-30 23:59:01 Last query
- 18 queries/s at 2026-05-30 21:50:01 Query peak
- 2d5h45m42s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 2d5h45m42s 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
- 12 Total number of automatic vacuums
- 5 Total number of automatic analyzes
- 0 Number temporary file
- 0 Max size of temporary file
- 0.00 B Average size of temporary file
- 18,109 Total number of sessions
- 7 sessions at 2026-05-30 16:46:31 Session peak
- 1h23m33s Total duration of sessions
- 276ms Average duration of sessions
- 1 Average queries per session
- 10s687ms Average queries duration per session
- 0ms Average idle time per session
- 18,109 Total number of connections
- 32 connections/s at 2026-05-30 19:21:03 Connection peak
- 2 Total number of databases
SQL Traffic
Key values
- 18 queries/s Query Peak
- 2026-05-30 21:50:01 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-05-30 15:37:46 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 18 queries/s Query Peak
- 2026-05-30 21:50:01 Date
Queries duration
Key values
- 2d5h45m42s Total query duration
Prepared queries ratio
Key values
- 0.00 Ratio of bind vs prepare
- 0.00 % Ratio between prepared and "usual" statements
General Activity
↑ Back to the top of the General Activity tableDay Hour Count Min duration Max duration Avg duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 30 00 1,020 0ms 0ms 0ms 0ms 0ms 0ms 01 1,021 0ms 1s113ms 538ms 18s931ms 18s931ms 18s931ms 02 1,020 1s113ms 1s113ms 1s113ms 18s931ms 18s931ms 18s931ms 03 1,020 1s113ms 1s113ms 1s113ms 18s931ms 18s931ms 18s931ms 04 1,020 1s113ms 1s113ms 1s113ms 18s931ms 18s931ms 18s931ms 05 1,020 1s113ms 1s113ms 1s113ms 18s931ms 18s931ms 18s931ms 06 1,020 1s113ms 1s113ms 1s113ms 18s931ms 18s931ms 18s931ms 07 1,020 1s113ms 1s113ms 1s113ms 18s931ms 18s931ms 18s931ms 08 1,020 1s113ms 1s113ms 1s113ms 18s931ms 18s931ms 18s931ms 09 1,024 1s113ms 16s881ms 5s879ms 4m46s 4m46s 5m3s 10 1,026 16s796ms 17s346ms 16s991ms 5m2s 5m6s 5m11s 11 1,026 16s748ms 16s831ms 16s786ms 5m1s 5m2s 5m2s 12 1,025 12s642ms 16s784ms 12s991ms 3m48s 4m45s 4m58s 13 997 0ms 15s894ms 10s958ms 3m43s 3m49s 4m32s 14 1,027 898ms 12s10ms 11s213ms 3m24s 3m35s 3m36s 15 1,031 692ms 12s148ms 10s793ms 3m26s 3m34s 3m38s 16 1,026 11s872ms 11s999ms 11s911ms 3m33s 3m34s 3m35s 17 1,026 11s900ms 12s50ms 11s959ms 3m34s 3m35s 3m36s 18 1,026 11s904ms 11s994ms 11s944ms 3m34s 3m35s 3m35s 19 1,026 11s899ms 12s21ms 11s944ms 3m34s 3m35s 3m36s 20 1,026 11s925ms 12s28ms 11s973ms 3m34s 3m35s 3m36s 21 1,025 11s969ms 12s74ms 12s14ms 3m25s 3m36s 3m37s 22 1,026 11s935ms 12s62ms 11s999ms 3m34s 3m35s 3m36s 23 1,031 678ms 12s132ms 11s217ms 3m26s 3m35s 3m36s Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 30 00 0 0 0ms 0ms 0ms 0ms 01 0 0 0ms 0ms 0ms 0ms 02 0 0 0ms 0ms 0ms 0ms 03 0 0 0ms 0ms 0ms 0ms 04 0 0 0ms 0ms 0ms 0ms 05 0 0 0ms 0ms 0ms 0ms 06 0 0 0ms 0ms 0ms 0ms 07 0 0 0ms 0ms 0ms 0ms 08 0 0 0ms 0ms 0ms 0ms 09 0 0 0ms 0ms 0ms 0ms 10 0 0 0ms 0ms 0ms 0ms 11 0 0 0ms 0ms 0ms 0ms 12 0 0 0ms 0ms 0ms 0ms 13 3 0 1s110ms 0ms 0ms 704ms 14 1 0 898ms 0ms 0ms 0ms 15 6 0 874ms 0ms 0ms 1s441ms 16 0 0 0ms 0ms 0ms 0ms 17 0 0 0ms 0ms 0ms 0ms 18 0 0 0ms 0ms 0ms 0ms 19 0 0 0ms 0ms 0ms 0ms 20 0 0 0ms 0ms 0ms 0ms 21 0 0 0ms 0ms 0ms 0ms 22 0 0 0ms 0ms 0ms 0ms 23 0 7 1s327ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 30 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s113ms 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 1 0 603ms 0ms 0ms 0ms 14 0 0 0 0 0ms 0ms 0ms 0ms 15 0 0 0 0 0ms 0ms 0ms 0ms 16 0 0 0 0 0ms 0ms 0ms 0ms 17 0 0 0 0 0ms 0ms 0ms 0ms 18 0 0 0 0 0ms 0ms 0ms 0ms 19 0 0 0 0 0ms 0ms 0ms 0ms 20 0 0 0 0 0ms 0ms 0ms 0ms 21 0 0 0 0 0ms 0ms 0ms 0ms 22 0 0 0 0 0ms 0ms 0ms 0ms 23 0 0 0 0 0ms 0ms 0ms 0ms Day Hour Prepare Bind Bind/Prepare Percentage of prepare May 30 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 4 4.00 0.00% 10 0 6 6.00 0.00% 11 0 6 6.00 0.00% 12 0 5 5.00 0.00% 13 0 11 11.00 0.00% 14 0 6 6.00 0.00% 15 0 5 5.00 0.00% 16 0 6 6.00 0.00% 17 0 6 6.00 0.00% 18 0 6 6.00 0.00% 19 0 6 6.00 0.00% 20 0 6 6.00 0.00% 21 0 5 5.00 0.00% 22 0 6 6.00 0.00% 23 0 4 4.00 0.00% Day Hour Count Average / Second May 30 00 543 0.15/s 01 546 0.15/s 02 543 0.15/s 03 546 0.15/s 04 543 0.15/s 05 543 0.15/s 06 549 0.15/s 07 558 0.15/s 08 546 0.15/s 09 744 0.21/s 10 897 0.25/s 11 900 0.25/s 12 873 0.24/s 13 922 0.26/s 14 933 0.26/s 15 937 0.26/s 16 900 0.25/s 17 897 0.25/s 18 868 0.24/s 19 900 0.25/s 20 899 0.25/s 21 869 0.24/s 22 897 0.25/s 23 756 0.21/s Day Hour Count Average Duration Average idle time May 30 00 543 248ms 248ms 01 546 248ms 0ms 02 543 248ms 0ms 03 546 246ms 0ms 04 543 247ms 0ms 05 543 247ms 0ms 06 549 245ms 0ms 07 558 241ms 0ms 08 546 246ms 0ms 09 744 326ms 0ms 10 897 391ms 0ms 11 900 379ms 0ms 12 873 259ms 0ms 13 922 282ms 0ms 14 933 260ms 0ms 15 937 258ms 0ms 16 900 266ms 0ms 17 897 266ms 0ms 18 868 273ms 0ms 19 900 270ms 0ms 20 899 271ms 0ms 21 869 262ms 0ms 22 897 269ms 0ms 23 756 290ms 0ms -
Connections
Established Connections
Key values
- 32 connections Connection Peak
- 2026-05-30 19:21:03 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 18,109 connections Total
Connections per user
Key values
- labanimal Main User
- 18,109 connections Total
-
Sessions
Simultaneous sessions
Key values
- 7 sessions Session Peak
- 2026-05-30 16:46:31 Date
Histogram of session times
Key values
- 16,185 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 18,109 sessions Total
Sessions per user
Key values
- labanimal Main User
- 18,109 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 18,109 sessions Total
Sessions per application
Key values
- Main Application
- 18,109 sessions Total
Application Count Total Duration Average Duration 16,581 1h22m18s 297ms _desktop__zemm_produktiv_8_localhost_5432 2 116ms 58ms _desktop_index.php_command_login_subcommand_init_zemm_dev_local 8 301ms 37ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,455 42s557ms 29ms _desktop_index.php_command_login_subcommand_init_zemm_test_loca 2 59ms 29ms _desktop_index.php_zemm_produktiv_8_localhost_5432 29 11s428ms 394ms bounces:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 61ms 61ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s138ms 1s138ms fatescron:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s469ms 1s469ms pg_dump 1 14s667ms 14s667ms psql 4 34ms 8ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 2s312ms 96ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 19,592 buffers Checkpoint Peak
- 2026-05-30 01:35:42 Date
- 269.243 seconds Highest write time
- 0.143 seconds Sync time
Checkpoints Wal files
Key values
- 7 files Wal files usage Peak
- 2026-05-30 01:35:42 Date
Checkpoints distance
Key values
- 213.01 Mo Distance Peak
- 2026-05-30 01:35:42 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time May 30 00 8,189 819.322s 0.103s 819.485s 01 26,659 976.363s 0.109s 976.531s 02 9,294 929.688s 0.1s 929.846s 03 8,619 862.216s 0.1s 862.371s 04 10,159 1,016.443s 0.108s 1,016.609s 05 7,659 766.471s 0.098s 766.627s 06 8,095 810.021s 0.101s 810.183s 07 8,310 831.766s 0.105s 831.926s 08 8,164 816.741s 0.097s 816.892s 09 15,833 974.464s 0.118s 974.637s 10 8,988 899.109s 0.243s 899.421s 11 8,865 887.464s 0.11s 887.63s 12 8,990 899.515s 0.113s 899.682s 13 9,015 850.728s 0.107s 850.887s 14 8,682 868.729s 0.11s 868.899s 15 9,060 906.456s 0.107s 906.611s 16 9,884 989.517s 0.107s 989.681s 17 8,678 868.104s 0.104s 868.257s 18 8,315 832.24s 0.105s 832.402s 19 9,257 926.28s 0.107s 926.441s 20 8,885 889.539s 0.111s 889.709s 21 9,630 963.758s 0.105s 963.912s 22 8,447 845.063s 0.105s 845.228s 23 8,546 855.379s 0.111s 855.546s Day Hour Added Removed Recycled Synced files Longest sync Average sync May 30 00 0 0 1 529 0.004s 0.012s 01 0 0 9 557 0.002s 0.012s 02 0 0 1 537 0.001s 0.012s 03 0 0 2 525 0.002s 0.012s 04 0 0 2 549 0.006s 0.012s 05 0 0 2 532 0.002s 0.012s 06 0 0 1 523 0.002s 0.012s 07 0 0 2 536 0.003s 0.012s 08 0 0 2 528 0.001s 0.012s 09 0 0 3 537 0.005s 0.012s 10 0 0 2 543 0.037s 0.015s 11 0 0 2 547 0.004s 0.012s 12 0 0 1 572 0.002s 0.012s 13 0 0 2 564 0.002s 0.012s 14 0 0 2 563 0.003s 0.012s 15 0 0 2 565 0.002s 0.011s 16 0 0 2 558 0.001s 0.013s 17 0 0 2 545 0.001s 0.012s 18 0 0 1 550 0.002s 0.012s 19 0 0 2 543 0.003s 0.012s 20 0 0 2 554 0.003s 0.012s 21 0 0 2 552 0.001s 0.012s 22 0 0 2 519 0.008s 0.012s 23 0 0 1 536 0.010s 0.012s Day Hour Count Avg time (sec) May 30 00 0 0s 01 0 0s 02 0 0s 03 0 0s 04 0 0s 05 0 0s 06 0 0s 07 0 0s 08 0 0s 09 0 0s 10 0 0s 11 0 0s 12 0 0s 13 0 0s 14 0 0s 15 0 0s 16 0 0s 17 0 0s 18 0 0s 19 0 0s 20 0 0s 21 0 0s 22 0 0s 23 0 0s Day Hour Mean distance Mean estimate May 30 00 2,331.42 kB 3,018.00 kB 01 11,096.83 kB 44,417.67 kB 02 2,545.83 kB 36,290.33 kB 03 2,293.50 kB 12,019.50 kB 04 2,739.58 kB 5,565.33 kB 05 2,213.08 kB 3,362.17 kB 06 2,248.42 kB 3,096.75 kB 07 2,330.33 kB 3,168.50 kB 08 2,320.92 kB 3,014.08 kB 09 4,331.75 kB 10,000.50 kB 10 2,482.67 kB 12,361.50 kB 11 2,453.67 kB 5,285.08 kB 12 2,494.00 kB 3,499.50 kB 13 2,291.85 kB 3,003.77 kB 14 2,312.92 kB 3,060.00 kB 15 2,612.64 kB 3,621.73 kB 16 2,764.23 kB 4,907.08 kB 17 2,422.42 kB 3,246.58 kB 18 2,336.83 kB 2,927.75 kB 19 2,529.00 kB 3,304.00 kB 20 2,448.08 kB 3,130.67 kB 21 2,673.25 kB 3,230.33 kB 22 2,415.67 kB 3,221.50 kB 23 2,363.42 kB 3,258.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 May 30 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.19 sec Highest CPU-cost vacuum
Table pg_toast.pg_toast_67431
Database zemm_monitoring - 2026-05-30 15:55:16 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_monitoring - Date
Average Autovacuum Duration
Key values
- 1.19 sec Highest CPU-cost vacuum
Table pg_toast.pg_toast_67431
Database zemm_monitoring - 2026-05-30 15:55:16 Date
Analyzes per table
Key values
- observability.metrics_timeseries (2) Main table analyzed (database zemm_monitoring)
- 5 analyzes Total
Vacuums per table
Key values
- pg_toast.pg_toast_181881 (5) Main table vacuumed on database zemm_monitoring
- 12 vacuums Total
Index Buffer usage Skipped WAL usage Frozen Table Vacuums scans hits misses dirtied pins frozen records full page bytes pages tuples zemm_monitoring.pg_toast.pg_toast_181881 5 0 0 0 0 0 0 1,421 485 2,421,494 467 2,663 zemm_monitoring.pg_toast.pg_toast_67431 3 1 0 0 0 0 0 13,900 5,482 9,411,749 1,862 11,172 zemm_monitoring.pg_toast.pg_toast_2619 1 1 0 0 0 0 0 91 25 144,022 5 13 zemm_produktiv_8.pg_toast.pg_toast_2619 1 1 0 0 0 0 0 211 46 219,662 10 22 zemm_produktiv_8.pg_catalog.pg_type 1 1 0 0 0 0 0 49 16 11,946 0 0 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 50,473 35 3,746,344 6 13 Total 12 5 0 0 0 0 0 66,145 6,089 15,955,217 2,350 13,883 Vacuum throughput per table
Key values
- pg_toast.pg_toast_67431 (1.64) Max CPU elapsed for vacuum on database zemm_monitoring
- pg_toast.pg_toast_67431 (7.699 ms) Max I/O read time for vacuum on database zemm_monitoring
- pg_toast.pg_toast_67431 (23.538 ms) Max I/O write time for vacuum on database zemm_monitoring
I/O timing (ms) CPU (s) Table read write elapsed zemm_monitoring.pg_toast.pg_toast_181881 1.599 0 0.1 zemm_monitoring.pg_toast.pg_toast_67431 7.699 23.538 1.64 zemm_monitoring.pg_toast.pg_toast_2619 0.209 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 0 0 0.01 zemm_produktiv_8.pg_catalog.pg_type 1.992 0 0 zemm_produktiv_8.public.tasks 0 0 0.63 Total 11.499 23.538 2.38 Tuples removed per table
Key values
- public.tasks (54819) Main table with removed tuples on database zemm_produktiv_8
- 62074 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 54,819 57,876 0 0 17,101 zemm_monitoring.pg_toast.pg_toast_67431 3 1 6,858 2,032,692 0 0 388,674 zemm_produktiv_8.pg_catalog.pg_type 1 1 208 831 0 0 31 zemm_produktiv_8.pg_toast.pg_toast_2619 1 1 124 292 0 0 106 zemm_monitoring.pg_toast.pg_toast_2619 1 1 65 85 0 0 38 zemm_monitoring.pg_toast.pg_toast_181881 5 0 0 87,726 0 0 15,930 Total 12 5 62,074 2,179,502 0 0 421,880 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_monitoring.pg_toast.pg_toast_2619 1 1 65 0 zemm_monitoring.pg_toast.pg_toast_67431 3 1 6858 0 zemm_produktiv_8.pg_toast.pg_toast_2619 1 1 124 0 zemm_produktiv_8.pg_catalog.pg_type 1 1 208 0 zemm_monitoring.pg_toast.pg_toast_181881 5 0 0 0 zemm_produktiv_8.public.tasks 1 1 54819 0 Total 12 5 62,074 0 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs May 30 00 1 0 01 2 1 02 1 0 03 0 0 04 0 1 05 1 0 06 0 0 07 0 0 08 0 0 09 0 0 10 1 0 11 0 0 12 0 0 13 0 0 14 0 0 15 3 1 16 0 0 17 0 0 18 0 0 19 1 2 20 1 0 21 1 0 22 0 0 23 0 0 - 1.19 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
- 10 Total read queries
- 24,539 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,534 Requests
- 2d5h45m26s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- monitoring_admin Main user
- 443,087 Requests
User Request type Count Duration labanimal Total 1,581 35m52s copy to 8 22s808ms cte 242 5m40s select 1,313 29m29s update 18 19s673ms monitoring_admin Total 443,087 28d11h5m23s cte 1,663 3h56m25s ddl 440,568 28d6h56m39s delete 1 603ms select 850 12m13s postgres Total 95 2m10s copy to 95 2m10s Duration by user
Key values
- 28d11h5m23s (monitoring_admin) Main time consuming user
User Request type Count Duration labanimal Total 1,581 35m52s copy to 8 22s808ms cte 242 5m40s select 1,313 29m29s update 18 19s673ms monitoring_admin Total 443,087 28d11h5m23s cte 1,663 3h56m25s ddl 440,568 28d6h56m39s delete 1 603ms select 850 12m13s postgres Total 95 2m10s copy to 95 2m10s Queries by host
Key values
- unknown Main host
- 444,650 Requests
- 28d11h40m56s (unknown)
- Main time consuming host
Queries by application
Key values
- unknown Main application
- 24,534 Requests
- 2d5h45m26s (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 7 6s143ms select 7 6s143ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s113ms update 1 1s113ms pg_dump Total 7 9s295ms copy to 7 9s295ms unknown Total 24,534 2d5h45m26s cte 84 18m7s ddl 24,446 2d5h27m14s delete 1 603ms select 3 3s331ms Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-05-30 22:53:03 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 84 > 10000ms duration
Slowest individual queries
Rank Duration Query 1 17s346ms WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 10:21:45+02' AND collected_at <= '2026-05-29 10:21:45+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:21:45+02' AND '2026-05-30 10:21:45+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:21:45+02' AND '2026-05-30 10:21:45+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';[ Date: 2026-05-30 10:22:03 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
2 17s346ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-05-30 10:23:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
3 17s346ms CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );[ Date: 2026-05-30 10:23:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
4 17s346ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-05-30 10:23:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
5 17s346ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-05-30 10:23:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
6 17s346ms CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-30 10:23:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
7 17s346ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-05-30 10:23:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
8 17s346ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-05-30 10:23:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
9 17s346ms CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-30 10:23:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
10 17s346ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-05-30 10:23:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
11 17s346ms CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-30 10:23:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
12 17s346ms CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-30 10:23:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
13 17s346ms CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-30 10:23:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
14 17s346ms CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-30 10:23:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
15 17s346ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-05-30 10:23:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
16 17s346ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-05-30 10:23:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
17 17s346ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-05-30 10:23:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
18 17s346ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-05-30 10:23:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
19 17s346ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-05-30 10:24:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
20 17s346ms CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );[ Date: 2026-05-30 10:24: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 3h8m39s 1,438 603ms 17s346ms 7s871ms 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 #1
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
2 3h8m39s 1,438 603ms 17s346ms 7s871ms 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 #2
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
3 3h8m39s 1,438 603ms 17s346ms 7s871ms 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 #3
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
4 3h8m39s 1,438 603ms 17s346ms 7s871ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
5 3h8m39s 1,438 603ms 17s346ms 7s871ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
6 3h8m39s 1,438 603ms 17s346ms 7s871ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
7 3h8m39s 1,438 603ms 17s346ms 7s871ms 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 #7
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
8 3h8m39s 1,438 603ms 17s346ms 7s871ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
9 3h8m39s 1,438 603ms 17s346ms 7s871ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
10 3h8m39s 1,438 603ms 17s346ms 7s871ms 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 #10
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
11 3h8m39s 1,438 603ms 17s346ms 7s871ms create schema if not exists observability;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
12 3h8m39s 1,438 603ms 17s346ms 7s871ms 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 #12
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
13 3h8m39s 1,438 603ms 17s346ms 7s871ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
14 3h8m39s 1,438 603ms 17s346ms 7s871ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
15 3h8m39s 1,438 603ms 17s346ms 7s871ms create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
16 3h8m39s 1,438 603ms 17s346ms 7s871ms 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 May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
17 3h8m39s 1,438 603ms 17s346ms 7s871ms 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 #17
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
18 18m7s 84 11s819ms 17s346ms 12s950ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at >= ? and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration May 30 10 4 1m 15s174ms 11 6 1m41s 16s985ms 12 6 1m40s 16s784ms 13 5 1m3s 12s706ms 14 7 1m30s 12s987ms 15 6 1m11s 11s946ms 16 5 59s885ms 11s977ms 17 6 1m11s 11s911ms 18 6 1m11s 11s961ms 19 6 1m11s 11s946ms 20 6 1m11s 11s951ms 21 6 1m11s 11s967ms 22 5 1m 12s19ms 23 6 1m12s 12s1ms 00 4 47s948ms 11s987ms [ User: monitoring_admin - Total duration: 18m7s - Times executed: 84 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 10:21:45+02' AND collected_at <= '2026-05-29 10:21:45+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:21:45+02' AND '2026-05-30 10:21:45+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:21:45+02' AND '2026-05-30 10:21:45+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-30 10:22:03 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 10:11:27+02' AND collected_at <= '2026-05-29 10:11:27+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:11:27+02' AND '2026-05-30 10:11:27+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:11:27+02' AND '2026-05-30 10:11:27+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-30 10:11:44 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 10:01:17+02' AND collected_at <= '2026-05-29 10:01:17+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:01:17+02' AND '2026-05-30 10:01:17+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:01:17+02' AND '2026-05-30 10:01:17+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-30 10:01:34 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
19 3s160ms 3 744ms 1s668ms 1s53ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration May 30 16 3 3s160ms 1s53ms [ User: labanimal - Total duration: 3s160ms - Times executed: 3 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 3s160ms - Times executed: 3 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 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-05-30 15:37:46 Duration: 1s668ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_133814.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-05-30 15:45:37 Duration: 747ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_133814.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-05-30 15:37:49 Duration: 744ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_133814.csv
20 2s95ms 1 2s95ms 2s95ms 2s95ms copy public.diary (id, "animalID", date, "entrybyID", "cageID", weight, temperature, "fDeprivation", "wDeprivation", "sDeprivation", "feedingClass", health, comments, "breedingInfo", deleted, "inOutDate", "inOutFlag", text, sdesc, treatment, tailcut_id, tailcut_result, file_name, file_content, file_type, upload_name, old_gene_type, old_gene_info, old_gene2_type, old_gene2_info, old_gene3_info, old_gene3_type, old_gene4_info, old_gene4_type, old_gene5_info, old_gene5_type) to stdout;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration May 30 00 1 2s95ms 2s95ms [ User: postgres - Total duration: 2s95ms - Times executed: 1 ]
[ Application: pg_dump - Total duration: 2s95ms - Times executed: 1 ]
-
COPY public.diary (id, "animalID", date, "entrybyID", "cageID", weight, temperature, "fDeprivation", "wDeprivation", "sDeprivation", "feedingClass", health, comments, "breedingInfo", deleted, "inOutDate", "inOutFlag", text, sdesc, treatment, tailcut_id, tailcut_result, file_name, file_content, file_type, upload_name, old_gene_type, old_gene_info, old_gene2_type, old_gene2_info, old_gene3_info, old_gene3_type, old_gene4_info, old_gene4_type, old_gene5_info, old_gene5_type) TO stdout;
Date: 2026-05-30 23:55:15 Duration: 2s95ms Database: zemm_produktiv_8 User: postgres Remote: [local] Application: pg_dump Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_133814.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,438 3h8m39s 603ms 17s346ms 7s871ms 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 #1
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
2 1,438 3h8m39s 603ms 17s346ms 7s871ms 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 #2
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
3 1,438 3h8m39s 603ms 17s346ms 7s871ms 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 #3
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
4 1,438 3h8m39s 603ms 17s346ms 7s871ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
5 1,438 3h8m39s 603ms 17s346ms 7s871ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
6 1,438 3h8m39s 603ms 17s346ms 7s871ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
7 1,438 3h8m39s 603ms 17s346ms 7s871ms 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 #7
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
8 1,438 3h8m39s 603ms 17s346ms 7s871ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
9 1,438 3h8m39s 603ms 17s346ms 7s871ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
10 1,438 3h8m39s 603ms 17s346ms 7s871ms 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 #10
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
11 1,438 3h8m39s 603ms 17s346ms 7s871ms create schema if not exists observability;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
12 1,438 3h8m39s 603ms 17s346ms 7s871ms 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 #12
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
13 1,438 3h8m39s 603ms 17s346ms 7s871ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
14 1,438 3h8m39s 603ms 17s346ms 7s871ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
15 1,438 3h8m39s 603ms 17s346ms 7s871ms create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
16 1,438 3h8m39s 603ms 17s346ms 7s871ms 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 May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
17 1,438 3h8m39s 603ms 17s346ms 7s871ms 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 #17
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
18 84 18m7s 11s819ms 17s346ms 12s950ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at >= ? and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration May 30 10 4 1m 15s174ms 11 6 1m41s 16s985ms 12 6 1m40s 16s784ms 13 5 1m3s 12s706ms 14 7 1m30s 12s987ms 15 6 1m11s 11s946ms 16 5 59s885ms 11s977ms 17 6 1m11s 11s911ms 18 6 1m11s 11s961ms 19 6 1m11s 11s946ms 20 6 1m11s 11s951ms 21 6 1m11s 11s967ms 22 5 1m 12s19ms 23 6 1m12s 12s1ms 00 4 47s948ms 11s987ms [ User: monitoring_admin - Total duration: 18m7s - Times executed: 84 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 10:21:45+02' AND collected_at <= '2026-05-29 10:21:45+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:21:45+02' AND '2026-05-30 10:21:45+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:21:45+02' AND '2026-05-30 10:21:45+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-30 10:22:03 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 10:11:27+02' AND collected_at <= '2026-05-29 10:11:27+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:11:27+02' AND '2026-05-30 10:11:27+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:11:27+02' AND '2026-05-30 10:11:27+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-30 10:11:44 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 10:01:17+02' AND collected_at <= '2026-05-29 10:01:17+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:01:17+02' AND '2026-05-30 10:01:17+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:01:17+02' AND '2026-05-30 10:01:17+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-30 10:01:34 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
19 3 3s160ms 744ms 1s668ms 1s53ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration May 30 16 3 3s160ms 1s53ms [ User: labanimal - Total duration: 3s160ms - Times executed: 3 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 3s160ms - Times executed: 3 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 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-05-30 15:37:46 Duration: 1s668ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_133814.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-05-30 15:45:37 Duration: 747ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_133814.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-05-30 15:37:49 Duration: 744ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_133814.csv
20 3 2s84ms 692ms 697ms 694ms select distinct * from ( select animals_search_mview.*, b.unbreeding_date, fates.loc as fate_name, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, string_agg(l."application_id" || ? || l."title" || ? || date(lh."timestamp")::varchar, ?) as licensehistory, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview inner join fates on fates.id = animals_search_mview.fate left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join licenses l on l.id = lh.licid left join breedings b on b.id = animals_search_mview.last_mating group by animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data where data.fate = ? and data.alive = ? and data.deleted = ? and (is_owner or is_editor or is_tourist) and (data.straindeleted = ? or data.straindeleted is null) order by data.cage_name, data.animal_id, data.name;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration May 30 16 3 2s84ms 694ms [ User: labanimal - Total duration: 2s84ms - Times executed: 3 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 2s84ms - Times executed: 3 ]
-
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-05-30 15:37:50 Duration: 697ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_133814.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-05-30 15:45:38 Duration: 694ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_133814.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-05-30 15:37:46 Duration: 692ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_133814.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 11s819ms 17s346ms 12s950ms 84 18m7s with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at >= ? and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration May 30 10 4 1m 15s174ms 11 6 1m41s 16s985ms 12 6 1m40s 16s784ms 13 5 1m3s 12s706ms 14 7 1m30s 12s987ms 15 6 1m11s 11s946ms 16 5 59s885ms 11s977ms 17 6 1m11s 11s911ms 18 6 1m11s 11s961ms 19 6 1m11s 11s946ms 20 6 1m11s 11s951ms 21 6 1m11s 11s967ms 22 5 1m 12s19ms 23 6 1m12s 12s1ms 00 4 47s948ms 11s987ms [ User: monitoring_admin - Total duration: 18m7s - Times executed: 84 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 10:21:45+02' AND collected_at <= '2026-05-29 10:21:45+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:21:45+02' AND '2026-05-30 10:21:45+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:21:45+02' AND '2026-05-30 10:21:45+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-30 10:22:03 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 10:11:27+02' AND collected_at <= '2026-05-29 10:11:27+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:11:27+02' AND '2026-05-30 10:11:27+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:11:27+02' AND '2026-05-30 10:11:27+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-30 10:11:44 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 10:01:17+02' AND collected_at <= '2026-05-29 10:01:17+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:01:17+02' AND '2026-05-30 10:01:17+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 10:01:17+02' AND '2026-05-30 10:01:17+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-30 10:01:34 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
2 603ms 17s346ms 7s871ms 1,438 3h8m39s 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 #2
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
3 603ms 17s346ms 7s871ms 1,438 3h8m39s 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 #3
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
4 603ms 17s346ms 7s871ms 1,438 3h8m39s 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 #4
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
5 603ms 17s346ms 7s871ms 1,438 3h8m39s alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
6 603ms 17s346ms 7s871ms 1,438 3h8m39s create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
7 603ms 17s346ms 7s871ms 1,438 3h8m39s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
8 603ms 17s346ms 7s871ms 1,438 3h8m39s 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 #8
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
9 603ms 17s346ms 7s871ms 1,438 3h8m39s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
10 603ms 17s346ms 7s871ms 1,438 3h8m39s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
11 603ms 17s346ms 7s871ms 1,438 3h8m39s create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
12 603ms 17s346ms 7s871ms 1,438 3h8m39s create schema if not exists observability;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
13 603ms 17s346ms 7s871ms 1,438 3h8m39s 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 #13
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
14 603ms 17s346ms 7s871ms 1,438 3h8m39s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
15 603ms 17s346ms 7s871ms 1,438 3h8m39s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
16 603ms 17s346ms 7s871ms 1,438 3h8m39s 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 #16
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
17 603ms 17s346ms 7s871ms 1,438 3h8m39s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
18 603ms 17s346ms 7s871ms 1,438 3h8m39s 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 #18
Day Hour Count Duration Avg duration May 30 01 60 0ms 0ms 02 60 32s294ms 538ms 03 60 1m6s 1s113ms 04 60 1m6s 1s113ms 05 60 1m6s 1s113ms 06 60 1m6s 1s113ms 07 60 1m6s 1s113ms 08 60 1m6s 1s113ms 09 60 1m6s 1s113ms 10 60 5m50s 5s842ms 11 60 16m59s 16s991ms 12 60 16m47s 16s786ms 13 60 12m59s 12s992ms 14 58 10m37s 10s984ms 15 60 11m13s 11s219ms 16 60 10m50s 10s846ms 17 60 11m54s 11s911ms 18 60 11m57s 11s959ms 19 60 11m56s 11s944ms 20 60 11m56s 11s944ms 21 60 11m58s 11s973ms 22 60 12m 12s14ms 23 60 11m59s 11s999ms 00 60 11m16s 11s282ms [ User: monitoring_admin - Total duration: 3h8m39s - Times executed: 1346 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-30 10:32:01 Duration: 17s346ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-30 10:22:01 Duration: 17s114ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-30 10:11:01 Duration: 17s25ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_000000.csv
19 2s95ms 2s95ms 2s95ms 1 2s95ms copy public.diary (id, "animalID", date, "entrybyID", "cageID", weight, temperature, "fDeprivation", "wDeprivation", "sDeprivation", "feedingClass", health, comments, "breedingInfo", deleted, "inOutDate", "inOutFlag", text, sdesc, treatment, tailcut_id, tailcut_result, file_name, file_content, file_type, upload_name, old_gene_type, old_gene_info, old_gene2_type, old_gene2_info, old_gene3_info, old_gene3_type, old_gene4_info, old_gene4_type, old_gene5_info, old_gene5_type) to stdout;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration May 30 00 1 2s95ms 2s95ms [ User: postgres - Total duration: 2s95ms - Times executed: 1 ]
[ Application: pg_dump - Total duration: 2s95ms - Times executed: 1 ]
-
COPY public.diary (id, "animalID", date, "entrybyID", "cageID", weight, temperature, "fDeprivation", "wDeprivation", "sDeprivation", "feedingClass", health, comments, "breedingInfo", deleted, "inOutDate", "inOutFlag", text, sdesc, treatment, tailcut_id, tailcut_result, file_name, file_content, file_type, upload_name, old_gene_type, old_gene_info, old_gene2_type, old_gene2_info, old_gene3_info, old_gene3_type, old_gene4_info, old_gene4_type, old_gene5_info, old_gene5_type) TO stdout;
Date: 2026-05-30 23:55:15 Duration: 2s95ms Database: zemm_produktiv_8 User: postgres Remote: [local] Application: pg_dump Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_133814.csv
20 744ms 1s668ms 1s53ms 3 3s160ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration May 30 16 3 3s160ms 1s53ms [ User: labanimal - Total duration: 3s160ms - Times executed: 3 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 3s160ms - Times executed: 3 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 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-05-30 15:37:46 Duration: 1s668ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_133814.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-05-30 15:45:37 Duration: 747ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_133814.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-05-30 15:37:49 Duration: 744ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-30_133814.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
- 97,592 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 0 FATAL entries
- 0 ERROR entries
- 0 WARNING entries
- 1 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 LOG: database system was shut down at ...
Times Reported Most Frequent Error / Event #1
Day Hour Count May 30 14 1 - LOG: database system was shut down at 2026-05-30 13:36:47 CEST
Date: 2026-05-30 13:38:14 Log file: /var/log/postgresql/postgresql-2026-05-30_133814.csv