DefGuard / DefGuard/client

Config update stopped working

Open
#423 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Rust
Stars
369
Forks
39
Avg merge
21h 2m
Merged PRs (30d)
32

Description

Application on macOS didn't update the config so we have to remove all files & reinstall it and after that it finally started to update config file with new routes. Just the uninstall process is not enough.

Binary for the service was there:

> ls -l /usr/local/bin/defguard-service
> lrwxr-xr-x 1 root wheel 65 15 dub 09:41 /usr/local/bin/defguard-service -> /Applications/defguard-client.app/Contents/MacOS/defguard-service

> ls -l /Applications/defguard-client.app/Contents/MacOS/defguard-service
> -rwxr-xr-x 1 root wheel 4340992 14 bře 09:42 /Applications/defguard-client.app/Contents/MacOS/defguard-service

LaunchDaemons/net.defguard.plist wasn't a file as https://github.com/DefGuard/client/blob/main/src-tauri/resources-macos/resources/net.defguard.plist but some binary

Defguard client & service were running
> luky@LukyMac resources % ps aux | grep defguard
> root 793 0,0 0,0 410813120 4816 ?? Ss 18dub25 0:01.20 /usr/local/bin/defguard-service
> luky 34054 0,0 0,0 410724272 1408 s000 S+ 4:07od 0:00.00 grep defguard
> luky 33379 0,0 0,6 416735664 148992 ?? S 3:38od 6:49.20 /Applications/defguard-client.app/Contents/MacOS/defguard-client

> luky@LukyMac resources % launchctl list | grep defguard
33379 0 application.net.defguard.1647630.50765350

DB file was there and it seems that it could be updated:

> luky@LukyMac net.defguard % ls -la /Users/luky/Library/Application\ Support/net.defguard
> total 75920
> drwxr-xr-x 5 luky staff 160 6 kvě 15:49 .
> drwx------+ 94 luky staff 3008 6 dub 01:47 ..
> -rw-r--r-- 1 luky staff 56 17 dub 18:09 .window-state
> -rw-r--r-- 1 luky staff 106 19 bře 15:11 config.json
> -rw-r--r-- 1 luky staff 38739968 6 kvě 15:49 defguard.db

Debug log from the client:

> 2025-05-06T13:48:28.071142Z DEBUG Received a request to create a new interface
2025-05-06T13:48:28.072283Z DEBUG Checking if all commands required by wireguard-rs are available
2025-05-06T13:48:28.072737Z DEBUG wireguard-go found in "/usr/local/bin"
2025-05-06T13:48:28.073086Z DEBUG networksetup found in "/usr/sbin"
2025-05-06T13:48:28.073103Z DEBUG All commands required by wireguard-rs are available
2025-05-06T13:48:28.073115Z DEBUG Creating new interface utun7
2025-05-06T13:48:28.073158Z DEBUG Creating userspace interface utun7
2025-05-06T13:48:28.096427Z DEBUG Userspace interface utun7 created successfully
2025-05-06T13:48:28.096473Z DEBUG Done creating a new interface utun7
2025-05-06T13:48:28.096483Z DEBUG Preparing DNS configuration for interface utun7
2025-05-06T13:48:28.096527Z DEBUG DNS configuration for interface utun7: DNS: [xXx], Search domains: []
2025-05-06T13:48:28.096542Z DEBUG Configuring interface utun7 with config: InterfaceConfiguration { name: "utun7", addresses: [IpAddrMask { ip: xXx, cidr: 32 }], port: 62921, peers: [Peer { public_key: xXx, preshared_key: None, protocol_version: None, endpoint: Some(xXx:50553), last_handshake: None, tx_bytes: 0, rx_bytes: 0, persistent_keepalive_interval: Some(25), allowed_ips: [IpAddrMask { ip: xXx, cidr: 20 }, IpAddrMask { ip: xXx, cidr: 22 } }], mtu: None, .. }
2025-05-06T13:48:28.096605Z DEBUG Assigning address xXx/32 to interface utun7
2025-05-06T13:48:28.097436Z DEBUG Address xXx/32 assigned to interface utun7
2025-05-06T13:48:28.097479Z DEBUG Applying the WireGuard host configuration for interface utun7
2025-05-06T13:48:28.108985Z DEBUG WireGuard host configuration set for interface utun7.
2025-05-06T13:48:28.109065Z INFO Interface utun7 has been successfully configured. It has been assigned the following addresses: [IpAddrMask { ip: xXx, cidr: 32 }]
2025-05-06T13:48:28.109073Z DEBUG Interface utun7 configured with config: InterfaceConfiguration { name: "utun7", addresses: [IpAddrMask { ip: xXx, cidr: 32 }], port: 62921, peers: [Peer { public_key: xXx, preshared_key: None, protocol_version: None, endpoint: Some(xXx:50553), last_handshake: None, tx_bytes: 0, rx_bytes: 0, persistent_keepalive_interval: Some(25), allowed_ips: [IpAddrMask { ip: xXx, cidr: 20 }, IpAddrMask { ip: xXx, cidr: 22 } }], mtu: None, .. }
2025-05-06T13:48:28.109109Z DEBUG Configuring interface utun7 routing
2025-05-06T13:48:28.109113Z DEBUG Adding peer routing for interface: utun7
2025-05-06T13:48:28.109119Z DEBUG Processing peer: xXx
2025-05-06T13:48:28.109124Z DEBUG Processing route for allowed IP: xXx/20, interface: utun7
2025-05-06T13:48:28.109138Z DEBUG Adding link layer gateway, destination: xXx/20, interface: utun7
2025-05-06T13:48:28.109253Z ERROR Failed to add route to xXx/20 for interface utun7: Write error EEXIST: File exists
2025-05-06T13:48:28.109261Z DEBUG Processing route for allowed IP: xXx/22, interface: utun7
2025-05-06T13:48:28.109265Z DEBUG Adding link layer gateway, destination: xXx/22, interface: utun7
2025-05-06T13:48:28.109328Z ERROR Failed to add route to xXx/22 for interface utun7: Write error EEXIST: File exists
2025-05-06T13:48:28.112222Z DEBUG Peers routing added successfully
2025-05-06T13:48:28.112227Z DEBUG The following DNS servers will be set: [xXx], search domains: []
2025-05-06T13:48:28.112233Z DEBUG Beginning DNS configuration for interface utun7
2025-05-06T13:48:28.112238Z DEBUG Configuring DNS servers and search domains, DNS: [xXx], search domains: []
2025-05-06T13:48:28.112243Z DEBUG Setting DNS servers and search domains for all network services
2025-05-06T13:48:28.183359Z DEBUG Found following network services: ["USB 10/100/1000 LAN", "ThinkPad TBT 3 Dock", "USB 10/100/1000 LAN 2", "USB 10/100/1000 LAN 3", "AX88179A", "USB 10/100/1000 LAN 4", "USB 10/100/1000 LAN 5", "USB 10/100/1000 LAN 6", "USB 10/100/1000 LAN 7", "Thunderbolt Bridge", "Wi-Fi", "iPhone USB"]
2025-05-06T13:48:28.183396Z DEBUG Setting DNS entries (search domains and DNS servers) for network service USB 10/100/1000 LAN
2025-05-06T13:48:28.208777Z DEBUG DNS servers set successfully for USB 10/100/1000 LAN
2025-05-06T13:48:28.208814Z DEBUG Setting search domains for USB 10/100/1000 LAN
2025-05-06T13:48:28.244340Z DEBUG Search domains set successfully for USB 10/100/1000 LAN
2025-05-06T13:48:28.244400Z DEBUG Setting DNS entries (search domains and DNS servers) for network service ThinkPad TBT 3 Dock
2025-05-06T13:48:28.268547Z DEBUG DNS servers set successfully for ThinkPad TBT 3 Dock
2025-05-06T13:48:28.268571Z DEBUG Setting search domains for ThinkPad TBT 3 Dock
2025-05-06T13:48:28.292587Z DEBUG Search domains set successfully for ThinkPad TBT 3 Dock
2025-05-06T13:48:28.292627Z DEBUG Setting DNS entries (search domains and DNS servers) for network service USB 10/100/1000 LAN 2
2025-05-06T13:48:28.317827Z DEBUG DNS servers set successfully for USB 10/100/1000 LAN 2
2025-05-06T13:48:28.317850Z DEBUG Setting search domains for USB 10/100/1000 LAN 2
2025-05-06T13:48:28.341145Z DEBUG Search domains set successfully for USB 10/100/1000 LAN 2
2025-05-06T13:48:28.341180Z DEBUG Setting DNS entries (search domains and DNS servers) for network service USB 10/100/1000 LAN 3
2025-05-06T13:48:28.365827Z DEBUG DNS servers set successfully for USB 10/100/1000 LAN 3
2025-05-06T13:48:28.365846Z DEBUG Setting search domains for USB 10/100/1000 LAN 3
2025-05-06T13:48:28.382623Z DEBUG Search domains set successfully for USB 10/100/1000 LAN 3
2025-05-06T13:48:28.382674Z DEBUG Setting DNS entries (search domains and DNS servers) for network service AX88179A
2025-05-06T13:48:28.416383Z DEBUG DNS servers set successfully for AX88179A
2025-05-06T13:48:28.416407Z DEBUG Setting search domains for AX88179A
2025-05-06T13:48:28.442459Z DEBUG Search domains set successfully for AX88179A
2025-05-06T13:48:28.442497Z DEBUG Setting DNS entries (search domains and DNS servers) for network service USB 10/100/1000 LAN 4
2025-05-06T13:48:28.467905Z DEBUG DNS servers set successfully for USB 10/100/1000 LAN 4
2025-05-06T13:48:28.467924Z DEBUG Setting search domains for USB 10/100/1000 LAN 4
2025-05-06T13:48:28.491951Z DEBUG Search domains set successfully for USB 10/100/1000 LAN 4
2025-05-06T13:48:28.491981Z DEBUG Setting DNS entries (search domains and DNS servers) for network service USB 10/100/1000 LAN 5
2025-05-06T13:48:28.522214Z DEBUG DNS servers set successfully for USB 10/100/1000 LAN 5
2025-05-06T13:48:28.522233Z DEBUG Setting search domains for USB 10/100/1000 LAN 5
2025-05-06T13:48:28.548304Z DEBUG Search domains set successfully for USB 10/100/1000 LAN 5
2025-05-06T13:48:28.548330Z DEBUG Setting DNS entries (search domains and DNS servers) for network service USB 10/100/1000 LAN 6
2025-05-06T13:48:28.574449Z DEBUG DNS servers set successfully for USB 10/100/1000 LAN 6
2025-05-06T13:48:28.574465Z DEBUG Setting search domains for USB 10/100/1000 LAN 6
2025-05-06T13:48:28.594849Z DEBUG Search domains set successfully for USB 10/100/1000 LAN 6
2025-05-06T13:48:28.594879Z DEBUG Setting DNS entries (search domains and DNS servers) for network service USB 10/100/1000 LAN 7
2025-05-06T13:48:28.613116Z DEBUG DNS servers set successfully for USB 10/100/1000 LAN 7
2025-05-06T13:48:28.613129Z DEBUG Setting search domains for USB 10/100/1000 LAN 7
2025-05-06T13:48:28.631796Z DEBUG Search domains set successfully for USB 10/100/1000 LAN 7
2025-05-06T13:48:28.631828Z DEBUG Setting DNS entries (search domains and DNS servers) for network service Thunderbolt Bridge
2025-05-06T13:48:28.658067Z DEBUG DNS servers set successfully for Thunderbolt Bridge
2025-05-06T13:48:28.658085Z DEBUG Setting search domains for Thunderbolt Bridge
2025-05-06T13:48:28.682021Z DEBUG Search domains set successfully for Thunderbolt Bridge
2025-05-06T13:48:28.682047Z DEBUG Setting DNS entries (search domains and DNS servers) for network service Wi-Fi
2025-05-06T13:48:28.705731Z DEBUG DNS servers set successfully for Wi-Fi
2025-05-06T13:48:28.705746Z DEBUG Setting search domains for Wi-Fi
2025-05-06T13:48:28.727516Z DEBUG Search domains set successfully for Wi-Fi
2025-05-06T13:48:28.727545Z DEBUG Setting DNS entries (search domains and DNS servers) for network service iPhone USB
2025-05-06T13:48:28.753849Z DEBUG DNS servers set successfully for iPhone USB
2025-05-06T13:48:28.753864Z DEBUG Setting search domains for iPhone USB
2025-05-06T13:48:28.777969Z DEBUG Search domains set successfully for iPhone USB
2025-05-06T13:48:28.777997Z DEBUG The following DNS servers and search domains were set successfully: DNS: [xXx], search domains: []
2025-05-06T13:48:28.778003Z DEBUG Finished configuring DNS for interface utun7
2025-05-06T13:48:28.778008Z DEBUG Finished creating a new interface utun7
2025-05-06T13:48:28.779231Z DEBUG Received a request to start a new network usage stats data stream for interface utun7
2025-05-06T13:48:28.779238Z DEBUG Checking if all commands required by wireguard-rs are available
2025-05-06T13:48:28.779249Z DEBUG wireguard-go found in "/usr/local/bin"
2025-05-06T13:48:28.779262Z DEBUG networksetup found in "/usr/sbin"
2025-05-06T13:48:28.779265Z DEBUG All commands required by wireguard-rs are available
2025-05-06T13:48:28.779274Z INFO Spawning statistics collector task for interface utun7
2025-05-06T13:48:28.780421Z DEBUG Gathering network usage statistics for client's network activity on utun7
2025-05-06T13:48:28.780425Z DEBUG Reading interface configuration and statistics for interface utun7
2025-05-06T13:48:28.780580Z DEBUG Interface configuration and statistics read successfully for interface utun7
2025-05-06T13:48:28.780585Z DEBUG Found 1 peers configured on WireGuard interface
2025-05-06T13:48:28.780587Z DEBUG Peer xXx statistics changed; keeping it.
2025-05-06T13:48:28.780596Z DEBUG Network activity statistics for interface utun7 sent to the client

Log file defguard-client.log:

> [2025-05-06][13:38:17.562031][INFO][defguard_client] App setup completed, log level: INFO
[2025-05-06][13:38:17.562079][INFO][defguard_client] Starting Defguard client version 1.2.3-9ca4ce1
[2025-05-06][13:38:17.562086][INFO][defguard_client] The application data (database file) will be stored in: "/Users/luky/Library/Application Support/net.defguard" and the application logs in: "/Users/luky/Library/Logs/net.defguard". Logs of the background defguard service responsible for managing the VPN connections at the network level will be stored in: /var/log/defguard-service.
[2025-05-06][13:38:18.393476][INFO][defguard_client::commands] The latest release version of the application available for download is 1.2.3, it was released on 2025-03-24.
[2025-05-06][13:38:20.252295][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=2.048958709s elapsed_secs=2.048958709 slow_threshold=1s
[2025-05-06][13:38:20.261075][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=2.057405291s elapsed_secs=2.057405291 slow_threshold=1s
[2025-05-06][13:38:20.270169][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=2.067637541s elapsed_secs=2.067637541 slow_threshold=1s
[2025-05-06][13:38:20.281756][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=2.078789792s elapsed_secs=2.078789792 slow_threshold=1s
[2025-05-06][13:40:55.158492][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.998117916s elapsed_secs=3.998117916 slow_threshold=1s
[2025-05-06][13:41:09.156518][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.989070708s elapsed_secs=3.989070708 slow_threshold=1s
[2025-05-06][13:41:22.939158][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.777689583s elapsed_secs=3.777689583 slow_threshold=1s
[2025-05-06][13:41:36.973419][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=4.030341667s elapsed_secs=4.030341667 slow_threshold=1s
[2025-05-06][13:41:50.991406][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=4.01369825s elapsed_secs=4.01369825 slow_threshold=1s
[2025-05-06][13:42:05.034726][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=4.037341542s elapsed_secs=4.037341542 slow_threshold=1s
[2025-05-06][13:42:19.09886][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=4.059191916s elapsed_secs=4.059191916 slow_threshold=1s
[2025-05-06][13:42:33.128693][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=4.024563875s elapsed_secs=4.024563875 slow_threshold=1s
[2025-05-06][13:42:47.063968][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.929749583s elapsed_secs=3.929749583 slow_threshold=1s
[2025-05-06][13:43:00.93071][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.862470041s elapsed_secs=3.862470041 slow_threshold=1s
[2025-05-06][13:43:14.977725][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=4.041683667s elapsed_secs=4.041683667 slow_threshold=1s
[2025-05-06][13:43:28.695514][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.7124195s elapsed_secs=3.7124195 slow_threshold=1s
[2025-05-06][13:43:42.685595][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.985942375s elapsed_secs=3.985942375 slow_threshold=1s
[2025-05-06][13:43:56.725277][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=4.035572041s elapsed_secs=4.035572041 slow_threshold=1s
[2025-05-06][13:44:10.681085][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.951646833s elapsed_secs=3.951646833 slow_threshold=1s
[2025-05-06][13:44:24.726272][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=4.040047042s elapsed_secs=4.040047042 slow_threshold=1s
[2025-05-06][13:44:39.038253][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=4.306654s elapsed_secs=4.306654 slow_threshold=1s
[2025-05-06][13:44:53.051986][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=4.00996825s elapsed_secs=4.00996825 slow_threshold=1s
[2025-05-06][13:45:06.853866][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.797391084s elapsed_secs=3.797391084 slow_threshold=1s
[2025-05-06][13:45:20.912617][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=4.054433042s elapsed_secs=4.054433042 slow_threshold=1s
[2025-05-06][13:45:34.469618][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.552461417s elapsed_secs=3.552461417 slow_threshold=1s
[2025-05-06][13:45:48.094313][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.615566041s elapsed_secs=3.615566041 slow_threshold=1s
[2025-05-06][13:46:02.007058][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.906988792s elapsed_secs=3.906988792 slow_threshold=1s
[2025-05-06][13:46:15.794797][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.778746958s elapsed_secs=3.778746958 slow_threshold=1s
[2025-05-06][13:46:29.592878][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.793632375s elapsed_secs=3.793632375 slow_threshold=1s
[2025-05-06][13:46:43.448141][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.851613666s elapsed_secs=3.851613666 slow_threshold=1s
[2025-05-06][13:46:57.175168][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.719573667s elapsed_secs=3.719573667 slow_threshold=1s
[2025-05-06][13:47:10.978328][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.798148416s elapsed_secs=3.798148416 slow_threshold=1s
[2025-05-06][13:47:25.067624][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=4.08109325s elapsed_secs=4.08109325 slow_threshold=1s
[2025-05-06][13:47:38.979741][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.90688275s elapsed_secs=3.90688275 slow_threshold=1s
[2025-05-06][13:47:52.940095][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=0 elapsed=3.955314334s elapsed_secs=3.955314334 slow_threshold=1s
[2025-05-06][13:48:28.778293][INFO][defguard_client::utils] The interface for location hq_wo_mfa(ID: 3) has been created successfully, interface name: utun7.
[2025-05-06][13:48:28.779203][INFO][defguard_client::log_watcher::service_log_watcher] A background task has been spawned to watch the defguard service log file for location hq_wo_mfa (interface utun7), location's specific collected logs will be displayed in the location's detailed view.
[2025-05-06][13:48:28.785925][INFO][defguard_client::commands] Connected to location hq_wo_mfa(ID: 3)
[2025-05-06][13:48:32.147196][INFO][defguard_client::utils] Network interface utun7 for location hq_wo_mfa(ID: 3) has been removed
[2025-05-06][13:48:32.153708][INFO][defguard_client::commands] Disconnected from location hq_wo_mfa(ID: 3)
[2025-05-06][13:48:32.817497][INFO][defguard_client::log_watcher::service_log_watcher] The background task responsible for watching the defguard service log file for interface utun7 is being stopped.
[2025-05-06][13:52:00.10944][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=1 elapsed=3.715178416s elapsed_secs=3.715178416 slow_threshold=1s
[2025-05-06][13:52:14.047211][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=1 elapsed=3.933941s elapsed_secs=3.933941 slow_threshold=1s
[2025-05-06][13:52:27.807757][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=1 rows_returned=1 elapsed=3.757126584s elapsed_secs=3.757126584 slow_threshold=1s
[2025-05-06][13:52:41.657534][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=1 elapsed=3.845001542s elapsed_secs=3.845001542 slow_threshold=1s
[2025-05-06][13:52:55.555275][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=1 elapsed=3.892724167s elapsed_secs=3.892724167 slow_threshold=1s
[2025-05-06][13:53:08.488669][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=0 rows_returned=1 elapsed=2.926994375s elapsed_secs=2.926994375 slow_threshold=1s
[2025-05-06][13:53:22.284615][WARN][sqlx::query] slow statement: execution time exceeded alert threshold summary="WITH cte AS (SELECT …" db.statement="\n\nWITH cte AS (SELECT id, location_id, COALESCE(upload - LAG(upload) OVER (PARTITION BY location_id ORDER BY collected_at), 0) upload, COALESCE(download - LAG(download) OVER (PARTITION BY location_id ORDER BY collected_at), 0) download, last_handshake, strftime($1, collected_at) collected_at, listen_port, persistent_keepalive_interval FROM location_stats ORDER BY collected_at LIMIT -1 OFFSET 1) SELECT id, location_id, SUM(MAX(upload, 0)) \"upload!: i64\", SUM(MAX(download, 0)) \"download!: i64\", last_handshake, collected_at \"collected_at!: NaiveDateTime\", listen_port \"listen_port!: u32\", persistent_keepalive_interval \"persistent_keepalive_interval?: u16\" FROM cte WHERE location_id = $2 AND collected_at >= $3 GROUP BY collected_at ORDER BY collected_at LIMIT $4\n" rows_affected=1 rows_returned=1 elapsed=3.785673792s elapsed_secs=3.785673792 slow_threshold=1s

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.