From 5fb3fc03811ca140c0f3d177c67312d877a5c925 Mon Sep 17 00:00:00 2001 From: sneak Date: Mon, 28 Jul 2025 19:04:19 +0200 Subject: [PATCH] Fix prefix length page to show unique prefixes only - Change GetRandomPrefixesByLength to return unique prefixes instead of all routes - Use CTE to first select random unique prefixes, then join to get their latest route info - This ensures each prefix appears only once in the list --- internal/database/database.go | 23 +- log.txt | 1852 ++++++++++++++++++++++++++++++--- 2 files changed, 1740 insertions(+), 135 deletions(-) diff --git a/internal/database/database.go b/internal/database/database.go index 7a2e7dd..355239d 100644 --- a/internal/database/database.go +++ b/internal/database/database.go @@ -1230,17 +1230,24 @@ func (d *Database) GetPrefixDetails(prefix string) ([]LiveRoute, error) { // GetRandomPrefixesByLength returns a random sample of prefixes with the specified mask length func (d *Database) GetRandomPrefixesByLength(maskLength, ipVersion, limit int) ([]LiveRoute, error) { + // Select unique prefixes with their most recent route information query := ` - SELECT DISTINCT - prefix, mask_length, ip_version, origin_asn, as_path, - peer_ip, last_updated - FROM live_routes - WHERE mask_length = ? AND ip_version = ? - ORDER BY RANDOM() - LIMIT ? + WITH unique_prefixes AS ( + SELECT prefix, MAX(last_updated) as max_updated + FROM live_routes + WHERE mask_length = ? AND ip_version = ? + GROUP BY prefix + ORDER BY RANDOM() + LIMIT ? + ) + SELECT lr.prefix, lr.mask_length, lr.ip_version, lr.origin_asn, lr.as_path, + lr.peer_ip, lr.last_updated + FROM live_routes lr + INNER JOIN unique_prefixes up ON lr.prefix = up.prefix AND lr.last_updated = up.max_updated + WHERE lr.mask_length = ? AND lr.ip_version = ? ` - rows, err := d.db.Query(query, maskLength, ipVersion, limit) + rows, err := d.db.Query(query, maskLength, ipVersion, limit, maskLength, ipVersion) if err != nil { return nil, fmt.Errorf("failed to query random prefixes: %w", err) } diff --git a/log.txt b/log.txt index be29c88..46ce4a1 100644 --- a/log.txt +++ b/log.txt @@ -10,140 +10,1738 @@ [Fx] PROVIDE *routewatch.RouteWatch <= git.eeqj.de/sneak/routewatch/internal/routewatch.New() [Fx] INVOKE git.eeqj.de/sneak/routewatch/internal/routewatch.CLIEntry.func1() [Fx] BEFORE RUN provide: go.uber.org/fx.New.func1() -[Fx] RUN provide: go.uber.org/fx.New.func1() in 6.125µs +[Fx] RUN provide: go.uber.org/fx.New.func1() in 5.708µs [Fx] BEFORE RUN provide: git.eeqj.de/sneak/routewatch/internal/config.New() -[Fx] RUN provide: git.eeqj.de/sneak/routewatch/internal/config.New() in 7.791µs +[Fx] RUN provide: git.eeqj.de/sneak/routewatch/internal/config.New() in 6.209µs [Fx] BEFORE RUN provide: git.eeqj.de/sneak/routewatch/internal/logger.New() -[Fx] RUN provide: git.eeqj.de/sneak/routewatch/internal/logger.New() in 6.875µs +[Fx] RUN provide: git.eeqj.de/sneak/routewatch/internal/logger.New() in 5.25µs [Fx] BEFORE RUN provide: fx.Annotate(git.eeqj.de/sneak/routewatch/internal/database.New(), fx.As([[database.Store]]) -{"time":"2025-07-28T18:55:15.621406+02:00","level":"INFO","msg":"Opening database","source":"database.go:60","func":"database.New","path":"/Users/user/Library/Application Support/berlin.sneak.app.routewatch/db.sqlite"} -{"time":"2025-07-28T18:55:15.985763+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"PRAGMA wal_checkpoint(TRUNCATE)","duration":181338209} -{"time":"2025-07-28T18:55:15.985963+02:00","level":"INFO","msg":"Running VACUUM to optimize database (this may take a moment)","source":"database.go:124","func":"database.(*Database).Initialize"} -{"time":"2025-07-28T18:55:27.279645+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"VACUUM","duration":11292404709} -[Fx] RUN provide: fx.Annotate(git.eeqj.de/sneak/routewatch/internal/database.New(), fx.As([[database.Store]]) in 11.660978167s +{"time":"2025-07-28T19:02:12.448092+02:00","level":"INFO","msg":"Opening database","source":"database.go:60","func":"database.New","path":"/Users/user/Library/Application Support/berlin.sneak.app.routewatch/db.sqlite"} +{"time":"2025-07-28T19:02:12.451368+02:00","level":"INFO","msg":"Running VACUUM to optimize database (this may take a moment)","source":"database.go:124","func":"database.(*Database).Initialize"} +{"time":"2025-07-28T19:02:23.388508+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"VACUUM","duration":10936487208} +[Fx] RUN provide: fx.Annotate(git.eeqj.de/sneak/routewatch/internal/database.New(), fx.As([[database.Store]]) in 10.943200541s [Fx] BEFORE RUN provide: git.eeqj.de/sneak/routewatch/internal/metrics.New() -[Fx] RUN provide: git.eeqj.de/sneak/routewatch/internal/metrics.New() in 861.958µs +[Fx] RUN provide: git.eeqj.de/sneak/routewatch/internal/metrics.New() in 563.333µs [Fx] BEFORE RUN provide: git.eeqj.de/sneak/routewatch/internal/streamer.New() -[Fx] RUN provide: git.eeqj.de/sneak/routewatch/internal/streamer.New() in 1.069791ms +[Fx] RUN provide: git.eeqj.de/sneak/routewatch/internal/streamer.New() in 155.875µs [Fx] BEFORE RUN provide: git.eeqj.de/sneak/routewatch/internal/server.New() -[Fx] RUN provide: git.eeqj.de/sneak/routewatch/internal/server.New() in 1.09675ms +[Fx] RUN provide: git.eeqj.de/sneak/routewatch/internal/server.New() in 420.458µs [Fx] BEFORE RUN provide: git.eeqj.de/sneak/routewatch/internal/routewatch.New() -[Fx] RUN provide: git.eeqj.de/sneak/routewatch/internal/routewatch.New() in 785.958µs +[Fx] RUN provide: git.eeqj.de/sneak/routewatch/internal/routewatch.New() in 75.666µs [Fx] BEFORE RUN provide: go.uber.org/fx.(*App).shutdowner-fm() -[Fx] RUN provide: go.uber.org/fx.(*App).shutdowner-fm() in 345.167µs +[Fx] RUN provide: go.uber.org/fx.(*App).shutdowner-fm() in 6.417µs [Fx] HOOK OnStart git.eeqj.de/sneak/routewatch/internal/routewatch.CLIEntry.func1.1() executing (caller: git.eeqj.de/sneak/routewatch/internal/routewatch.CLIEntry.func1) -[Fx] HOOK OnStart git.eeqj.de/sneak/routewatch/internal/routewatch.CLIEntry.func1.1() called by git.eeqj.de/sneak/routewatch/internal/routewatch.CLIEntry.func1 ran successfully in 270.958µs +{"time":"2025-07-28T19:02:23.393742+02:00","level":"INFO","msg":"Starting RouteWatch","source":"app.go:64","func":"routewatch.(*RouteWatch).Run"} +[Fx] HOOK OnStart git.eeqj.de/sneak/routewatch/internal/routewatch.CLIEntry.func1.1() called by git.eeqj.de/sneak/routewatch/internal/routewatch.CLIEntry.func1 ran successfully in 252.208µs +{"time":"2025-07-28T19:02:23.393761+02:00","level":"INFO","msg":"Using batched database handlers for improved performance","source":"app.go:76","func":"routewatch.(*RouteWatch).Run"} [Fx] RUNNING -{"time":"2025-07-28T18:55:27.298483+02:00","level":"INFO","msg":"Starting RouteWatch","source":"app.go:64","func":"routewatch.(*RouteWatch).Run"} -{"time":"2025-07-28T18:55:27.298978+02:00","level":"INFO","msg":"Using batched database handlers for improved performance","source":"app.go:76","func":"routewatch.(*RouteWatch).Run"} -{"time":"2025-07-28T18:55:27.300966+02:00","level":"INFO","msg":"Starting HTTP server","source":"server.go:52","func":"server.(*Server).Start","port":"8080"} -{"time":"2025-07-28T18:55:28.56366+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:28 [akrotiri/SmLVbc4S8Z-000001] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50529 - 408 17B in 1.000514583s -{"time":"2025-07-28T18:55:28.655509+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:28 [akrotiri/SmLVbc4S8Z-000002] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50530 - 408 17B in 1.000952459s -{"time":"2025-07-28T18:55:28.929681+02:00","level":"INFO","msg":"Connected to RIS Live stream","source":"streamer.go:347","func":"streamer.(*Streamer).stream"} -{"time":"2025-07-28T18:55:29.066543+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:29 [akrotiri/SmLVbc4S8Z-000003] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50532 - 408 17B in 1.00083725s -{"time":"2025-07-28T18:55:29.156635+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:29 [akrotiri/SmLVbc4S8Z-000004] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50536 - 408 17B in 1.00342875s -{"time":"2025-07-28T18:55:29.300578+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} -{"time":"2025-07-28T18:55:29.3006+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} -{"time":"2025-07-28T18:55:29.301052+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} -{"time":"2025-07-28T18:55:29.334118+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} -{"time":"2025-07-28T18:55:29.566963+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:29 [akrotiri/SmLVbc4S8Z-000006] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50539 - 408 17B in 1.002010667s -{"time":"2025-07-28T18:55:29.568468+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:29 [akrotiri/SmLVbc4S8Z-000005] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50538 - 408 17B in 1.004808541s -{"time":"2025-07-28T18:55:29.658427+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:29 [akrotiri/SmLVbc4S8Z-000007] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50540 - 408 17B in 1.002173417s -{"time":"2025-07-28T18:55:29.66029+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:29 [akrotiri/SmLVbc4S8Z-000008] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50541 - 408 17B in 1.000218333s -{"time":"2025-07-28T18:55:29.93081+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"103.200.113.1","peer_asn":"131477"} -{"time":"2025-07-28T18:55:30.073777+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:30 [akrotiri/SmLVbc4S8Z-000009] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50542 - 408 17B in 1.00139075s -{"time":"2025-07-28T18:55:30.162437+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:30 [akrotiri/SmLVbc4S8Z-000010] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50543 - 408 17B in 1.004826917s -{"time":"2025-07-28T18:55:30.570238+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:30 [akrotiri/SmLVbc4S8Z-000012] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50545 - 408 17B in 1.000440458s -{"time":"2025-07-28T18:55:30.570901+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:30 [akrotiri/SmLVbc4S8Z-000011] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50544 - 408 17B in 1.002267417s -{"time":"2025-07-28T18:55:30.660973+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:30 [akrotiri/SmLVbc4S8Z-000013] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50546 - 408 17B in 1.001591916s -{"time":"2025-07-28T18:55:30.661318+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:30 [akrotiri/SmLVbc4S8Z-000014] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50547 - 408 17B in 1.000175209s -{"time":"2025-07-28T18:55:31.0762+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:31 [akrotiri/SmLVbc4S8Z-000015] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50548 - 408 17B in 1.001341625s -{"time":"2025-07-28T18:55:31.165487+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:31 [akrotiri/SmLVbc4S8Z-000016] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50549 - 408 17B in 1.001879584s -{"time":"2025-07-28T18:55:31.367621+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:31 [akrotiri/SmLVbc4S8Z-000020] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50553 - 408 151B in 703.570292ms -{"time":"2025-07-28T18:55:31.367825+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:31 [akrotiri/SmLVbc4S8Z-000022] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50556 - 408 151B in 201.656ms -{"time":"2025-07-28T18:55:31.368037+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:31 [akrotiri/SmLVbc4S8Z-000018] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50552 - 408 151B in 796.273292ms -{"time":"2025-07-28T18:55:31.36865+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:31 [akrotiri/SmLVbc4S8Z-000024] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50557 - 408 149B in 561.791µs -{"time":"2025-07-28T18:55:31.368908+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:31 [akrotiri/SmLVbc4S8Z-000017] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50551 - 408 151B in 797.906083ms -{"time":"2025-07-28T18:55:31.368939+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:31 [akrotiri/SmLVbc4S8Z-000019] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50554 - 408 151B in 705.177542ms -{"time":"2025-07-28T18:55:31.368964+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:31 [akrotiri/SmLVbc4S8Z-000021] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50555 - 408 151B in 292.11375ms -2025/07/28 18:55:31 [akrotiri/SmLVbc4S8Z-000030] "GET http://127.0.0.1:8080/status HTTP/1.1" from 127.0.0.1:50564 - 200 14334B in 1.052875ms -{"time":"2025-07-28T18:55:32.36962+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:32 [akrotiri/SmLVbc4S8Z-000029] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50562 - 408 17B in 1.001024875s -{"time":"2025-07-28T18:55:32.36969+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:32 [akrotiri/SmLVbc4S8Z-000026] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50559 - 408 17B in 1.0013515s -{"time":"2025-07-28T18:55:32.369759+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:32 [akrotiri/SmLVbc4S8Z-000027] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50560 - 408 17B in 1.001368334s -{"time":"2025-07-28T18:55:32.369793+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:32 [akrotiri/SmLVbc4S8Z-000028] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50561 - 408 17B in 1.001194833s -{"time":"2025-07-28T18:55:32.369831+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:32 [akrotiri/SmLVbc4S8Z-000025] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50558 - 408 17B in 1.001485042s -{"time":"2025-07-28T18:55:32.369861+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:32 [akrotiri/SmLVbc4S8Z-000023] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50563 - 408 17B in 1.001663417s -{"time":"2025-07-28T18:55:32.620276+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:32 [akrotiri/SmLVbc4S8Z-000031] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50564 - 408 17B in 1.001257334s -{"time":"2025-07-28T18:55:33.371767+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:33 [akrotiri/SmLVbc4S8Z-000036] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50570 - 408 17B in 1.000852958s -{"time":"2025-07-28T18:55:33.371862+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:33 [akrotiri/SmLVbc4S8Z-000033] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50567 - 408 17B in 1.001058s -{"time":"2025-07-28T18:55:33.371909+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -{"time":"2025-07-28T18:55:33.371904+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:33 [akrotiri/SmLVbc4S8Z-000032] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50571 - 408 17B in 1.001232416s -2025/07/28 18:55:33 [akrotiri/SmLVbc4S8Z-000034] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50568 - 408 17B in 1.001058375s -{"time":"2025-07-28T18:55:33.372026+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:33 [akrotiri/SmLVbc4S8Z-000035] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50569 - 408 17B in 1.001100833s -{"time":"2025-07-28T18:55:33.622518+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:33 [akrotiri/SmLVbc4S8Z-000037] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50572 - 408 17B in 1.001481875s -{"time":"2025-07-28T18:55:34.260055+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"193.107.13.3","peer_asn":"47787"} -{"time":"2025-07-28T18:55:34.373824+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:34 [akrotiri/SmLVbc4S8Z-000042] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50573 - 408 17B in 1.001114458s -{"time":"2025-07-28T18:55:34.374655+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:34 [akrotiri/SmLVbc4S8Z-000040] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50576 - 408 17B in 1.00191525s -{"time":"2025-07-28T18:55:34.374725+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:34 [akrotiri/SmLVbc4S8Z-000038] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50577 - 408 17B in 1.002011916s -{"time":"2025-07-28T18:55:34.374829+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:34 [akrotiri/SmLVbc4S8Z-000039] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50574 - 408 17B in 1.002084042s -{"time":"2025-07-28T18:55:34.375664+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:34 [akrotiri/SmLVbc4S8Z-000041] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50575 - 408 17B in 1.002975s -{"time":"2025-07-28T18:55:34.624993+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:34 [akrotiri/SmLVbc4S8Z-000043] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50578 - 408 17B in 1.001230875s -{"time":"2025-07-28T18:55:35.072893+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM asns","duration":446804750} -{"time":"2025-07-28T18:55:35.072943+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM asns","duration":3906511250} -{"time":"2025-07-28T18:55:35.073012+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM asns","duration":3704623791} -{"time":"2025-07-28T18:55:35.073053+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM asns","duration":5413545750} -{"time":"2025-07-28T18:55:35.073091+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM asns","duration":2702315666} -{"time":"2025-07-28T18:55:35.073135+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM asns","duration":2702279750} -{"time":"2025-07-28T18:55:35.375006+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:35 [akrotiri/SmLVbc4S8Z-000044] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50580 - 408 17B in 1.000225333s -{"time":"2025-07-28T18:55:35.375958+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -{"time":"2025-07-28T18:55:35.375976+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -{"time":"2025-07-28T18:55:35.37599+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:35 [akrotiri/SmLVbc4S8Z-000046] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50581 - 408 17B in 1.000105959s -2025/07/28 18:55:35 [akrotiri/SmLVbc4S8Z-000045] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50583 - 408 17B in 1.00013575s -2025/07/28 18:55:35 [akrotiri/SmLVbc4S8Z-000047] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50582 - 408 17B in 1.000121667s -{"time":"2025-07-28T18:55:35.376418+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:35 [akrotiri/SmLVbc4S8Z-000048] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50584 - 408 17B in 1.000057917s -{"time":"2025-07-28T18:55:35.627065+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} -2025/07/28 18:55:35 [akrotiri/SmLVbc4S8Z-000049] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:50585 - 408 17B in 1.001080458s +{"time":"2025-07-28T19:02:23.395235+02:00","level":"INFO","msg":"Starting HTTP server","source":"server.go:52","func":"server.(*Server).Start","port":"8080"} +2025/07/28 19:02:24 [akrotiri/bcbAMY2J2l-000001] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56471 - 200 3678B in 614.380333ms +2025/07/28 19:02:24 [akrotiri/bcbAMY2J2l-000002] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56472 - 200 3678B in 799.247583ms +{"time":"2025-07-28T19:02:24.747714+02:00","level":"INFO","msg":"Connected to RIS Live stream","source":"streamer.go:347","func":"streamer.(*Streamer).stream"} +2025/07/28 19:02:24 [akrotiri/bcbAMY2J2l-000003] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3678B in 669.883916ms +2025/07/28 19:02:24 [akrotiri/bcbAMY2J2l-000004] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3678B in 680.587667ms +2025/07/28 19:02:25 [akrotiri/bcbAMY2J2l-000006] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56472 - 200 3646B in 612.447333ms +2025/07/28 19:02:25 [akrotiri/bcbAMY2J2l-000005] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56471 - 200 3646B in 712.300792ms +{"time":"2025-07-28T19:02:25.394832+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:25.394858+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:25.39493+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:25.397728+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:25.398155+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:02:25.398204+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:25.613225+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":215} +{"time":"2025-07-28T19:02:25.613232+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:02:25 [akrotiri/bcbAMY2J2l-000007] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3661B in 667.0945ms +2025/07/28 19:02:25 [akrotiri/bcbAMY2J2l-000008] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3661B in 687.509417ms +2025/07/28 19:02:26 [akrotiri/bcbAMY2J2l-000010] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56471 - 200 3662B in 650.861959ms +{"time":"2025-07-28T19:02:26.673595+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} +2025/07/28 19:02:26 [akrotiri/bcbAMY2J2l-000009] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56472 - 408 17B in 1.000120875s +{"time":"2025-07-28T19:02:26.779906+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:02:26 [akrotiri/bcbAMY2J2l-000011] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3664B in 672.031791ms +2025/07/28 19:02:26 [akrotiri/bcbAMY2J2l-000012] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3664B in 692.906625ms +{"time":"2025-07-28T19:02:27.181766+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1568} +{"time":"2025-07-28T19:02:27.181782+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:27.181786+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:27.21914+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:27.219187+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":37} +{"time":"2025-07-28T19:02:27.21921+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":4880,"unique_prefixes":3301,"success":3301,"duration_ms":1824} +{"time":"2025-07-28T19:02:27.365859+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":146} +2025/07/28 19:02:27 [akrotiri/bcbAMY2J2l-000014] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3666B in 717.15075ms +2025/07/28 19:02:27 [akrotiri/bcbAMY2J2l-000013] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56471 - 200 3666B in 755.116833ms +2025/07/28 19:02:27 [akrotiri/bcbAMY2J2l-000015] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3703B in 745.883917ms +2025/07/28 19:02:27 [akrotiri/bcbAMY2J2l-000016] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3703B in 691.922458ms +{"time":"2025-07-28T19:02:27.89074+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:27.890757+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:02:27 [akrotiri/bcbAMY2J2l-000017] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3705B in 722.5585ms +{"time":"2025-07-28T19:02:28.182629+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:28.317916+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:02:28 [akrotiri/bcbAMY2J2l-000018] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3744B in 647.065084ms +2025/07/28 19:02:28 [akrotiri/bcbAMY2J2l-000019] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56471 - 200 3744B in 659.531834ms +2025/07/28 19:02:28 [akrotiri/bcbAMY2J2l-000020] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3746B in 661.456375ms +2025/07/28 19:02:28 [akrotiri/bcbAMY2J2l-000021] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3746B in 682.734791ms +{"time":"2025-07-28T19:02:29.282499+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1391} +{"time":"2025-07-28T19:02:29.282519+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:29.28254+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:02:29 [akrotiri/bcbAMY2J2l-000022] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3747B in 678.407833ms +{"time":"2025-07-28T19:02:29.432977+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":150} +{"time":"2025-07-28T19:02:29.43301+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:02:29 [akrotiri/bcbAMY2J2l-000023] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56471 - 200 3751B in 715.991584ms +{"time":"2025-07-28T19:02:29.465587+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":32} +{"time":"2025-07-28T19:02:29.4656+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:29.466778+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:29.473922+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":8} +{"time":"2025-07-28T19:02:29.473935+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20001,"unique_prefixes":9966,"success":9966,"duration_ms":1590} +{"time":"2025-07-28T19:02:29.47395+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:29.508816+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":34} +{"time":"2025-07-28T19:02:29.762798+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:29.762823+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:02:29 [akrotiri/bcbAMY2J2l-000024] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3746B in 658.870125ms +2025/07/28 19:02:29 [akrotiri/bcbAMY2J2l-000025] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3746B in 667.147375ms +2025/07/28 19:02:30 [akrotiri/bcbAMY2J2l-000026] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56471 - 200 3749B in 647.051459ms +2025/07/28 19:02:30 [akrotiri/bcbAMY2J2l-000027] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3749B in 649.37175ms +{"time":"2025-07-28T19:02:30.422121+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:30.654153+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:30.672677+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"80.81.194.190","peer_asn":"31042"} +{"time":"2025-07-28T19:02:30.717871+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":955} +{"time":"2025-07-28T19:02:30.717889+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:30.717904+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:30.721587+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:02:30.721725+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:02:30 [akrotiri/bcbAMY2J2l-000028] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3752B in 649.845625ms +{"time":"2025-07-28T19:02:30.90291+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":181} +{"time":"2025-07-28T19:02:30.902924+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +2025/07/28 19:02:30 [akrotiri/bcbAMY2J2l-000029] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3749B in 668.774084ms +{"time":"2025-07-28T19:02:30.92642+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":23} +{"time":"2025-07-28T19:02:30.926437+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20001,"unique_prefixes":7902,"success":7902,"duration_ms":1174} +2025/07/28 19:02:31 [akrotiri/bcbAMY2J2l-000030] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56471 - 200 3745B in 617.752167ms +2025/07/28 19:02:31 [akrotiri/bcbAMY2J2l-000031] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3745B in 618.04ms +{"time":"2025-07-28T19:02:31.668634+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"193.239.118.249","peer_asn":"41255"} +{"time":"2025-07-28T19:02:31.671403+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"195.208.209.174","peer_asn":"25227"} +{"time":"2025-07-28T19:02:31.672384+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:31.672393+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:31.746209+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":73} +2025/07/28 19:02:31 [akrotiri/bcbAMY2J2l-000032] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3746B in 668.850292ms +2025/07/28 19:02:31 [akrotiri/bcbAMY2J2l-000033] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3744B in 659.594375ms +{"time":"2025-07-28T19:02:31.932521+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:31.932534+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:32.339202+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:02:32 [akrotiri/bcbAMY2J2l-000034] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56471 - 200 3751B in 657.201541ms +{"time":"2025-07-28T19:02:32.379244+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:02:32 [akrotiri/bcbAMY2J2l-000035] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3752B in 650.316834ms +2025/07/28 19:02:32 [akrotiri/bcbAMY2J2l-000036] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3753B in 668.348917ms +2025/07/28 19:02:32 [akrotiri/bcbAMY2J2l-000037] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3753B in 670.279459ms +{"time":"2025-07-28T19:02:33.011551+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1078} +{"time":"2025-07-28T19:02:33.011568+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:33.011594+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:33.015088+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:02:33.015555+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:33.098079+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":82} +{"time":"2025-07-28T19:02:33.098206+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:33.101192+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":2} +{"time":"2025-07-28T19:02:33.101202+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20006,"unique_prefixes":10150,"success":10150,"duration_ms":1176} +2025/07/28 19:02:33 [akrotiri/bcbAMY2J2l-000038] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3744B in 648.879291ms +{"time":"2025-07-28T19:02:33.404032+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:33.404048+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:02:33 [akrotiri/bcbAMY2J2l-000039] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56471 - 200 3746B in 658.828542ms +{"time":"2025-07-28T19:02:33.555116+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":151} +{"time":"2025-07-28T19:02:33.572358+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:33.57237+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:02:33 [akrotiri/bcbAMY2J2l-000040] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3748B in 645.972125ms +2025/07/28 19:02:33 [akrotiri/bcbAMY2J2l-000041] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3748B in 648.6625ms +{"time":"2025-07-28T19:02:34.222329+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:34.273572+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:02:34 [akrotiri/bcbAMY2J2l-000042] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3753B in 680.2155ms +2025/07/28 19:02:34 [akrotiri/bcbAMY2J2l-000043] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56471 - 200 3754B in 679.516042ms +{"time":"2025-07-28T19:02:34.656619+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:7f8::8b0e:0:1","peer_asn":"35598"} +{"time":"2025-07-28T19:02:34.656638+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"2001:7f8::8b0e:0:1","peer_asn":"35598"} +{"time":"2025-07-28T19:02:34.747979+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":10000134292,"total_messages":46763,"total_bytes":35010743,"total_mb":"33.39","messages_per_sec":"519.47","bits_per_sec":"3210626","mbps":"3.21","total_dropped":0} +{"time":"2025-07-28T19:02:34.74801+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":3776,"queue_cap":100000,"processed":42532,"dropped":0,"avg_time":74769,"min_time":0,"max_time":1148229334} +{"time":"2025-07-28T19:02:34.748021+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeerHandler","index":1,"queue_len":4286,"queue_cap":100000,"processed":42023,"dropped":0,"avg_time":53449,"min_time":0,"max_time":1250981541} +{"time":"2025-07-28T19:02:34.748028+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":7547,"queue_cap":100000,"processed":38762,"dropped":0,"avg_time":148399,"min_time":0,"max_time":1804252125} +{"time":"2025-07-28T19:02:34.748035+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeeringHandler","index":3,"queue_len":0,"queue_cap":100000,"processed":46309,"dropped":0,"avg_time":1658,"min_time":0,"max_time":1224209} +{"time":"2025-07-28T19:02:34.865332+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1292} +{"time":"2025-07-28T19:02:34.865353+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:34.865379+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:02:34 [akrotiri/bcbAMY2J2l-000044] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3754B in 675.151833ms +2025/07/28 19:02:34 [akrotiri/bcbAMY2J2l-000045] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3755B in 674.443042ms +{"time":"2025-07-28T19:02:35.036015+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":170} +{"time":"2025-07-28T19:02:35.036021+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:35.071711+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":35} +{"time":"2025-07-28T19:02:35.071722+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:35.072859+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:35.072868+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:35.072861+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":1} +{"time":"2025-07-28T19:02:35.072947+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20001,"unique_prefixes":10900,"success":10900,"duration_ms":1507} +{"time":"2025-07-28T19:02:35.114604+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":41} +{"time":"2025-07-28T19:02:35.159415+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:7f8:4::73ab:1","peer_asn":"29611"} +{"time":"2025-07-28T19:02:35.166772+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:35.166785+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:02:35 [akrotiri/bcbAMY2J2l-000046] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56471 - 200 3747B in 694.6425ms +2025/07/28 19:02:35 [akrotiri/bcbAMY2J2l-000047] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3746B in 696.964167ms +{"time":"2025-07-28T19:02:35.929042+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"2001:7f8:1::a503:5598:1","peer_asn":"35598"} +{"time":"2025-07-28T19:02:35.930542+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:35.943354+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:7f8:1::a503:5598:1","peer_asn":"35598"} +2025/07/28 19:02:35 [akrotiri/bcbAMY2J2l-000048] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3751B in 719.963ms +2025/07/28 19:02:35 [akrotiri/bcbAMY2J2l-000049] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3751B in 705.635167ms +{"time":"2025-07-28T19:02:36.009665+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:02:36 [akrotiri/bcbAMY2J2l-000050] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56471 - 200 3755B in 701.111125ms +2025/07/28 19:02:36 [akrotiri/bcbAMY2J2l-000051] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3755B in 684.928083ms +{"time":"2025-07-28T19:02:36.48344+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:36.483439+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1316} +{"time":"2025-07-28T19:02:36.483469+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:37.069341+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:37.06935+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":585} +{"time":"2025-07-28T19:02:37.072054+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:37.13402+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":64} +{"time":"2025-07-28T19:02:37.134053+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:37.135302+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:37.135994+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":1} +{"time":"2025-07-28T19:02:37.136006+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20003,"unique_prefixes":10956,"success":10956,"duration_ms":1977} +{"time":"2025-07-28T19:02:37.136028+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:37.140525+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":4} +{"time":"2025-07-28T19:02:37.140586+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:37.150508+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:37.218835+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":78} +{"time":"2025-07-28T19:02:37.218859+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:37.220529+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:37.226429+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"80.249.210.89","peer_asn":"31042"} +{"time":"2025-07-28T19:02:37.254041+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"80.81.194.92","peer_asn":"57111"} +2025/07/28 19:02:37 [akrotiri/bcbAMY2J2l-000052] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3753B in 866.554083ms +2025/07/28 19:02:37 [akrotiri/bcbAMY2J2l-000053] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56471 - 200 3753B in 868.745041ms +2025/07/28 19:02:37 [akrotiri/bcbAMY2J2l-000054] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3753B in 893.408917ms +2025/07/28 19:02:37 [akrotiri/bcbAMY2J2l-000055] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3753B in 864.966458ms +{"time":"2025-07-28T19:02:37.982921+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} +2025/07/28 19:02:37 [akrotiri/bcbAMY2J2l-000059] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56471 - 408 151B in 200.517834ms +{"time":"2025-07-28T19:02:37.982974+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} +2025/07/28 19:02:37 [akrotiri/bcbAMY2J2l-000057] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56485 - 408 151B in 680.6175ms +2025/07/28 19:02:38 [akrotiri/bcbAMY2J2l-000060] "GET http://127.0.0.1:8080/prefixlength/10 HTTP/1.1" from 127.0.0.1:56479 - 200 43620B in 32.8335ms +{"time":"2025-07-28T19:02:38.058434+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:02:38 [akrotiri/bcbAMY2J2l-000056] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3759B in 885.075333ms +2025/07/28 19:02:38 [akrotiri/bcbAMY2J2l-000061] "GET http://127.0.0.1:8080/favicon.ico HTTP/1.1" from 127.0.0.1:56479 - 404 19B in 30.875µs +2025/07/28 19:02:38 [akrotiri/bcbAMY2J2l-000058] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3759B in 770.966625ms +{"time":"2025-07-28T19:02:38.86406+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1645} +{"time":"2025-07-28T19:02:38.864068+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:38.864077+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +2025/07/28 19:02:38 [akrotiri/bcbAMY2J2l-000062] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3759B in 644.646208ms +{"time":"2025-07-28T19:02:38.98475+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":120} +{"time":"2025-07-28T19:02:38.984756+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:38.986031+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:38.987016+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +{"time":"2025-07-28T19:02:38.987025+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:38.992617+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":5} +{"time":"2025-07-28T19:02:38.992633+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20140,"unique_prefixes":11503,"success":11503,"duration_ms":1853} +{"time":"2025-07-28T19:02:38.992644+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:39.00949+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:39.051304+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":58} +{"time":"2025-07-28T19:02:39.051318+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:39.052429+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:02:39 [akrotiri/bcbAMY2J2l-000063] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3756B in 641.161292ms +{"time":"2025-07-28T19:02:39.627302+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:02:39 [akrotiri/bcbAMY2J2l-000064] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3759B in 639.733917ms +{"time":"2025-07-28T19:02:40.21811+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:40.218102+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1166} +{"time":"2025-07-28T19:02:40.218174+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:40.325929+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":107} +{"time":"2025-07-28T19:02:40.325967+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:40.327283+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:40.32846+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +{"time":"2025-07-28T19:02:40.328501+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:40.334361+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":5} +{"time":"2025-07-28T19:02:40.334372+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":11904,"success":11904,"duration_ms":1339} +{"time":"2025-07-28T19:02:40.334376+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:40.344001+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:40.376469+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":42} +{"time":"2025-07-28T19:02:40.3765+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:40.377726+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:02:40 [akrotiri/bcbAMY2J2l-000065] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3754B in 629.462333ms +2025/07/28 19:02:40 [akrotiri/bcbAMY2J2l-000066] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3756B in 629.143791ms +{"time":"2025-07-28T19:02:41.106013+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:02:41 [akrotiri/bcbAMY2J2l-000067] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3759B in 613.680625ms +{"time":"2025-07-28T19:02:41.410759+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:41.410757+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1034} +{"time":"2025-07-28T19:02:41.410796+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:41.509+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":98} +{"time":"2025-07-28T19:02:41.509034+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:41.510203+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:41.512651+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:02:41.512735+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:41.515508+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":2} +{"time":"2025-07-28T19:02:41.515518+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":10210,"success":10210,"duration_ms":1179} +{"time":"2025-07-28T19:02:41.515548+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:41.556039+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":40} +{"time":"2025-07-28T19:02:41.557111+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:41.557117+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:41.588427+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":31} +{"time":"2025-07-28T19:02:41.782955+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:41.782967+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:02:41 [akrotiri/bcbAMY2J2l-000068] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3750B in 629.3755ms +{"time":"2025-07-28T19:02:42.152099+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:02:42 [akrotiri/bcbAMY2J2l-000069] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3752B in 610.979875ms +{"time":"2025-07-28T19:02:42.563905+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:42.563902+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":780} +{"time":"2025-07-28T19:02:42.563944+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:42.583609+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":19} +{"time":"2025-07-28T19:02:42.583621+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:42.586086+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":2} +{"time":"2025-07-28T19:02:42.5861+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":7580,"success":7580,"duration_ms":808} +{"time":"2025-07-28T19:02:42.620373+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:7f8::7942:0:1","peer_asn":"31042"} +2025/07/28 19:02:42 [akrotiri/bcbAMY2J2l-000070] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3748B in 585.280667ms +{"time":"2025-07-28T19:02:43.342385+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:43.342402+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:02:43 [akrotiri/bcbAMY2J2l-000071] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3752B in 577.137375ms +{"time":"2025-07-28T19:02:43.439397+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":96} +{"time":"2025-07-28T19:02:43.606434+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"2602:fa91:0:cccc::20","peer_asn":"53427"} +2025/07/28 19:02:43 [akrotiri/bcbAMY2J2l-000072] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3753B in 583.286375ms +{"time":"2025-07-28T19:02:43.945339+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:43.945354+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:43.961502+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:44.085895+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"186.211.128.34","peer_asn":"14840"} +{"time":"2025-07-28T19:02:44.090304+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"186.211.128.34","peer_asn":"14840"} +2025/07/28 19:02:44 [akrotiri/bcbAMY2J2l-000073] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3759B in 605.523291ms +{"time":"2025-07-28T19:02:44.555478+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:44.748967+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":20001049084,"total_messages":107520,"total_bytes":78096916,"total_mb":"74.48","messages_per_sec":"1421.17","bits_per_sec":"8262688","mbps":"8.26","total_dropped":0} +{"time":"2025-07-28T19:02:44.748987+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":1618,"queue_cap":100000,"processed":104947,"dropped":0,"avg_time":96549,"min_time":0,"max_time":1765277625} +{"time":"2025-07-28T19:02:44.748993+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeerHandler","index":1,"queue_len":4542,"queue_cap":100000,"processed":102023,"dropped":0,"avg_time":61932,"min_time":0,"max_time":1250981541} +{"time":"2025-07-28T19:02:44.748997+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":4712,"queue_cap":100000,"processed":101853,"dropped":0,"avg_time":141645,"min_time":0,"max_time":1977099625} +{"time":"2025-07-28T19:02:44.749001+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeeringHandler","index":3,"queue_len":0,"queue_cap":100000,"processed":106566,"dropped":0,"avg_time":1753,"min_time":0,"max_time":16413542} +2025/07/28 19:02:44 [akrotiri/bcbAMY2J2l-000074] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3762B in 624.077ms +{"time":"2025-07-28T19:02:45.161532+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1216} +{"time":"2025-07-28T19:02:45.161557+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:45.161534+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:45.232687+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":71} +{"time":"2025-07-28T19:02:45.2327+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:45.26339+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":30} +{"time":"2025-07-28T19:02:45.263403+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:45.273627+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":10} +{"time":"2025-07-28T19:02:45.273644+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20409,"unique_prefixes":11074,"success":11074,"duration_ms":1335} +2025/07/28 19:02:45 [akrotiri/bcbAMY2J2l-000075] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3753B in 597.487166ms +{"time":"2025-07-28T19:02:45.625144+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:45.625156+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:45.647922+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":22} +2025/07/28 19:02:45 [akrotiri/bcbAMY2J2l-000076] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3753B in 582.097917ms +{"time":"2025-07-28T19:02:45.952725+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:45.952736+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:45.957837+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":5} +{"time":"2025-07-28T19:02:46.296137+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:46.29615+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:02:46 [akrotiri/bcbAMY2J2l-000077] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3756B in 573.119875ms +{"time":"2025-07-28T19:02:46.512354+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:02:46 [akrotiri/bcbAMY2J2l-000078] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3759B in 602.830084ms +{"time":"2025-07-28T19:02:46.908499+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:46.908495+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":612} +{"time":"2025-07-28T19:02:46.908555+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:46.986188+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":77} +{"time":"2025-07-28T19:02:46.986195+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:46.988848+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":2} +{"time":"2025-07-28T19:02:46.988858+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20001,"unique_prefixes":5642,"success":5642,"duration_ms":697} +{"time":"2025-07-28T19:02:47.260092+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:47.260105+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:47.290276+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":30} +2025/07/28 19:02:47 [akrotiri/bcbAMY2J2l-000079] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3753B in 575.5125ms +{"time":"2025-07-28T19:02:47.574584+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:47.574596+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:47.838146+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:12f8::221:238","peer_asn":"262317"} +2025/07/28 19:02:47 [akrotiri/bcbAMY2J2l-000080] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3757B in 641.100292ms +{"time":"2025-07-28T19:02:48.000572+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:02:48 [akrotiri/bcbAMY2J2l-000081] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3759B in 619.487291ms +{"time":"2025-07-28T19:02:48.486655+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:48.486649+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":912} +{"time":"2025-07-28T19:02:48.486686+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:48.48976+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:02:48.489767+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:48.493887+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":4} +{"time":"2025-07-28T19:02:48.4939+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20002,"unique_prefixes":6962,"success":6962,"duration_ms":924} +{"time":"2025-07-28T19:02:48.5874+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:48.587413+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:48.613861+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":26} +{"time":"2025-07-28T19:02:48.800656+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"102.67.56.1","peer_asn":"328474"} +2025/07/28 19:02:48 [akrotiri/bcbAMY2J2l-000082] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3753B in 578.494917ms +{"time":"2025-07-28T19:02:49.362879+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:49.362894+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:02:49 [akrotiri/bcbAMY2J2l-000083] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3755B in 562.909958ms +{"time":"2025-07-28T19:02:49.859645+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:02:49 [akrotiri/bcbAMY2J2l-000084] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3756B in 629.601291ms +{"time":"2025-07-28T19:02:50.044961+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":682} +{"time":"2025-07-28T19:02:50.044978+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:50.044966+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:50.074426+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":29} +{"time":"2025-07-28T19:02:50.074437+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:50.076872+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":2} +{"time":"2025-07-28T19:02:50.076883+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20005,"unique_prefixes":5966,"success":5966,"duration_ms":718} +{"time":"2025-07-28T19:02:50.162392+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:b18:10::3","peer_asn":"47787"} +{"time":"2025-07-28T19:02:50.337793+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:50.337807+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:50.395343+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":57} +2025/07/28 19:02:50 [akrotiri/bcbAMY2J2l-000085] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3753B in 599.749958ms +2025/07/28 19:02:50 [akrotiri/bcbAMY2J2l-000086] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3752B in 572.223375ms +{"time":"2025-07-28T19:02:50.916398+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:50.916411+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:50.950378+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":33} +{"time":"2025-07-28T19:02:51.038036+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"2400:c3e0::2","peer_asn":"142271"} +{"time":"2025-07-28T19:02:51.070806+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:51.070818+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:02:51 [akrotiri/bcbAMY2J2l-000087] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3755B in 618.579583ms +{"time":"2025-07-28T19:02:51.806679+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":735} +{"time":"2025-07-28T19:02:51.806699+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:51.806703+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:51.927451+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":120} +{"time":"2025-07-28T19:02:51.927469+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20003,"unique_prefixes":6146,"success":6146,"duration_ms":861} +{"time":"2025-07-28T19:02:52.105906+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:52.105922+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:52.12516+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":19} +{"time":"2025-07-28T19:02:52.268174+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:52.268185+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:52.339547+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":71} +2025/07/28 19:02:52 [akrotiri/bcbAMY2J2l-000088] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3754B in 778.713292ms +2025/07/28 19:02:52 [akrotiri/bcbAMY2J2l-000089] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3754B in 593.400583ms +{"time":"2025-07-28T19:02:52.589667+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:52.58968+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:52.810398+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"103.200.113.1","peer_asn":"131477"} +{"time":"2025-07-28T19:02:52.920412+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:52.983493+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":393} +{"time":"2025-07-28T19:02:52.983513+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:52.983529+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:53.003406+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":19} +{"time":"2025-07-28T19:02:53.003415+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +2025/07/28 19:02:53 [akrotiri/bcbAMY2J2l-000090] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3756B in 676.582375ms +{"time":"2025-07-28T19:02:53.02113+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":17} +{"time":"2025-07-28T19:02:53.021149+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20004,"unique_prefixes":2637,"success":2637,"duration_ms":433} +{"time":"2025-07-28T19:02:53.407162+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:53.407177+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:02:53 [akrotiri/bcbAMY2J2l-000091] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3756B in 610.037917ms +{"time":"2025-07-28T19:02:53.545274+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:53.744915+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":337} +{"time":"2025-07-28T19:02:53.744928+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:53.744935+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:53.795518+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":50} +{"time":"2025-07-28T19:02:53.795526+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:53.806316+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":10} +{"time":"2025-07-28T19:02:53.80633+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20018,"unique_prefixes":1915,"success":1915,"duration_ms":401} +{"time":"2025-07-28T19:02:54.040556+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:54.040581+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:54.049662+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":9} +2025/07/28 19:02:54 [akrotiri/bcbAMY2J2l-000092] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3753B in 743.522583ms +2025/07/28 19:02:54 [akrotiri/bcbAMY2J2l-000093] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3754B in 589.917959ms +{"time":"2025-07-28T19:02:54.59284+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:54.592854+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:54.61793+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":25} +{"time":"2025-07-28T19:02:54.749021+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":30001019792,"total_messages":157696,"total_bytes":114469059,"total_mb":"109.17","messages_per_sec":"1917.28","bits_per_sec":"11108261","mbps":"11.11","total_dropped":0} +{"time":"2025-07-28T19:02:54.749049+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":0,"queue_cap":100000,"processed":156236,"dropped":0,"avg_time":77025,"min_time":0,"max_time":1765277625} +{"time":"2025-07-28T19:02:54.749075+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeerHandler","index":1,"queue_len":0,"queue_cap":100000,"processed":156236,"dropped":0,"avg_time":52714,"min_time":0,"max_time":1271702125} +{"time":"2025-07-28T19:02:54.749081+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":0,"queue_cap":100000,"processed":156236,"dropped":0,"avg_time":126781,"min_time":0,"max_time":1977099625} +{"time":"2025-07-28T19:02:54.749084+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeeringHandler","index":3,"queue_len":0,"queue_cap":100000,"processed":156236,"dropped":0,"avg_time":1606,"min_time":0,"max_time":16413542} +{"time":"2025-07-28T19:02:54.877379+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:54.8774+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:02:54 [akrotiri/bcbAMY2J2l-000094] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3756B in 611.856084ms +{"time":"2025-07-28T19:02:55.227184+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":349} +{"time":"2025-07-28T19:02:55.227202+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:55.227213+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:55.29293+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":65} +{"time":"2025-07-28T19:02:55.292952+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":2302,"success":2302,"duration_ms":419} +2025/07/28 19:02:55 [akrotiri/bcbAMY2J2l-000095] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3754B in 627.63875ms +{"time":"2025-07-28T19:02:55.585629+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:55.585642+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:55.616956+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":31} +2025/07/28 19:02:55 [akrotiri/bcbAMY2J2l-000096] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3754B in 582.998792ms +{"time":"2025-07-28T19:02:56.341725+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:56.341738+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:56.346585+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":4} +{"time":"2025-07-28T19:02:56.358336+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"198.32.160.113","peer_asn":"15547"} +{"time":"2025-07-28T19:02:56.398878+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:56.398895+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:02:56 [akrotiri/bcbAMY2J2l-000097] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3753B in 570.26875ms +{"time":"2025-07-28T19:02:56.776377+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":377} +{"time":"2025-07-28T19:02:56.776416+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:56.77642+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:56.779252+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":2} +{"time":"2025-07-28T19:02:56.779263+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":10958,"unique_prefixes":3254,"success":3254,"duration_ms":382} +2025/07/28 19:02:56 [akrotiri/bcbAMY2J2l-000098] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3753B in 584.795292ms +{"time":"2025-07-28T19:02:57.224254+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:57.224268+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:57.288401+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":64} +2025/07/28 19:02:57 [akrotiri/bcbAMY2J2l-000099] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3754B in 571.927125ms +2025/07/28 19:02:57 [akrotiri/bcbAMY2J2l-000100] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3752B in 553.747334ms +{"time":"2025-07-28T19:02:58.398933+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:02:58.398959+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:02:58 [akrotiri/bcbAMY2J2l-000101] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3752B in 558.551459ms +{"time":"2025-07-28T19:02:58.757956+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":358} +{"time":"2025-07-28T19:02:58.757973+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:58.757983+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:02:58.768632+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":10} +{"time":"2025-07-28T19:02:58.768643+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":12176,"unique_prefixes":3167,"success":3167,"duration_ms":372} +{"time":"2025-07-28T19:02:58.789237+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:58.789248+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:58.809398+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":20} +2025/07/28 19:02:58 [akrotiri/bcbAMY2J2l-000102] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3750B in 592.31375ms +{"time":"2025-07-28T19:02:59.017235+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:59.017249+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:02:59.055855+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":38} +2025/07/28 19:02:59 [akrotiri/bcbAMY2J2l-000103] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3752B in 569.103625ms +{"time":"2025-07-28T19:02:59.866706+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:59.866722+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:02:59.88632+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":19} +2025/07/28 19:02:59 [akrotiri/bcbAMY2J2l-000104] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3752B in 571.296792ms +{"time":"2025-07-28T19:03:00.397778+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:00.397794+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:00 [akrotiri/bcbAMY2J2l-000105] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3754B in 592.6375ms +{"time":"2025-07-28T19:03:00.722477+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":324} +{"time":"2025-07-28T19:03:00.722514+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:00.722518+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:00.727626+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":5} +{"time":"2025-07-28T19:03:00.727639+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":16621,"unique_prefixes":1858,"success":1858,"duration_ms":331} +2025/07/28 19:03:01 [akrotiri/bcbAMY2J2l-000106] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3752B in 631.193709ms +{"time":"2025-07-28T19:03:01.117324+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:01.117336+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:01.193537+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":76} +{"time":"2025-07-28T19:03:01.200488+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:01.200498+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:01.203783+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +2025/07/28 19:03:01 [akrotiri/bcbAMY2J2l-000107] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3752B in 592.918167ms +2025/07/28 19:03:01 [akrotiri/bcbAMY2J2l-000108] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3752B in 589.120375ms +{"time":"2025-07-28T19:03:02.330664+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:de8:4::1:8403:1","peer_asn":"18403"} +{"time":"2025-07-28T19:03:02.399394+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:02.399409+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:02 [akrotiri/bcbAMY2J2l-000109] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3754B in 646.576667ms +{"time":"2025-07-28T19:03:02.88709+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":487} +{"time":"2025-07-28T19:03:02.887107+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:02.887111+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:02.934089+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":46} +{"time":"2025-07-28T19:03:02.93411+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":10640,"unique_prefixes":3790,"success":3790,"duration_ms":537} +2025/07/28 19:03:03 [akrotiri/bcbAMY2J2l-000110] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3754B in 619.23125ms +2025/07/28 19:03:03 [akrotiri/bcbAMY2J2l-000112] "GET http://127.0.0.1:8080/status HTTP/1.1" from 127.0.0.1:56474 - 200 14334B in 2.010208ms +{"time":"2025-07-28T19:03:03.396086+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:03.396106+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:03.396196+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:03.399177+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:03:03.399192+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:03.426464+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":27} +2025/07/28 19:03:03 [akrotiri/bcbAMY2J2l-000111] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3754B in 634.457917ms +{"time":"2025-07-28T19:03:03.861884+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:43f8:6d0::60","peer_asn":"37468"} +{"time":"2025-07-28T19:03:04.002735+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:04.00283+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:04 [akrotiri/bcbAMY2J2l-000113] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3756B in 637.642875ms +2025/07/28 19:03:04 [akrotiri/bcbAMY2J2l-000114] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3757B in 644.818625ms +{"time":"2025-07-28T19:03:04.098019+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":95} +{"time":"2025-07-28T19:03:04.398055+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:04.39807+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:04.515898+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:04.526103+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:03:04 [akrotiri/bcbAMY2J2l-000115] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3763B in 679.764333ms +2025/07/28 19:03:04 [akrotiri/bcbAMY2J2l-000116] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3763B in 682.398791ms +{"time":"2025-07-28T19:03:04.699949+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":301} +{"time":"2025-07-28T19:03:04.699967+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:04.699971+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:04.704503+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:04.704524+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":4} +{"time":"2025-07-28T19:03:04.704556+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":13841,"unique_prefixes":3434,"success":3434,"duration_ms":309} +{"time":"2025-07-28T19:03:04.72272+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:04.722737+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":18} +{"time":"2025-07-28T19:03:04.725805+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:03:04.749154+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":40001064084,"total_messages":199680,"total_bytes":144230850,"total_mb":"137.55","messages_per_sec":"2255.36","bits_per_sec":"13020756","mbps":"13.02","total_dropped":0} +{"time":"2025-07-28T19:03:04.749191+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":0,"queue_cap":100000,"processed":197790,"dropped":0,"avg_time":63504,"min_time":0,"max_time":1765277625} +{"time":"2025-07-28T19:03:04.749202+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeerHandler","index":1,"queue_len":0,"queue_cap":100000,"processed":197790,"dropped":0,"avg_time":42943,"min_time":0,"max_time":1271702125} +{"time":"2025-07-28T19:03:04.74921+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":0,"queue_cap":100000,"processed":197790,"dropped":0,"avg_time":109366,"min_time":0,"max_time":1977099625} +{"time":"2025-07-28T19:03:04.749217+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeeringHandler","index":3,"queue_len":0,"queue_cap":100000,"processed":197790,"dropped":0,"avg_time":1544,"min_time":0,"max_time":16413542} +{"time":"2025-07-28T19:03:04.802862+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:04.802885+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:04.879742+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":76} +{"time":"2025-07-28T19:03:05.073898+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"193.107.13.3","peer_asn":"47787"} +2025/07/28 19:03:05 [akrotiri/bcbAMY2J2l-000118] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3754B in 688.1215ms +2025/07/28 19:03:05 [akrotiri/bcbAMY2J2l-000117] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3758B in 691.38025ms +{"time":"2025-07-28T19:03:05.2911+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:05.291122+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:05.37901+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:05.622334+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:03:05 [akrotiri/bcbAMY2J2l-000120] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3763B in 694.98575ms +2025/07/28 19:03:05 [akrotiri/bcbAMY2J2l-000119] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3763B in 707.044042ms +{"time":"2025-07-28T19:03:06.089982+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"196.60.8.60","peer_asn":"37468"} +2025/07/28 19:03:06 [akrotiri/bcbAMY2J2l-000122] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3764B in 726.157667ms +2025/07/28 19:03:06 [akrotiri/bcbAMY2J2l-000121] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3763B in 731.899542ms +{"time":"2025-07-28T19:03:06.397497+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1106} +{"time":"2025-07-28T19:03:06.397521+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:06.397528+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:06.402569+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:06.402589+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":5} +{"time":"2025-07-28T19:03:06.402597+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":9048,"success":9048,"duration_ms":1120} +{"time":"2025-07-28T19:03:06.561393+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:06.561449+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":158} +{"time":"2025-07-28T19:03:06.563148+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:06.564941+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:03:06.564987+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:06.645754+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":80} +{"time":"2025-07-28T19:03:06.646898+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:06.646905+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:06.65397+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:06 [akrotiri/bcbAMY2J2l-000123] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3757B in 740.697792ms +2025/07/28 19:03:06 [akrotiri/bcbAMY2J2l-000124] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3757B in 739.263167ms +{"time":"2025-07-28T19:03:06.757148+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:07.126738+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":479} +{"time":"2025-07-28T19:03:07.12677+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:07.270738+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:12f8::121","peer_asn":"42473"} +{"time":"2025-07-28T19:03:07.270757+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"2001:12f8::121","peer_asn":"42473"} +{"time":"2025-07-28T19:03:07.383052+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:07 [akrotiri/bcbAMY2J2l-000125] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3763B in 810.856959ms +2025/07/28 19:03:07 [akrotiri/bcbAMY2J2l-000126] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3763B in 823.445458ms +2025/07/28 19:03:07 [akrotiri/bcbAMY2J2l-000128] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3763B in 793.732834ms +2025/07/28 19:03:07 [akrotiri/bcbAMY2J2l-000127] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3763B in 794.234083ms +2025/07/28 19:03:08 [akrotiri/bcbAMY2J2l-000130] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56505 - 200 3763B in 742.989084ms +2025/07/28 19:03:08 [akrotiri/bcbAMY2J2l-000129] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3763B in 754.827958ms +{"time":"2025-07-28T19:03:08.221945+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1095} +{"time":"2025-07-28T19:03:08.221963+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:08.22195+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:08.224896+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +{"time":"2025-07-28T19:03:08.22498+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:08.287167+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":62} +{"time":"2025-07-28T19:03:08.287178+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:08.288391+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:08.357567+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:08.406647+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":119} +{"time":"2025-07-28T19:03:08.406665+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":10882,"success":10882,"duration_ms":1762} +{"time":"2025-07-28T19:03:08.406656+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:08.421971+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:08.504652+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":97} +{"time":"2025-07-28T19:03:08.504891+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:08.507945+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:03:08.508001+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:08 [akrotiri/bcbAMY2J2l-000132] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3756B in 704.008417ms +2025/07/28 19:03:08 [akrotiri/bcbAMY2J2l-000131] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3756B in 716.435875ms +{"time":"2025-07-28T19:03:08.987789+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:09 [akrotiri/bcbAMY2J2l-000133] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3758B in 704.404791ms +2025/07/28 19:03:09 [akrotiri/bcbAMY2J2l-000134] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3758B in 702.245959ms +{"time":"2025-07-28T19:03:09.604075+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1096} +{"time":"2025-07-28T19:03:09.604095+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:09.6041+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:09.608602+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:09.608614+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":4} +{"time":"2025-07-28T19:03:09.608649+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":12154,"success":12154,"duration_ms":1200} +2025/07/28 19:03:09 [akrotiri/bcbAMY2J2l-000135] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3757B in 670.306917ms +2025/07/28 19:03:09 [akrotiri/bcbAMY2J2l-000136] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3757B in 703.653584ms +{"time":"2025-07-28T19:03:09.653786+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":45} +{"time":"2025-07-28T19:03:09.963536+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:09.963551+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:09.977865+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:10 [akrotiri/bcbAMY2J2l-000137] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3758B in 641.316625ms +2025/07/28 19:03:10 [akrotiri/bcbAMY2J2l-000138] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56505 - 200 3759B in 647.657583ms +{"time":"2025-07-28T19:03:10.13978+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":176} +{"time":"2025-07-28T19:03:10.139785+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:10.158468+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:10.471707+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:10.541119+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"80.81.194.204","peer_asn":"48166"} +2025/07/28 19:03:10 [akrotiri/bcbAMY2J2l-000139] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3762B in 697.82225ms +2025/07/28 19:03:10 [akrotiri/bcbAMY2J2l-000140] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3762B in 697.509209ms +2025/07/28 19:03:11 [akrotiri/bcbAMY2J2l-000142] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3762B in 697.293541ms +2025/07/28 19:03:11 [akrotiri/bcbAMY2J2l-000141] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3762B in 706.84425ms +{"time":"2025-07-28T19:03:11.192505+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:11.192503+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1052} +{"time":"2025-07-28T19:03:11.192576+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:11.195691+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:03:11.195698+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:11.252224+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":56} +{"time":"2025-07-28T19:03:11.252238+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:11.253402+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:11.257278+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":5} +{"time":"2025-07-28T19:03:11.25729+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20003,"unique_prefixes":11668,"success":11668,"duration_ms":1293} +{"time":"2025-07-28T19:03:11.257291+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:11.266544+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:11.303621+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":46} +{"time":"2025-07-28T19:03:11.30363+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:11 [akrotiri/bcbAMY2J2l-000143] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3756B in 717.586209ms +2025/07/28 19:03:11 [akrotiri/bcbAMY2J2l-000144] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3756B in 730.533375ms +{"time":"2025-07-28T19:03:11.791438+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:03:12 [akrotiri/bcbAMY2J2l-000146] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3760B in 704.779833ms +2025/07/28 19:03:12 [akrotiri/bcbAMY2J2l-000145] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3760B in 709.835541ms +{"time":"2025-07-28T19:03:12.207564+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":903} +{"time":"2025-07-28T19:03:12.207581+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:12.207632+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:12.211641+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":4} +{"time":"2025-07-28T19:03:12.211668+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:12.214113+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":2} +{"time":"2025-07-28T19:03:12.214122+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20032,"unique_prefixes":8260,"success":8260,"duration_ms":955} +{"time":"2025-07-28T19:03:12.229801+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:12.229813+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:12.25112+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":21} +{"time":"2025-07-28T19:03:12.483722+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:12.483752+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:12 [akrotiri/bcbAMY2J2l-000148] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3757B in 676.448083ms +2025/07/28 19:03:12 [akrotiri/bcbAMY2J2l-000147] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3757B in 704.262625ms +{"time":"2025-07-28T19:03:12.745968+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:13.010666+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:13.030295+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":546} +{"time":"2025-07-28T19:03:13.030315+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:13.030327+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:13 [akrotiri/bcbAMY2J2l-000150] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56505 - 200 3762B in 682.698458ms +2025/07/28 19:03:13 [akrotiri/bcbAMY2J2l-000149] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3762B in 686.630042ms +{"time":"2025-07-28T19:03:13.15968+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":129} +{"time":"2025-07-28T19:03:13.159688+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:13.163205+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:03:13.163262+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:13.168728+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":5} +{"time":"2025-07-28T19:03:13.168739+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20006,"unique_prefixes":3554,"success":3554,"duration_ms":693} +{"time":"2025-07-28T19:03:13.21742+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:13.217432+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:13.511078+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:13 [akrotiri/bcbAMY2J2l-000152] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3759B in 676.150583ms +2025/07/28 19:03:13 [akrotiri/bcbAMY2J2l-000151] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3759B in 676.828208ms +{"time":"2025-07-28T19:03:13.916821+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":699} +{"time":"2025-07-28T19:03:13.916844+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:13.916835+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:13.962855+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":46} +{"time":"2025-07-28T19:03:13.962899+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:13.966241+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":3} +{"time":"2025-07-28T19:03:13.966255+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":6645,"success":6645,"duration_ms":753} +{"time":"2025-07-28T19:03:14.000034+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:14.000075+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:14.152436+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":152} +2025/07/28 19:03:14 [akrotiri/bcbAMY2J2l-000153] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3755B in 692.880917ms +2025/07/28 19:03:14 [akrotiri/bcbAMY2J2l-000154] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3753B in 698.998208ms +{"time":"2025-07-28T19:03:14.220935+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:14.220949+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:14.223399+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +{"time":"2025-07-28T19:03:14.250828+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:14.250841+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:14.538257+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:14 [akrotiri/bcbAMY2J2l-000155] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3758B in 691.904334ms +2025/07/28 19:03:14 [akrotiri/bcbAMY2J2l-000156] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3758B in 696.12075ms +{"time":"2025-07-28T19:03:14.749221+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":50001072209,"total_messages":270848,"total_bytes":197185731,"total_mb":"188.05","messages_per_sec":"2920.13","bits_per_sec":"17031567","mbps":"17.03","total_dropped":0} +{"time":"2025-07-28T19:03:14.749242+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":1194,"queue_cap":100000,"processed":267302,"dropped":0,"avg_time":68234,"min_time":0,"max_time":1765277625} +{"time":"2025-07-28T19:03:14.749247+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeerHandler","index":1,"queue_len":0,"queue_cap":100000,"processed":268497,"dropped":0,"avg_time":47249,"min_time":0,"max_time":1468181334} +{"time":"2025-07-28T19:03:14.749252+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":3712,"queue_cap":100000,"processed":264784,"dropped":0,"avg_time":111119,"min_time":0,"max_time":1977099625} +{"time":"2025-07-28T19:03:14.749262+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeeringHandler","index":3,"queue_len":0,"queue_cap":100000,"processed":268497,"dropped":0,"avg_time":1617,"min_time":0,"max_time":16413542} +2025/07/28 19:03:15 [akrotiri/bcbAMY2J2l-000157] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3759B in 706.010833ms +2025/07/28 19:03:15 [akrotiri/bcbAMY2J2l-000158] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3759B in 703.195875ms +{"time":"2025-07-28T19:03:15.202714+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":951} +{"time":"2025-07-28T19:03:15.202735+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:15.202718+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:15.234153+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:15.263538+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":60} +{"time":"2025-07-28T19:03:15.263544+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:15.264816+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:15.267594+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":4} +{"time":"2025-07-28T19:03:15.267608+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":9897,"success":9897,"duration_ms":1023} +{"time":"2025-07-28T19:03:15.267611+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:15.2695+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":1} +{"time":"2025-07-28T19:03:15.269513+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:15.27897+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:15.328484+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":58} +{"time":"2025-07-28T19:03:15.328568+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:15.418565+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:7f8:1::a503:1042:1","peer_asn":"31042"} +2025/07/28 19:03:15 [akrotiri/bcbAMY2J2l-000159] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3756B in 699.721791ms +2025/07/28 19:03:15 [akrotiri/bcbAMY2J2l-000160] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3756B in 712.03575ms +{"time":"2025-07-28T19:03:15.7435+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:16 [akrotiri/bcbAMY2J2l-000161] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56505 - 200 3760B in 714.685917ms +2025/07/28 19:03:16 [akrotiri/bcbAMY2J2l-000162] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3760B in 720.279208ms +{"time":"2025-07-28T19:03:16.391539+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:03:16 [akrotiri/bcbAMY2J2l-000164] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3763B in 706.427ms +2025/07/28 19:03:16 [akrotiri/bcbAMY2J2l-000163] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3763B in 726.934375ms +{"time":"2025-07-28T19:03:16.774019+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1445} +{"time":"2025-07-28T19:03:16.774038+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:16.774042+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:16.780958+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":6} +{"time":"2025-07-28T19:03:16.780971+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20020,"unique_prefixes":12797,"success":12797,"duration_ms":1512} +{"time":"2025-07-28T19:03:16.780956+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:16.795041+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:16.899333+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":118} +{"time":"2025-07-28T19:03:16.899341+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:16.900702+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:16.902196+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:16.902217+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +2025/07/28 19:03:17 [akrotiri/bcbAMY2J2l-000166] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3762B in 705.352541ms +2025/07/28 19:03:17 [akrotiri/bcbAMY2J2l-000165] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3764B in 705.963917ms +{"time":"2025-07-28T19:03:17.307663+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:03:17 [akrotiri/bcbAMY2J2l-000167] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3762B in 737.254292ms +2025/07/28 19:03:17 [akrotiri/bcbAMY2J2l-000168] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3762B in 755.955375ms +2025/07/28 19:03:18 [akrotiri/bcbAMY2J2l-000169] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3764B in 806.155041ms +2025/07/28 19:03:18 [akrotiri/bcbAMY2J2l-000170] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3764B in 811.224333ms +2025/07/28 19:03:18 [akrotiri/bcbAMY2J2l-000172] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3766B in 726.563167ms +2025/07/28 19:03:18 [akrotiri/bcbAMY2J2l-000171] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3766B in 746.455167ms +{"time":"2025-07-28T19:03:18.737947+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:18.737947+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1835} +{"time":"2025-07-28T19:03:18.737966+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:18.811118+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:18.811158+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":73} +{"time":"2025-07-28T19:03:18.812601+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:18.812765+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:18.812773+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":1} +{"time":"2025-07-28T19:03:18.814422+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:18.81445+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":1} +{"time":"2025-07-28T19:03:18.814473+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20576,"unique_prefixes":15964,"success":15964,"duration_ms":2032} +{"time":"2025-07-28T19:03:18.814711+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:18.828769+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:18.935194+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":120} +{"time":"2025-07-28T19:03:18.935205+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:18.936529+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:18.937932+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +{"time":"2025-07-28T19:03:18.93797+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:19 [akrotiri/bcbAMY2J2l-000173] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3760B in 734.461834ms +2025/07/28 19:03:19 [akrotiri/bcbAMY2J2l-000174] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3760B in 732.380083ms +{"time":"2025-07-28T19:03:19.378117+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:03:19 [akrotiri/bcbAMY2J2l-000176] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3764B in 716.922542ms +2025/07/28 19:03:19 [akrotiri/bcbAMY2J2l-000175] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3764B in 722.045834ms +2025/07/28 19:03:20 [akrotiri/bcbAMY2J2l-000177] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3764B in 716.207667ms +2025/07/28 19:03:20 [akrotiri/bcbAMY2J2l-000178] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3764B in 739.545709ms +{"time":"2025-07-28T19:03:20.329762+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1391} +{"time":"2025-07-28T19:03:20.329775+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:20.329782+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:20.428559+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:20.428555+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":98} +{"time":"2025-07-28T19:03:20.430107+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:20.430839+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +{"time":"2025-07-28T19:03:20.430868+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:20.431563+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":0} +{"time":"2025-07-28T19:03:20.431571+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20001,"unique_prefixes":16838,"success":16838,"duration_ms":1616} +{"time":"2025-07-28T19:03:20.431595+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:20.442249+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:20.544355+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:20.544352+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":112} +{"time":"2025-07-28T19:03:20.547411+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:20.58558+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:03:20 [akrotiri/bcbAMY2J2l-000180] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3764B in 728.843667ms +2025/07/28 19:03:20 [akrotiri/bcbAMY2J2l-000179] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3764B in 739.97125ms +{"time":"2025-07-28T19:03:20.824198+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"217.29.66.232","peer_asn":"54104"} +2025/07/28 19:03:21 [akrotiri/bcbAMY2J2l-000181] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3765B in 749.197083ms +2025/07/28 19:03:21 [akrotiri/bcbAMY2J2l-000182] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3765B in 789.464ms +2025/07/28 19:03:21 [akrotiri/bcbAMY2J2l-000183] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3766B in 716.026709ms +2025/07/28 19:03:21 [akrotiri/bcbAMY2J2l-000184] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3766B in 726.599833ms +{"time":"2025-07-28T19:03:22.078006+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:22.077999+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1533} +{"time":"2025-07-28T19:03:22.078053+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:22.15783+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":79} +{"time":"2025-07-28T19:03:22.159013+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:22.159019+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:22.254899+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:22.254911+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":95} +{"time":"2025-07-28T19:03:22.257681+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:22.258977+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:22.258979+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":4} +{"time":"2025-07-28T19:03:22.262516+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:22.263758+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:22.26377+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":4} +{"time":"2025-07-28T19:03:22.263787+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":12951,"success":12951,"duration_ms":1830} +{"time":"2025-07-28T19:03:22.302182+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:22.368789+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:22.368807+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":105} +{"time":"2025-07-28T19:03:22.370459+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:22.371903+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:22.371918+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:03:22.702856+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:22.70648+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"195.208.208.187","peer_asn":"9002"} +2025/07/28 19:03:22 [akrotiri/bcbAMY2J2l-000185] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3765B in 824.363583ms +2025/07/28 19:03:22 [akrotiri/bcbAMY2J2l-000186] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3765B in 825.453917ms +2025/07/28 19:03:22 [akrotiri/bcbAMY2J2l-000187] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3765B in 808.421667ms +2025/07/28 19:03:22 [akrotiri/bcbAMY2J2l-000188] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3765B in 812.040459ms +2025/07/28 19:03:23 [akrotiri/bcbAMY2J2l-000189] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56505 - 200 3764B in 756.78775ms +2025/07/28 19:03:23 [akrotiri/bcbAMY2J2l-000190] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3764B in 830.28525ms +{"time":"2025-07-28T19:03:23.396783+02:00","level":"DEBUG","msg":"System stats","source":"cli.go:40","func":"routewatch.logDebugStats","goroutines":37,"alloc_mb":145,"total_alloc_mb":1898,"sys_mb":186,"num_gc":55,"heap_alloc_mb":145,"heap_sys_mb":172,"heap_idle_mb":22,"heap_inuse_mb":150,"heap_released_mb":4,"stack_inuse_mb":3} +2025/07/28 19:03:23 [akrotiri/bcbAMY2J2l-000191] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3765B in 764.774791ms +2025/07/28 19:03:23 [akrotiri/bcbAMY2J2l-000192] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3765B in 766.214041ms +{"time":"2025-07-28T19:03:24.153804+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:24.153808+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1781} +{"time":"2025-07-28T19:03:24.153849+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +2025/07/28 19:03:24 [akrotiri/bcbAMY2J2l-000193] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3765B in 641.675459ms +2025/07/28 19:03:24 [akrotiri/bcbAMY2J2l-000194] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3765B in 715.892792ms +{"time":"2025-07-28T19:03:24.273775+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:24.273775+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":119} +{"time":"2025-07-28T19:03:24.275138+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:24.276347+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:24.276347+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +{"time":"2025-07-28T19:03:24.278687+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:24.279116+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:24.279137+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":2} +{"time":"2025-07-28T19:03:24.279147+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20255,"unique_prefixes":17438,"success":17438,"duration_ms":2013} +{"time":"2025-07-28T19:03:24.306352+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:24.311148+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"196.60.8.170","peer_asn":"327781"} +{"time":"2025-07-28T19:03:24.337504+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:24.337509+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":58} +{"time":"2025-07-28T19:03:24.338733+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:24.339211+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:24.339217+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":1} +{"time":"2025-07-28T19:03:24.748454+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":60000188500,"total_messages":361984,"total_bytes":262243035,"total_mb":"250.09","messages_per_sec":"3911.88","bits_per_sec":"22659031","mbps":"22.66","total_dropped":0} +{"time":"2025-07-28T19:03:24.748513+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":33031,"queue_cap":100000,"processed":326085,"dropped":0,"avg_time":84712,"min_time":0,"max_time":1911193750} +{"time":"2025-07-28T19:03:24.748526+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeerHandler","index":1,"queue_len":0,"queue_cap":100000,"processed":359117,"dropped":0,"avg_time":53893,"min_time":0,"max_time":1674970041} +{"time":"2025-07-28T19:03:24.748535+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":57916,"queue_cap":100000,"processed":301200,"dropped":0,"avg_time":130997,"min_time":0,"max_time":2032683667} +{"time":"2025-07-28T19:03:24.748543+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeeringHandler","index":3,"queue_len":0,"queue_cap":100000,"processed":359117,"dropped":0,"avg_time":1630,"min_time":0,"max_time":16413542} +2025/07/28 19:03:24 [akrotiri/bcbAMY2J2l-000196] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3762B in 891.846667ms +2025/07/28 19:03:24 [akrotiri/bcbAMY2J2l-000195] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3762B in 908.471041ms +2025/07/28 19:03:25 [akrotiri/bcbAMY2J2l-000197] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3762B in 838.785375ms +2025/07/28 19:03:25 [akrotiri/bcbAMY2J2l-000198] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3762B in 877.134334ms +2025/07/28 19:03:25 [akrotiri/bcbAMY2J2l-000200] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3762B in 790.21075ms +2025/07/28 19:03:25 [akrotiri/bcbAMY2J2l-000199] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3762B in 793.447ms +{"time":"2025-07-28T19:03:25.990496+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:25.990496+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1651} +{"time":"2025-07-28T19:03:25.990539+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:26.061783+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:26.140605+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":150} +{"time":"2025-07-28T19:03:26.140636+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:26.142029+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:26.147774+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":7} +{"time":"2025-07-28T19:03:26.147793+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":16481,"success":16481,"duration_ms":1867} +{"time":"2025-07-28T19:03:26.1478+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:26.156103+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:26.156092+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":8} +{"time":"2025-07-28T19:03:26.166189+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:26 [akrotiri/bcbAMY2J2l-000201] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3763B in 723.323625ms +{"time":"2025-07-28T19:03:26.29069+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:26.290691+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":134} +{"time":"2025-07-28T19:03:26.292888+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:26 [akrotiri/bcbAMY2J2l-000202] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3763B in 758.707458ms +2025/07/28 19:03:26 [akrotiri/bcbAMY2J2l-000203] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3763B in 742.356125ms +2025/07/28 19:03:26 [akrotiri/bcbAMY2J2l-000204] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3763B in 752.947084ms +{"time":"2025-07-28T19:03:26.89294+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"80.81.192.113","peer_asn":"35320"} +2025/07/28 19:03:27 [akrotiri/bcbAMY2J2l-000206] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3763B in 720.99375ms +2025/07/28 19:03:27 [akrotiri/bcbAMY2J2l-000205] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3763B in 724.929167ms +{"time":"2025-07-28T19:03:27.760444+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:27.760437+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1469} +{"time":"2025-07-28T19:03:27.760496+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +2025/07/28 19:03:27 [akrotiri/bcbAMY2J2l-000208] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3763B in 722.918708ms +2025/07/28 19:03:27 [akrotiri/bcbAMY2J2l-000207] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3763B in 724.387875ms +{"time":"2025-07-28T19:03:27.81841+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":57} +{"time":"2025-07-28T19:03:27.818423+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:27.819188+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":0} +{"time":"2025-07-28T19:03:27.819199+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20009,"unique_prefixes":16120,"success":16120,"duration_ms":1670} +{"time":"2025-07-28T19:03:27.819474+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:27.819483+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:27.833022+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:27.868356+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":48} +{"time":"2025-07-28T19:03:27.868364+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:27.869513+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:28.167522+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:03:28 [akrotiri/bcbAMY2J2l-000209] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3764B in 717.491584ms +2025/07/28 19:03:28 [akrotiri/bcbAMY2J2l-000210] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3764B in 718.77725ms +2025/07/28 19:03:28 [akrotiri/bcbAMY2J2l-000212] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3765B in 718.010083ms +2025/07/28 19:03:28 [akrotiri/bcbAMY2J2l-000211] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3765B in 728.664833ms +2025/07/28 19:03:29 [akrotiri/bcbAMY2J2l-000213] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3765B in 676.939458ms +2025/07/28 19:03:29 [akrotiri/bcbAMY2J2l-000214] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3765B in 711.958583ms +{"time":"2025-07-28T19:03:29.465968+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1597} +{"time":"2025-07-28T19:03:29.465988+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:29.465978+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:29.597681+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":131} +{"time":"2025-07-28T19:03:29.597745+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:29.599148+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:29.607738+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":10} +{"time":"2025-07-28T19:03:29.607761+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:29.614529+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":6} +{"time":"2025-07-28T19:03:29.614543+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20132,"unique_prefixes":15885,"success":15885,"duration_ms":1794} +{"time":"2025-07-28T19:03:29.614549+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:29.629774+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:29.744206+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":129} +{"time":"2025-07-28T19:03:29.744285+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:29.745479+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:29 [akrotiri/bcbAMY2J2l-000216] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3763B in 705.212792ms +2025/07/28 19:03:29 [akrotiri/bcbAMY2J2l-000215] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3763B in 707.486791ms +{"time":"2025-07-28T19:03:30.169828+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:03:30 [akrotiri/bcbAMY2J2l-000217] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3765B in 709.87975ms +2025/07/28 19:03:30 [akrotiri/bcbAMY2J2l-000218] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3766B in 823.092917ms +2025/07/28 19:03:30 [akrotiri/bcbAMY2J2l-000220] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3766B in 737.805208ms +2025/07/28 19:03:30 [akrotiri/bcbAMY2J2l-000219] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3766B in 747.893875ms +{"time":"2025-07-28T19:03:31.221066+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1476} +{"time":"2025-07-28T19:03:31.22109+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:31.221103+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +2025/07/28 19:03:31 [akrotiri/bcbAMY2J2l-000221] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3766B in 685.513084ms +2025/07/28 19:03:31 [akrotiri/bcbAMY2J2l-000222] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3766B in 709.042125ms +{"time":"2025-07-28T19:03:31.299308+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":78} +{"time":"2025-07-28T19:03:31.299319+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:31.30046+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:31.302946+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:03:31.302984+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:31.31586+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":12} +{"time":"2025-07-28T19:03:31.315876+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20003,"unique_prefixes":15625,"success":15625,"duration_ms":1699} +{"time":"2025-07-28T19:03:31.315898+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:31.33345+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:31.382022+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":66} +{"time":"2025-07-28T19:03:31.382031+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:31.383321+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:31 [akrotiri/bcbAMY2J2l-000223] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3762B in 718.86625ms +2025/07/28 19:03:31 [akrotiri/bcbAMY2J2l-000224] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3762B in 735.376541ms +2025/07/28 19:03:32 [akrotiri/bcbAMY2J2l-000225] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3762B in 746.942ms +2025/07/28 19:03:32 [akrotiri/bcbAMY2J2l-000226] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3762B in 746.290875ms +{"time":"2025-07-28T19:03:32.619784+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:03:32 [akrotiri/bcbAMY2J2l-000227] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3764B in 669.159875ms +2025/07/28 19:03:32 [akrotiri/bcbAMY2J2l-000228] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3764B in 750.0025ms +{"time":"2025-07-28T19:03:33.072974+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1690} +{"time":"2025-07-28T19:03:33.072993+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:33.072997+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:33.10579+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:33.105889+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":32} +{"time":"2025-07-28T19:03:33.105915+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":17466,"success":17466,"duration_ms":1788} +{"time":"2025-07-28T19:03:33.120749+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:33.210678+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:33.210755+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":104} +{"time":"2025-07-28T19:03:33.213189+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:33.222485+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:33.222486+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":11} +2025/07/28 19:03:33 [akrotiri/bcbAMY2J2l-000230] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3763B in 746.102625ms +2025/07/28 19:03:33 [akrotiri/bcbAMY2J2l-000229] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3763B in 763.189917ms +2025/07/28 19:03:33 [akrotiri/bcbAMY2J2l-000231] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3763B in 729.2355ms +2025/07/28 19:03:33 [akrotiri/bcbAMY2J2l-000232] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3763B in 811.854042ms +{"time":"2025-07-28T19:03:34.217848+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"80.81.194.190","peer_asn":"31042"} +{"time":"2025-07-28T19:03:34.22425+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"193.239.118.249","peer_asn":"41255"} +2025/07/28 19:03:34 [akrotiri/bcbAMY2J2l-000233] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3763B in 732.597625ms +2025/07/28 19:03:34 [akrotiri/bcbAMY2J2l-000234] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3763B in 734.555125ms +{"time":"2025-07-28T19:03:34.404033+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:34.404033+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1181} +{"time":"2025-07-28T19:03:34.404078+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:34.504933+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":100} +{"time":"2025-07-28T19:03:34.504959+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:34.506391+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:34.525778+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":20} +{"time":"2025-07-28T19:03:34.525794+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":10215,"success":10215,"duration_ms":1418} +{"time":"2025-07-28T19:03:34.525785+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:34.538234+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:34.553734+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":27} +{"time":"2025-07-28T19:03:34.553751+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:34.555086+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:34.683623+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"195.208.209.174","peer_asn":"25227"} +{"time":"2025-07-28T19:03:34.748571+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":70000070167,"total_messages":407040,"total_bytes":301163319,"total_mb":"287.21","messages_per_sec":"4098.25","bits_per_sec":"24422366","mbps":"24.42","total_dropped":0} +{"time":"2025-07-28T19:03:34.748608+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":24224,"queue_cap":100000,"processed":379466,"dropped":0,"avg_time":99709,"min_time":0,"max_time":1911193750} +{"time":"2025-07-28T19:03:34.748619+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeerHandler","index":1,"queue_len":0,"queue_cap":100000,"processed":403691,"dropped":0,"avg_time":56085,"min_time":0,"max_time":1674970041} +{"time":"2025-07-28T19:03:34.748628+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":54024,"queue_cap":100000,"processed":349666,"dropped":0,"avg_time":142135,"min_time":0,"max_time":2032683667} +{"time":"2025-07-28T19:03:34.748636+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeeringHandler","index":3,"queue_len":0,"queue_cap":100000,"processed":403691,"dropped":0,"avg_time":1631,"min_time":0,"max_time":16413542} +2025/07/28 19:03:34 [akrotiri/bcbAMY2J2l-000236] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3763B in 776.665459ms +{"time":"2025-07-28T19:03:34.883843+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:03:34 [akrotiri/bcbAMY2J2l-000235] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3765B in 851.148708ms +2025/07/28 19:03:35 [akrotiri/bcbAMY2J2l-000237] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3767B in 868.682291ms +2025/07/28 19:03:35 [akrotiri/bcbAMY2J2l-000238] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3767B in 889.302667ms +2025/07/28 19:03:35 [akrotiri/bcbAMY2J2l-000239] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3767B in 833.686916ms +2025/07/28 19:03:35 [akrotiri/bcbAMY2J2l-000240] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3767B in 883.597625ms +{"time":"2025-07-28T19:03:36.299686+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1745} +{"time":"2025-07-28T19:03:36.299706+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:36.299788+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:36.347565+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:36.347518+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":47} +{"time":"2025-07-28T19:03:36.349342+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:36.35424+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":6} +{"time":"2025-07-28T19:03:36.354546+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:36.371592+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":17} +{"time":"2025-07-28T19:03:36.371647+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20081,"unique_prefixes":13826,"success":13826,"duration_ms":1844} +{"time":"2025-07-28T19:03:36.371618+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:36.389618+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:36.409649+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":38} +{"time":"2025-07-28T19:03:36.409695+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:36.410898+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:36 [akrotiri/bcbAMY2J2l-000241] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3764B in 923.798917ms +2025/07/28 19:03:36 [akrotiri/bcbAMY2J2l-000242] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3764B in 900.344291ms +2025/07/28 19:03:36 [akrotiri/bcbAMY2J2l-000244] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3764B in 783.190916ms +2025/07/28 19:03:36 [akrotiri/bcbAMY2J2l-000243] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3764B in 824.293833ms +{"time":"2025-07-28T19:03:36.983921+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:03:37 [akrotiri/bcbAMY2J2l-000246] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3766B in 758.169417ms +2025/07/28 19:03:37 [akrotiri/bcbAMY2J2l-000245] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3766B in 854.635916ms +2025/07/28 19:03:37 [akrotiri/bcbAMY2J2l-000247] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3766B in 850.02925ms +2025/07/28 19:03:37 [akrotiri/bcbAMY2J2l-000248] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3766B in 830.384542ms +{"time":"2025-07-28T19:03:38.08341+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:7f8::8b0e:0:1","peer_asn":"35598"} +{"time":"2025-07-28T19:03:38.083443+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"2001:7f8::8b0e:0:1","peer_asn":"35598"} +2025/07/28 19:03:38 [akrotiri/bcbAMY2J2l-000249] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56505 - 200 3765B in 790.550625ms +2025/07/28 19:03:38 [akrotiri/bcbAMY2J2l-000250] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3765B in 798.842875ms +{"time":"2025-07-28T19:03:38.408507+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1998} +{"time":"2025-07-28T19:03:38.408527+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:38.408531+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:38.431667+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":23} +{"time":"2025-07-28T19:03:38.431672+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:38.433113+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:38.435336+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:03:38.435377+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:38.437502+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:38.442624+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":7} +{"time":"2025-07-28T19:03:38.442636+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20006,"unique_prefixes":16160,"success":16160,"duration_ms":2069} +{"time":"2025-07-28T19:03:38.442665+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:38.451634+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:38.463271+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":20} +{"time":"2025-07-28T19:03:38.463369+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:38.464599+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:38.466317+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +{"time":"2025-07-28T19:03:38.466362+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:38.719221+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:7f8:4::73ab:1","peer_asn":"29611"} +2025/07/28 19:03:38 [akrotiri/bcbAMY2J2l-000251] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 200 3761B in 790.43525ms +2025/07/28 19:03:38 [akrotiri/bcbAMY2J2l-000252] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3761B in 772.248417ms +{"time":"2025-07-28T19:03:38.978007+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:7f8:1::a503:5598:1","peer_asn":"35598"} +{"time":"2025-07-28T19:03:38.980527+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"2001:7f8:1::a503:5598:1","peer_asn":"35598"} +2025/07/28 19:03:39 [akrotiri/bcbAMY2J2l-000253] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 200 3762B in 828.083042ms +2025/07/28 19:03:39 [akrotiri/bcbAMY2J2l-000254] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3762B in 817.846625ms +{"time":"2025-07-28T19:03:39.442898+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:39.442898+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":976} +{"time":"2025-07-28T19:03:39.442969+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:39.470078+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":27} +{"time":"2025-07-28T19:03:39.47011+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:39.471238+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:39.474874+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":4} +{"time":"2025-07-28T19:03:39.474885+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":6133,"success":6133,"duration_ms":1030} +{"time":"2025-07-28T19:03:39.4749+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:39.477896+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:39.507499+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":32} +{"time":"2025-07-28T19:03:39.507537+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:39.509627+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:39.667534+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} +2025/07/28 19:03:39 [akrotiri/bcbAMY2J2l-000257] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56475 - 408 150B in 73.019334ms +{"time":"2025-07-28T19:03:39.667689+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} +2025/07/28 19:03:39 [akrotiri/bcbAMY2J2l-000255] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56479 - 408 151B in 577.020792ms +2025/07/28 19:03:39 [akrotiri/bcbAMY2J2l-000259] "GET http://127.0.0.1:8080/prefixlength/8 HTTP/1.1" from 127.0.0.1:56505 - 200 7494B in 5.945417ms +{"time":"2025-07-28T19:03:39.947104+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":439} +{"time":"2025-07-28T19:03:39.947124+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:39.947143+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:40 [akrotiri/bcbAMY2J2l-000256] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3762B in 894.142208ms +{"time":"2025-07-28T19:03:40.020175+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":73} +{"time":"2025-07-28T19:03:40.020221+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:40.021633+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:40.030305+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":10} +{"time":"2025-07-28T19:03:40.030323+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20432,"unique_prefixes":2656,"success":2656,"duration_ms":554} +{"time":"2025-07-28T19:03:40.030395+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:40.035263+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:40.073681+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":43} +{"time":"2025-07-28T19:03:40.073704+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:40.075055+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:40 [akrotiri/bcbAMY2J2l-000258] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3762B in 833.958791ms +{"time":"2025-07-28T19:03:40.464809+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":391} +{"time":"2025-07-28T19:03:40.464832+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:40.46482+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:40.549649+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":84} +{"time":"2025-07-28T19:03:40.549662+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:40.550927+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:40.55626+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":6} +{"time":"2025-07-28T19:03:40.556267+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:40.556272+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20046,"unique_prefixes":3129,"success":3129,"duration_ms":525} +{"time":"2025-07-28T19:03:40.558159+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:40.584217+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:40.607114+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":50} +{"time":"2025-07-28T19:03:40.607129+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:40.608267+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:40 [akrotiri/bcbAMY2J2l-000260] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3764B in 703.053666ms +{"time":"2025-07-28T19:03:40.84244+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":235} +{"time":"2025-07-28T19:03:40.842457+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:40.842444+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:40.845743+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:03:40.845754+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:40.875804+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":30} +{"time":"2025-07-28T19:03:40.87585+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:40.878382+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:40.883409+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":7} +{"time":"2025-07-28T19:03:40.883461+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20118,"unique_prefixes":1604,"success":1604,"duration_ms":326} +{"time":"2025-07-28T19:03:40.88348+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:40.88634+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:40.933364+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":49} +{"time":"2025-07-28T19:03:40.933375+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:41.165077+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"80.249.210.89","peer_asn":"31042"} +{"time":"2025-07-28T19:03:41.183888+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":250} +{"time":"2025-07-28T19:03:41.183906+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:41.18391+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:41.213651+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":29} +{"time":"2025-07-28T19:03:41.213686+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20158,"unique_prefixes":1646,"success":1646,"duration_ms":329} +{"time":"2025-07-28T19:03:41.216633+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:41.216646+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:41 [akrotiri/bcbAMY2J2l-000261] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56505 - 200 3755B in 720.547375ms +{"time":"2025-07-28T19:03:41.376769+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"80.81.194.92","peer_asn":"57111"} +{"time":"2025-07-28T19:03:41.934012+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:41.935805+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":719} +{"time":"2025-07-28T19:03:41.935815+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:41.935817+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:41.967097+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":31} +{"time":"2025-07-28T19:03:41.967107+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:41.976051+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":8} +{"time":"2025-07-28T19:03:41.976065+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20037,"unique_prefixes":1765,"success":1765,"duration_ms":761} +{"time":"2025-07-28T19:03:41.97805+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:41.978057+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:42.194461+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":216} +{"time":"2025-07-28T19:03:42.194481+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:42.194486+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:42.203589+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":9} +{"time":"2025-07-28T19:03:42.203604+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20055,"unique_prefixes":1502,"success":1502,"duration_ms":227} +{"time":"2025-07-28T19:03:42.205355+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:42.205364+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:42 [akrotiri/bcbAMY2J2l-000262] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3759B in 822.097875ms +{"time":"2025-07-28T19:03:42.400248+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":194} +{"time":"2025-07-28T19:03:42.400262+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:42.400267+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +2025/07/28 19:03:42 [akrotiri/bcbAMY2J2l-000263] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56505 - 200 3761B in 753.904208ms +{"time":"2025-07-28T19:03:42.40563+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":5} +{"time":"2025-07-28T19:03:42.405644+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20030,"unique_prefixes":1295,"success":1295,"duration_ms":201} +{"time":"2025-07-28T19:03:42.40753+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:42.407538+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:42.62017+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":212} +{"time":"2025-07-28T19:03:42.620189+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:42.620194+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:42.627265+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":7} +{"time":"2025-07-28T19:03:42.627279+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20038,"unique_prefixes":1426,"success":1426,"duration_ms":221} +{"time":"2025-07-28T19:03:42.629358+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:42.629367+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:42.745667+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:42.821403+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:42 [akrotiri/bcbAMY2J2l-000264] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3762B in 682.084041ms +{"time":"2025-07-28T19:03:42.880355+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":250} +{"time":"2025-07-28T19:03:42.880376+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:42.880362+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:42.883604+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:03:42.883622+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:42.921685+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":38} +{"time":"2025-07-28T19:03:42.921694+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:42.926182+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":4} +{"time":"2025-07-28T19:03:42.926194+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":1619,"success":1619,"duration_ms":298} +{"time":"2025-07-28T19:03:42.928557+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:42.928565+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:43.192006+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":263} +{"time":"2025-07-28T19:03:43.192025+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:43.19203+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:43.238536+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":46} +{"time":"2025-07-28T19:03:43.238556+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20008,"unique_prefixes":1868,"success":1868,"duration_ms":311} +{"time":"2025-07-28T19:03:43.241556+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:43.241565+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:43 [akrotiri/bcbAMY2J2l-000265] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3759B in 704.626ms +{"time":"2025-07-28T19:03:43.552967+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":311} +{"time":"2025-07-28T19:03:43.552983+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:43.552987+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:43.577914+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":24} +{"time":"2025-07-28T19:03:43.577928+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20108,"unique_prefixes":2265,"success":2265,"duration_ms":338} +{"time":"2025-07-28T19:03:43.581008+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:43.581018+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:43.645115+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:43 [akrotiri/bcbAMY2J2l-000266] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56505 - 200 3762B in 706.029208ms +{"time":"2025-07-28T19:03:43.943887+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":362} +{"time":"2025-07-28T19:03:43.943906+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:43.943891+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:44.074885+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":130} +{"time":"2025-07-28T19:03:44.074896+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:44.083241+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":8} +{"time":"2025-07-28T19:03:44.083256+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":1987,"success":1987,"duration_ms":504} +{"time":"2025-07-28T19:03:44.088523+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:44.088535+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:44 [akrotiri/bcbAMY2J2l-000267] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3759B in 738.049791ms +{"time":"2025-07-28T19:03:44.676677+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":588} +{"time":"2025-07-28T19:03:44.6767+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:44.676705+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:44.724908+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:44.728829+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":52} +{"time":"2025-07-28T19:03:44.728878+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20001,"unique_prefixes":4557,"success":4557,"duration_ms":644} +{"time":"2025-07-28T19:03:44.728856+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:44.734462+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":5} +{"time":"2025-07-28T19:03:44.735453+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:44.735463+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:44.748635+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":80000225334,"total_messages":458752,"total_bytes":342969875,"total_mb":"327.08","messages_per_sec":"4234.34","bits_per_sec":"25593257","mbps":"25.59","total_dropped":0} +{"time":"2025-07-28T19:03:44.748686+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":0,"queue_cap":100000,"processed":454918,"dropped":0,"avg_time":98438,"min_time":0,"max_time":2021237791} +{"time":"2025-07-28T19:03:44.748696+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeerHandler","index":1,"queue_len":0,"queue_cap":100000,"processed":454918,"dropped":0,"avg_time":57194,"min_time":0,"max_time":1674970041} +{"time":"2025-07-28T19:03:44.748705+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":44054,"queue_cap":100000,"processed":410863,"dropped":0,"avg_time":145788,"min_time":0,"max_time":2069192083} +{"time":"2025-07-28T19:03:44.748714+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeeringHandler","index":3,"queue_len":0,"queue_cap":100000,"processed":454918,"dropped":0,"avg_time":1640,"min_time":0,"max_time":16413542} +{"time":"2025-07-28T19:03:44.813594+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:44 [akrotiri/bcbAMY2J2l-000268] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56505 - 200 3761B in 694.943791ms +2025/07/28 19:03:45 [akrotiri/bcbAMY2J2l-000269] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3762B in 681.974875ms +{"time":"2025-07-28T19:03:45.327439+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":591} +{"time":"2025-07-28T19:03:45.327454+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:45.327445+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:45.35451+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":27} +{"time":"2025-07-28T19:03:45.354524+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:45.358957+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":4} +{"time":"2025-07-28T19:03:45.358969+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20002,"unique_prefixes":4195,"success":4195,"duration_ms":627} +{"time":"2025-07-28T19:03:45.366253+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:45.366261+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:45.656821+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:45.657155+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"2602:fa91:0:cccc::20","peer_asn":"53427"} +2025/07/28 19:03:45 [akrotiri/bcbAMY2J2l-000270] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56505 - 200 3761B in 639.735334ms +{"time":"2025-07-28T19:03:46.261849+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:03:46 [akrotiri/bcbAMY2J2l-000271] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3764B in 670.52175ms +{"time":"2025-07-28T19:03:46.346069+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:46.346074+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":979} +{"time":"2025-07-28T19:03:46.346108+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:46.404899+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":58} +{"time":"2025-07-28T19:03:46.404908+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:46.407775+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +{"time":"2025-07-28T19:03:46.407786+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:46.413579+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":5} +{"time":"2025-07-28T19:03:46.413589+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20002,"unique_prefixes":8295,"success":8295,"duration_ms":1053} +{"time":"2025-07-28T19:03:46.42377+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:46.423785+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:46.431634+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:7f8::7942:0:1","peer_asn":"31042"} +{"time":"2025-07-28T19:03:46.432193+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:46 [akrotiri/bcbAMY2J2l-000272] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56505 - 200 3762B in 686.914541ms +2025/07/28 19:03:47 [akrotiri/bcbAMY2J2l-000273] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 200 3762B in 637.450209ms +{"time":"2025-07-28T19:03:47.505146+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1081} +{"time":"2025-07-28T19:03:47.50516+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:47.505165+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:47.90044+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:48.142585+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":637} +{"time":"2025-07-28T19:03:48.142594+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:48.144935+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:48.145034+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} +2025/07/28 19:03:48 [akrotiri/bcbAMY2J2l-000274] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56505 - 408 17B in 1.0002725s +{"time":"2025-07-28T19:03:48.20833+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:48.208316+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":65} +{"time":"2025-07-28T19:03:48.208397+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20011,"unique_prefixes":12777,"success":12777,"duration_ms":1793} +{"time":"2025-07-28T19:03:48.213402+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":5} +{"time":"2025-07-28T19:03:48.213438+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:48.217852+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:48.237118+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"186.211.128.34","peer_asn":"14840"} +{"time":"2025-07-28T19:03:48.240473+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"186.211.128.34","peer_asn":"14840"} +{"time":"2025-07-28T19:03:48.257632+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":44} +{"time":"2025-07-28T19:03:48.257759+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:48.258813+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:48.652728+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} +2025/07/28 19:03:48 [akrotiri/bcbAMY2J2l-000275] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56474 - 408 17B in 1.000366625s +2025/07/28 19:03:48 [akrotiri/bcbAMY2J2l-000276] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3758B in 716.496375ms +2025/07/28 19:03:48 [akrotiri/bcbAMY2J2l-000277] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3758B in 728.893958ms +{"time":"2025-07-28T19:03:49.043744+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":785} +{"time":"2025-07-28T19:03:49.043761+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:49.04375+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:49.089444+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":45} +{"time":"2025-07-28T19:03:49.089457+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:49.099082+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":9} +{"time":"2025-07-28T19:03:49.099095+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":8096,"success":8096,"duration_ms":888} +{"time":"2025-07-28T19:03:49.105378+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:49.105387+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:49.247305+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:49 [akrotiri/bcbAMY2J2l-000278] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3760B in 879.794ms +2025/07/28 19:03:49 [akrotiri/bcbAMY2J2l-000279] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3760B in 894.611875ms +2025/07/28 19:03:49 [akrotiri/bcbAMY2J2l-000280] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3760B in 699.303291ms +{"time":"2025-07-28T19:03:49.933606+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:49.933606+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":828} +{"time":"2025-07-28T19:03:49.933636+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:49.966337+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":32} +{"time":"2025-07-28T19:03:49.966348+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:49.970396+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":4} +{"time":"2025-07-28T19:03:49.970408+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20001,"unique_prefixes":7708,"success":7708,"duration_ms":870} +{"time":"2025-07-28T19:03:49.976441+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:49.976449+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:50.188697+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:50.206172+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:50 [akrotiri/bcbAMY2J2l-000281] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3763B in 638.173125ms +{"time":"2025-07-28T19:03:50.60978+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"102.67.56.1","peer_asn":"328474"} +{"time":"2025-07-28T19:03:50.654285+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":677} +{"time":"2025-07-28T19:03:50.654305+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:50.65429+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:50.657555+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:03:50.65758+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:50.759632+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":102} +{"time":"2025-07-28T19:03:50.75966+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:50.764846+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":5} +{"time":"2025-07-28T19:03:50.764858+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":6672,"success":6672,"duration_ms":793} +{"time":"2025-07-28T19:03:50.770195+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:50.770204+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:50 [akrotiri/bcbAMY2J2l-000282] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3757B in 658.977375ms +{"time":"2025-07-28T19:03:51.171163+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:51.315209+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":544} +{"time":"2025-07-28T19:03:51.315228+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:51.315234+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:51 [akrotiri/bcbAMY2J2l-000283] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3759B in 669.75675ms +{"time":"2025-07-28T19:03:51.611962+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":296} +{"time":"2025-07-28T19:03:51.612001+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:51.669262+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":57} +{"time":"2025-07-28T19:03:51.669283+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20062,"unique_prefixes":5329,"success":5329,"duration_ms":903} +{"time":"2025-07-28T19:03:51.682568+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:51.682616+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:52.190854+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:52 [akrotiri/bcbAMY2J2l-000284] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3758B in 682.01975ms +2025/07/28 19:03:52 [akrotiri/bcbAMY2J2l-000285] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3758B in 681.733875ms +{"time":"2025-07-28T19:03:52.380381+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:52.67594+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:12f8::221:238","peer_asn":"262317"} +2025/07/28 19:03:52 [akrotiri/bcbAMY2J2l-000286] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3765B in 647.181209ms +{"time":"2025-07-28T19:03:53.275225+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1592} +{"time":"2025-07-28T19:03:53.275243+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:53.275265+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:53 [akrotiri/bcbAMY2J2l-000287] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3761B in 628.237334ms +{"time":"2025-07-28T19:03:53.396727+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":121} +{"time":"2025-07-28T19:03:53.396738+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:53.397898+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:53.400999+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":4} +{"time":"2025-07-28T19:03:53.401012+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:53.410128+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":9} +{"time":"2025-07-28T19:03:53.410141+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":10752,"success":10752,"duration_ms":1739} +{"time":"2025-07-28T19:03:53.410241+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:53.414854+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:53.448205+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":37} +{"time":"2025-07-28T19:03:53.448218+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:53 [akrotiri/bcbAMY2J2l-000288] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3755B in 622.536667ms +{"time":"2025-07-28T19:03:54.074921+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":626} +{"time":"2025-07-28T19:03:54.074939+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:54.074943+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:54.087506+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":12} +{"time":"2025-07-28T19:03:54.087524+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":3603,"success":3603,"duration_ms":676} +{"time":"2025-07-28T19:03:54.09574+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:54.095763+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:54 [akrotiri/bcbAMY2J2l-000289] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3755B in 650.547584ms +{"time":"2025-07-28T19:03:54.36058+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:54.588947+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:54.692764+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"2400:c3e0::2","peer_asn":"142271"} +{"time":"2025-07-28T19:03:54.748565+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":90000108542,"total_messages":510464,"total_bytes":380551940,"total_mb":"362.92","messages_per_sec":"4384.06","bits_per_sec":"26448220","mbps":"26.45","total_dropped":0} +{"time":"2025-07-28T19:03:54.748585+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":2983,"queue_cap":100000,"processed":503168,"dropped":0,"avg_time":102763,"min_time":0,"max_time":2021237791} +{"time":"2025-07-28T19:03:54.748589+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeerHandler","index":1,"queue_len":2071,"queue_cap":100000,"processed":504080,"dropped":0,"avg_time":55518,"min_time":0,"max_time":1674970041} +{"time":"2025-07-28T19:03:54.748593+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":26960,"queue_cap":100000,"processed":479191,"dropped":0,"avg_time":144520,"min_time":0,"max_time":2069192083} +{"time":"2025-07-28T19:03:54.748596+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeeringHandler","index":3,"queue_len":0,"queue_cap":100000,"processed":506152,"dropped":0,"avg_time":1632,"min_time":0,"max_time":16413542} +2025/07/28 19:03:54 [akrotiri/bcbAMY2J2l-000290] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3761B in 657.493208ms +{"time":"2025-07-28T19:03:55.069117+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:b18:10::3","peer_asn":"47787"} +{"time":"2025-07-28T19:03:55.241133+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1145} +{"time":"2025-07-28T19:03:55.241153+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:55.241157+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:55.289048+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:55.289082+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":47} +{"time":"2025-07-28T19:03:55.289103+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20011,"unique_prefixes":8392,"success":8392,"duration_ms":1200} +2025/07/28 19:03:55 [akrotiri/bcbAMY2J2l-000291] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3761B in 625.640708ms +{"time":"2025-07-28T19:03:55.303287+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:55.33324+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:55.333241+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":44} +{"time":"2025-07-28T19:03:55.334329+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:55.336508+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:03:55.336507+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:55 [akrotiri/bcbAMY2J2l-000292] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3758B in 616.689625ms +2025/07/28 19:03:56 [akrotiri/bcbAMY2J2l-000293] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3758B in 629.717083ms +{"time":"2025-07-28T19:03:56.522041+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:03:56 [akrotiri/bcbAMY2J2l-000294] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3761B in 635.24575ms +{"time":"2025-07-28T19:03:56.897414+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:56.897414+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1560} +{"time":"2025-07-28T19:03:56.897444+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:56.955987+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:56.95599+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":58} +{"time":"2025-07-28T19:03:56.957163+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:56.959034+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:56.959045+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:03:56.960784+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:56.960787+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":1} +{"time":"2025-07-28T19:03:56.960794+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20032,"unique_prefixes":11956,"success":11956,"duration_ms":1669} +{"time":"2025-07-28T19:03:56.97016+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:57.026017+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"103.200.113.1","peer_asn":"131477"} +{"time":"2025-07-28T19:03:57.062233+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":101} +{"time":"2025-07-28T19:03:57.062241+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:57.063555+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:57 [akrotiri/bcbAMY2J2l-000295] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3757B in 616.731792ms +2025/07/28 19:03:57 [akrotiri/bcbAMY2J2l-000296] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3759B in 615.923209ms +{"time":"2025-07-28T19:03:57.859542+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:03:58 [akrotiri/bcbAMY2J2l-000297] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3767B in 617.355875ms +{"time":"2025-07-28T19:03:58.55166+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1489} +{"time":"2025-07-28T19:03:58.551679+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:58.551665+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:58.648135+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":96} +{"time":"2025-07-28T19:03:58.648165+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:58.649329+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:58.652287+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":4} +{"time":"2025-07-28T19:03:58.652328+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:58.691165+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":38} +{"time":"2025-07-28T19:03:58.691177+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:58.691182+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":10782,"success":10782,"duration_ms":1729} +{"time":"2025-07-28T19:03:58.697894+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:58.735568+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":44} +{"time":"2025-07-28T19:03:58.735579+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:58.737188+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:03:58 [akrotiri/bcbAMY2J2l-000298] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3764B in 610.838542ms +{"time":"2025-07-28T19:03:59.36382+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:03:59 [akrotiri/bcbAMY2J2l-000299] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3766B in 701.97075ms +{"time":"2025-07-28T19:03:59.617024+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"198.32.160.113","peer_asn":"15547"} +{"time":"2025-07-28T19:03:59.862995+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1127} +{"time":"2025-07-28T19:03:59.863015+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:59.863019+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:03:59.923642+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:59.923661+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":60} +{"time":"2025-07-28T19:03:59.923671+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20003,"unique_prefixes":6711,"success":6711,"duration_ms":1231} +{"time":"2025-07-28T19:03:59.932037+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:03:59 [akrotiri/bcbAMY2J2l-000300] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3766B in 731.296667ms +{"time":"2025-07-28T19:03:59.959427+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:03:59.959443+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":35} +{"time":"2025-07-28T19:03:59.960667+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:03:59.96293+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:03:59.962949+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +2025/07/28 19:04:00 [akrotiri/bcbAMY2J2l-000301] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3764B in 722.952166ms +{"time":"2025-07-28T19:04:00.704526+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:04:01 [akrotiri/bcbAMY2J2l-000302] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3768B in 839.950917ms +{"time":"2025-07-28T19:04:01.42415+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:01.424197+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1461} +{"time":"2025-07-28T19:04:01.424212+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +2025/07/28 19:04:01 [akrotiri/bcbAMY2J2l-000303] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3768B in 727.229208ms +{"time":"2025-07-28T19:04:01.473387+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:01.473387+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":49} +{"time":"2025-07-28T19:04:01.474517+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:01.476731+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:04:01.476732+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:01.47992+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:01.479922+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":3} +{"time":"2025-07-28T19:04:01.479936+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20006,"unique_prefixes":7515,"success":7515,"duration_ms":1554} +{"time":"2025-07-28T19:04:01.489158+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:01.511084+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":31} +{"time":"2025-07-28T19:04:01.511191+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:01.513355+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:04:01 [akrotiri/bcbAMY2J2l-000304] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3764B in 759.409542ms +{"time":"2025-07-28T19:04:02.110759+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:04:02 [akrotiri/bcbAMY2J2l-000305] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3763B in 783.234209ms +{"time":"2025-07-28T19:04:03.010753+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1499} +{"time":"2025-07-28T19:04:03.010774+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:03.010779+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:04:03 [akrotiri/bcbAMY2J2l-000306] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3764B in 843.4925ms +{"time":"2025-07-28T19:04:03.061634+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":50} +{"time":"2025-07-28T19:04:03.06173+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:03.062925+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:03.067735+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":6} +{"time":"2025-07-28T19:04:03.067787+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:03.083302+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":15} +{"time":"2025-07-28T19:04:03.08331+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:03.08332+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20004,"unique_prefixes":6440,"success":6440,"duration_ms":1601} +{"time":"2025-07-28T19:04:03.090354+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:03.109793+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":26} +{"time":"2025-07-28T19:04:03.109799+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:03.1108+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:04:03 [akrotiri/bcbAMY2J2l-000307] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3760B in 813.393ms +2025/07/28 19:04:03 [akrotiri/bcbAMY2J2l-000308] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3761B in 681.963666ms +{"time":"2025-07-28T19:04:03.957478+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:04.126059+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:04.126055+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1016} +{"time":"2025-07-28T19:04:04.126087+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:04.208782+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":82} +{"time":"2025-07-28T19:04:04.208794+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:04.209799+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:04.211179+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +{"time":"2025-07-28T19:04:04.211199+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:04.235711+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":24} +{"time":"2025-07-28T19:04:04.235724+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:04.235727+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":3908,"success":3908,"duration_ms":1150} +{"time":"2025-07-28T19:04:04.241651+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:04.264699+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":28} +{"time":"2025-07-28T19:04:04.264712+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:04.265923+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:04:04 [akrotiri/bcbAMY2J2l-000309] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3759B in 650.239417ms +{"time":"2025-07-28T19:04:04.479978+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:de8:4::1:8403:1","peer_asn":"18403"} +{"time":"2025-07-28T19:04:04.610875+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:04.748583+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":100000024875,"total_messages":582267,"total_bytes":431387826,"total_mb":"411.40","messages_per_sec":"4659.92","bits_per_sec":"27730724","mbps":"27.73","total_dropped":0} +{"time":"2025-07-28T19:04:04.748618+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":17958,"queue_cap":100000,"processed":559531,"dropped":0,"avg_time":110107,"min_time":0,"max_time":2021237791} +{"time":"2025-07-28T19:04:04.748629+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeerHandler","index":1,"queue_len":3410,"queue_cap":100000,"processed":574080,"dropped":0,"avg_time":56718,"min_time":0,"max_time":1674970041} +{"time":"2025-07-28T19:04:04.748637+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":39092,"queue_cap":100000,"processed":538398,"dropped":0,"avg_time":147468,"min_time":0,"max_time":2069192083} +{"time":"2025-07-28T19:04:04.748644+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeeringHandler","index":3,"queue_len":1,"queue_cap":100000,"processed":577490,"dropped":0,"avg_time":1589,"min_time":0,"max_time":16413542} +2025/07/28 19:04:04 [akrotiri/bcbAMY2J2l-000310] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3763B in 650.0635ms +{"time":"2025-07-28T19:04:05.302216+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1037} +{"time":"2025-07-28T19:04:05.302237+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:05.302226+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:04:05 [akrotiri/bcbAMY2J2l-000311] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3764B in 668.345833ms +{"time":"2025-07-28T19:04:05.454227+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":151} +{"time":"2025-07-28T19:04:05.454305+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:05.457286+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:05.457802+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:04:05.457883+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:05.460351+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:05.466449+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":8} +{"time":"2025-07-28T19:04:05.466462+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20004,"unique_prefixes":5132,"success":5132,"duration_ms":1229} +{"time":"2025-07-28T19:04:05.466509+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:05.469904+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:05.51681+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":50} +{"time":"2025-07-28T19:04:05.516828+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:05.518251+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:05.518897+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +{"time":"2025-07-28T19:04:05.51896+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:04:05 [akrotiri/bcbAMY2J2l-000312] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3760B in 672.447375ms +{"time":"2025-07-28T19:04:06.159101+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":640} +{"time":"2025-07-28T19:04:06.15912+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:06.159106+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:06.270482+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:06.27563+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":116} +{"time":"2025-07-28T19:04:06.275675+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:06.276964+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:06.2887+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":13} +{"time":"2025-07-28T19:04:06.28872+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20263,"unique_prefixes":2221,"success":2221,"duration_ms":821} +{"time":"2025-07-28T19:04:06.288877+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:06.293938+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":5} +{"time":"2025-07-28T19:04:06.294068+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:06.298817+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:06.373272+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":79} +{"time":"2025-07-28T19:04:06.373296+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:06.374437+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:04:06 [akrotiri/bcbAMY2J2l-000313] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3760B in 659.345042ms +{"time":"2025-07-28T19:04:06.853866+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:06.893223+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:43f8:6d0::60","peer_asn":"37468"} +2025/07/28 19:04:06 [akrotiri/bcbAMY2J2l-000314] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3763B in 727.995208ms +{"time":"2025-07-28T19:04:07.133702+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"193.107.13.3","peer_asn":"47787"} +{"time":"2025-07-28T19:04:07.26271+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":889} +{"time":"2025-07-28T19:04:07.262728+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:07.262732+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:07.284139+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:07.284141+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":21} +{"time":"2025-07-28T19:04:07.284195+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":2865,"success":2865,"duration_ms":994} +{"time":"2025-07-28T19:04:07.290253+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:07.381839+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:07.381882+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":97} +{"time":"2025-07-28T19:04:07.383141+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:07.384585+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:07.384588+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +{"time":"2025-07-28T19:04:07.483659+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:04:07 [akrotiri/bcbAMY2J2l-000315] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3768B in 663.407125ms +2025/07/28 19:04:07 [akrotiri/bcbAMY2J2l-000316] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3768B in 641.906209ms +2025/07/28 19:04:08 [akrotiri/bcbAMY2J2l-000317] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3767B in 627.604292ms +{"time":"2025-07-28T19:04:08.379933+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:08.379935+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":995} +{"time":"2025-07-28T19:04:08.379992+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:08.434683+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:08.434685+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":54} +{"time":"2025-07-28T19:04:08.435993+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:08.436964+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:08.437133+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +{"time":"2025-07-28T19:04:08.440415+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:08.44042+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":3} +{"time":"2025-07-28T19:04:08.440428+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20001,"unique_prefixes":5764,"success":5764,"duration_ms":1155} +{"time":"2025-07-28T19:04:08.446957+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:08.450991+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:08.463482+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":23} +{"time":"2025-07-28T19:04:08.463491+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:08.46447+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:04:08 [akrotiri/bcbAMY2J2l-000318] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3767B in 629.274333ms +2025/07/28 19:04:09 [akrotiri/bcbAMY2J2l-000319] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3767B in 634.252417ms +{"time":"2025-07-28T19:04:09.70595+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:09.705945+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1242} +{"time":"2025-07-28T19:04:09.706004+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:09.707777+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":1} +{"time":"2025-07-28T19:04:09.707827+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:09.734911+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":27} +{"time":"2025-07-28T19:04:09.734927+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:09.735978+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:09.742302+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":7} +{"time":"2025-07-28T19:04:09.74231+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:09.742316+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20097,"unique_prefixes":6359,"success":6359,"duration_ms":1300} +{"time":"2025-07-28T19:04:09.748247+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:09.855179+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":112} +{"time":"2025-07-28T19:04:09.855187+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:09.856376+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:04:09 [akrotiri/bcbAMY2J2l-000320] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3764B in 640.05975ms +{"time":"2025-07-28T19:04:10.271871+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"196.60.8.60","peer_asn":"37468"} +{"time":"2025-07-28T19:04:10.294751+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:04:10 [akrotiri/bcbAMY2J2l-000321] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3767B in 632.009792ms +2025/07/28 19:04:10 [akrotiri/bcbAMY2J2l-000322] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3768B in 628.797541ms +{"time":"2025-07-28T19:04:10.991242+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1136} +{"time":"2025-07-28T19:04:10.991257+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:10.991259+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:11.050413+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":59} +{"time":"2025-07-28T19:04:11.050423+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:11.051505+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:11.052991+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +{"time":"2025-07-28T19:04:11.053001+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:11.054692+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:11.063409+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":10} +{"time":"2025-07-28T19:04:11.063423+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20001,"unique_prefixes":6626,"success":6626,"duration_ms":1320} +{"time":"2025-07-28T19:04:11.063426+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:11.068814+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:11.163495+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:11.1635+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":100} +{"time":"2025-07-28T19:04:11.164615+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:11.1666+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:04:11.166618+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:11.228061+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:04:11 [akrotiri/bcbAMY2J2l-000323] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3767B in 626.91575ms +2025/07/28 19:04:11 [akrotiri/bcbAMY2J2l-000324] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3767B in 620.470083ms +{"time":"2025-07-28T19:04:11.976991+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"2001:12f8::121","peer_asn":"42473"} +{"time":"2025-07-28T19:04:12.170628+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:12.170628+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1003} +{"time":"2025-07-28T19:04:12.170654+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:12.213853+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:12.213849+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":43} +{"time":"2025-07-28T19:04:12.214846+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:12.216029+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +{"time":"2025-07-28T19:04:12.216042+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:12.223065+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":7} +{"time":"2025-07-28T19:04:12.223077+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":5783,"success":5783,"duration_ms":1158} +{"time":"2025-07-28T19:04:12.223142+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:12.228453+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:12.321543+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":98} +{"time":"2025-07-28T19:04:12.321575+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:12.322627+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:04:12 [akrotiri/bcbAMY2J2l-000325] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3764B in 617.676917ms +{"time":"2025-07-28T19:04:12.834194+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:04:12 [akrotiri/bcbAMY2J2l-000326] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3766B in 627.059416ms +{"time":"2025-07-28T19:04:13.096098+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":774} +{"time":"2025-07-28T19:04:13.096109+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:13.096116+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:13.234476+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":138} +{"time":"2025-07-28T19:04:13.234556+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:13.235608+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:13.237728+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:04:13.237736+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:13.241851+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":4} +{"time":"2025-07-28T19:04:13.241859+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:13.241861+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20016,"unique_prefixes":4109,"success":4109,"duration_ms":1017} +{"time":"2025-07-28T19:04:13.245125+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:13.274406+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":32} +{"time":"2025-07-28T19:04:13.274417+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:13.275581+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:04:13 [akrotiri/bcbAMY2J2l-000327] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3763B in 617.206208ms +{"time":"2025-07-28T19:04:13.677946+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:04:13 [akrotiri/bcbAMY2J2l-000328] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3766B in 614.387125ms +{"time":"2025-07-28T19:04:13.957465+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":683} +{"time":"2025-07-28T19:04:13.957475+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:13.95748+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:14.001128+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":43} +{"time":"2025-07-28T19:04:14.001139+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:14.00226+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:14.003795+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +{"time":"2025-07-28T19:04:14.003809+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:14.012138+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":8} +{"time":"2025-07-28T19:04:14.012144+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:14.012151+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20063,"unique_prefixes":3054,"success":3054,"duration_ms":769} +{"time":"2025-07-28T19:04:14.014701+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:14.044241+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":32} +{"time":"2025-07-28T19:04:14.044255+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:14.045266+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:14.331204+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"80.81.194.204","peer_asn":"48166"} +2025/07/28 19:04:14 [akrotiri/bcbAMY2J2l-000329] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3764B in 644.501542ms +{"time":"2025-07-28T19:04:14.588563+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":544} +{"time":"2025-07-28T19:04:14.588582+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:14.588583+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:14.666599+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":78} +{"time":"2025-07-28T19:04:14.666612+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:14.667629+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:14.668552+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":1} +{"time":"2025-07-28T19:04:14.668564+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20041,"unique_prefixes":2086,"success":2086,"duration_ms":655} +{"time":"2025-07-28T19:04:14.668587+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:14.672511+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:14.712164+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":43} +{"time":"2025-07-28T19:04:14.712184+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:14.71307+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:14.748929+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":110000323959,"total_messages":689152,"total_bytes":513153344,"total_mb":"489.38","messages_per_sec":"5589.27","bits_per_sec":"33537416","mbps":"33.54","total_dropped":0} +{"time":"2025-07-28T19:04:14.748944+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":36509,"queue_cap":100000,"processed":647388,"dropped":0,"avg_time":111293,"min_time":0,"max_time":2021237791} +{"time":"2025-07-28T19:04:14.748948+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeerHandler","index":1,"queue_len":0,"queue_cap":100000,"processed":683898,"dropped":0,"avg_time":56795,"min_time":0,"max_time":1674970041} +{"time":"2025-07-28T19:04:14.748951+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":90704,"queue_cap":100000,"processed":593193,"dropped":0,"avg_time":151427,"min_time":0,"max_time":2069192083} +{"time":"2025-07-28T19:04:14.748955+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeeringHandler","index":3,"queue_len":0,"queue_cap":100000,"processed":683898,"dropped":0,"avg_time":1563,"min_time":0,"max_time":16413542} +{"time":"2025-07-28T19:04:14.776303+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +2025/07/28 19:04:14 [akrotiri/bcbAMY2J2l-000330] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3767B in 708.94325ms +2025/07/28 19:04:15 [akrotiri/bcbAMY2J2l-000331] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3767B in 701.689875ms +{"time":"2025-07-28T19:04:15.705804+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":993} +{"time":"2025-07-28T19:04:15.705827+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:15.705815+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:15.752021+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":46} +{"time":"2025-07-28T19:04:15.752031+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:15.753024+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:15.753798+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":1} +{"time":"2025-07-28T19:04:15.753808+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:15.75603+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:15.761613+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":7} +{"time":"2025-07-28T19:04:15.761621+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:15.761626+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":3846,"success":3846,"duration_ms":1092} +{"time":"2025-07-28T19:04:15.765784+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:15.882533+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:15.882526+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":120} +{"time":"2025-07-28T19:04:15.883694+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:15.886305+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":3} +{"time":"2025-07-28T19:04:15.886334+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +2025/07/28 19:04:15 [akrotiri/bcbAMY2J2l-000332] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3768B in 653.604834ms +2025/07/28 19:04:16 [akrotiri/bcbAMY2J2l-000333] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3768B in 654.313375ms +{"time":"2025-07-28T19:04:16.473889+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:16.748026+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":861} +{"time":"2025-07-28T19:04:16.748042+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:16.748034+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:16.844711+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":96} +{"time":"2025-07-28T19:04:16.844794+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:16.846079+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:16.846947+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":2} +{"time":"2025-07-28T19:04:16.846956+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:16.851499+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":4} +{"time":"2025-07-28T19:04:16.851517+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20017,"unique_prefixes":4587,"success":4587,"duration_ms":1089} +{"time":"2025-07-28T19:04:16.851522+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:16.854719+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:16.887122+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":35} +{"time":"2025-07-28T19:04:16.887128+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:16.888211+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:04:16 [akrotiri/bcbAMY2J2l-000334] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3768B in 660.6095ms +2025/07/28 19:04:17 [akrotiri/bcbAMY2J2l-000335] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 200 3767B in 679.076041ms +{"time":"2025-07-28T19:04:17.582379+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:17.628721+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":741} +{"time":"2025-07-28T19:04:17.628739+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:17.628728+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:18.235858+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":607} +{"time":"2025-07-28T19:04:18.236239+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"} +{"time":"2025-07-28T19:04:18.239398+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:18.247327+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":11} +{"time":"2025-07-28T19:04:18.247592+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"DeleteLiveRouteBatch","caller":"database.go:261"} +{"time":"2025-07-28T19:04:18.267618+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":20} +{"time":"2025-07-28T19:04:18.267637+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20027,"unique_prefixes":2777,"success":2777,"duration_ms":1415} +{"time":"2025-07-28T19:04:18.267651+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +{"time":"2025-07-28T19:04:18.273861+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:18.341644+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":73} +{"time":"2025-07-28T19:04:18.341669+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"UpsertLiveRouteBatch","caller":"database.go:180"} +{"time":"2025-07-28T19:04:18.343118+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"GetOrCreateASNBatch","caller":"database.go:331"} +2025/07/28 19:04:18 [akrotiri/bcbAMY2J2l-000336] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3767B in 1.177157542s +{"time":"2025-07-28T19:04:18.790626+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"} +2025/07/28 19:04:18 [akrotiri/bcbAMY2J2l-000337] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56478 - 408 17B in 1.001120666s +{"time":"2025-07-28T19:04:18.85916+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"UpdatePeerBatch","caller":"database.go:639"}