[Fx] PROVIDE	fx.Lifecycle <= go.uber.org/fx.New.func1()
[Fx] PROVIDE	fx.Shutdowner <= go.uber.org/fx.(*App).shutdowner-fm()
[Fx] PROVIDE	fx.DotGraph <= go.uber.org/fx.(*App).dotGraph-fm()
[Fx] PROVIDE	*logger.Logger <= git.eeqj.de/sneak/routewatch/internal/logger.New()
[Fx] PROVIDE	*config.Config <= git.eeqj.de/sneak/routewatch/internal/config.New()
[Fx] PROVIDE	*metrics.Tracker <= git.eeqj.de/sneak/routewatch/internal/metrics.New()
[Fx] PROVIDE	database.Store <= fx.Annotate(git.eeqj.de/sneak/routewatch/internal/database.New(), fx.As([[database.Store]])
[Fx] PROVIDE	*streamer.Streamer <= git.eeqj.de/sneak/routewatch/internal/streamer.New()
[Fx] PROVIDE	*server.Server <= git.eeqj.de/sneak/routewatch/internal/server.New()
[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 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 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 5.25µs
[Fx] BEFORE RUN	provide: fx.Annotate(git.eeqj.de/sneak/routewatch/internal/database.New(), fx.As([[database.Store]])
{"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 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 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 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 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 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)
{"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-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"}
2025/07/28 19:04:19 [akrotiri/bcbAMY2J2l-000338] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3771B in 808.433583ms
{"time":"2025-07-28T19:04:19.528571+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1186}
{"time":"2025-07-28T19:04:19.528612+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:19.528618+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:04:19 [akrotiri/bcbAMY2J2l-000339] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3771B in 769.520375ms
2025/07/28 19:04:19 [akrotiri/bcbAMY2J2l-000340] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3771B in 768.949042ms
{"time":"2025-07-28T19:04:19.569295+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:19.569314+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":40}
{"time":"2025-07-28T19:04:19.569338+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":4095,"success":4095,"duration_ms":1300}
{"time":"2025-07-28T19:04:19.573491+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:19.643707+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:19.643707+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":74}
{"time":"2025-07-28T19:04:19.644702+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:19.646493+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:19.646495+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:19.680217+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:04:19 [akrotiri/bcbAMY2J2l-000341] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3767B in 661.094583ms
2025/07/28 19:04:20 [akrotiri/bcbAMY2J2l-000342] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3768B in 624.664292ms
{"time":"2025-07-28T19:04:20.509174+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":862}
{"time":"2025-07-28T19:04:20.509195+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:20.509228+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:20.538639+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:04:20.538664+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:20.539704+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:20.543786+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:04:20.543798+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:20.543801+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":3877,"success":3877,"duration_ms":973}
{"time":"2025-07-28T19:04:20.548015+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:20.559908+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":16}
{"time":"2025-07-28T19:04:20.559924+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:20.561056+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:20.58689+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:20 [akrotiri/bcbAMY2J2l-000343] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3770B in 626.530209ms
{"time":"2025-07-28T19:04:21.360256+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":800}
{"time":"2025-07-28T19:04:21.360274+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:21.36028+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:21.424763+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:21.424763+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":64}
{"time":"2025-07-28T19:04:21.424841+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20142,"unique_prefixes":3861,"success":3861,"duration_ms":880}
2025/07/28 19:04:21 [akrotiri/bcbAMY2J2l-000344] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3770B in 629.45525ms
{"time":"2025-07-28T19:04:21.429085+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:21.68877+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:21.68877+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":264}
{"time":"2025-07-28T19:04:21.690272+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:21.692708+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:21.692712+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:22 [akrotiri/bcbAMY2J2l-000345] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3768B in 627.203709ms
{"time":"2025-07-28T19:04:22.384055+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:22.406528+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:22.406576+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":713}
{"time":"2025-07-28T19:04:22.406598+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:22.473718+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:22.473725+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":67}
{"time":"2025-07-28T19:04:22.475103+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:22.477702+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:22.47771+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:22 [akrotiri/bcbAMY2J2l-000346] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3770B in 624.782125ms
{"time":"2025-07-28T19:04:22.491797+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:22.491802+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":14}
{"time":"2025-07-28T19:04:22.491814+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20159,"unique_prefixes":3659,"success":3659,"duration_ms":1066}
{"time":"2025-07-28T19:04:22.495843+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:22.512898+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:04:22.512912+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:22.514147+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:22 [akrotiri/bcbAMY2J2l-000347] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3770B in 630.096875ms
{"time":"2025-07-28T19:04:23.198815+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":685}
{"time":"2025-07-28T19:04:23.198834+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:23.198837+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:23.299669+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":100}
{"time":"2025-07-28T19:04:23.299688+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20038,"unique_prefixes":3385,"success":3385,"duration_ms":806}
{"time":"2025-07-28T19:04:23.299673+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:23.307283+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:23.322751+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:23.322814+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:23.324427+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:23.395673+02:00","level":"DEBUG","msg":"System stats","source":"cli.go:40","func":"routewatch.logDebugStats","goroutines":38,"alloc_mb":326,"total_alloc_mb":3964,"sys_mb":355,"num_gc":75,"heap_alloc_mb":326,"heap_sys_mb":337,"heap_idle_mb":4,"heap_inuse_mb":333,"heap_released_mb":3,"stack_inuse_mb":2}
2025/07/28 19:04:23 [akrotiri/bcbAMY2J2l-000348] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3768B in 707.649333ms
{"time":"2025-07-28T19:04:23.676489+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:23.75757+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
2025/07/28 19:04:24 [akrotiri/bcbAMY2J2l-000349] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3772B in 721.520083ms
2025/07/28 19:04:24 [akrotiri/bcbAMY2J2l-000350] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3772B in 657.475209ms
{"time":"2025-07-28T19:04:24.750125+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":120001373334,"total_messages":766976,"total_bytes":572125857,"total_mb":"545.62","messages_per_sec":"5992.12","bits_per_sec":"35581230","mbps":"35.58","total_dropped":43741}
{"time":"2025-07-28T19:04:24.750149+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":55402,"queue_cap":100000,"processed":705815,"dropped":0,"avg_time":114275,"min_time":0,"max_time":2021237791}
{"time":"2025-07-28T19:04:24.750155+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeerHandler","index":1,"queue_len":7137,"queue_cap":100000,"processed":754080,"dropped":0,"avg_time":57015,"min_time":0,"max_time":1674970041}
{"time":"2025-07-28T19:04:24.750159+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":100000,"queue_cap":100000,"processed":617476,"dropped":43741,"avg_time":159448,"min_time":0,"max_time":2069192083}
{"time":"2025-07-28T19:04:24.750162+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":761218,"dropped":0,"avg_time":1548,"min_time":0,"max_time":16413542}
{"time":"2025-07-28T19:04:24.770711+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:24.770703+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1447}
{"time":"2025-07-28T19:04:24.77077+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:24.793515+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"217.29.66.232","peer_asn":"54104"}
{"time":"2025-07-28T19:04:24.796625+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:04:24.796634+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:24.797506+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:24.798942+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:24.798951+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:24.799949+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:24.799957+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:24.79996+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:24.800834+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:24.800836+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:24.800843+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:24.809644+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:24.809663+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20056,"unique_prefixes":7527,"success":7527,"duration_ms":1508}
{"time":"2025-07-28T19:04:24.80967+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:24.812772+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:24.885069+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:24.907674+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:24.90768+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:24.908817+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:24.90984+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:24.909844+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":2}
{"time":"2025-07-28T19:04:24.909852+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
2025/07/28 19:04:24 [akrotiri/bcbAMY2J2l-000351] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3770B in 637.104583ms
{"time":"2025-07-28T19:04:24.977762+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:04:25 [akrotiri/bcbAMY2J2l-000352] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3771B in 642.562334ms
{"time":"2025-07-28T19:04:25.562209+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:25.562209+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":652}
{"time":"2025-07-28T19:04:25.562236+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:25.572354+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:25.572355+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:04:25.592575+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:25.592579+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:04:25.593257+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:25.593265+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:25.593272+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:25.593519+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:25.60323+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:04:25.603241+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20003,"unique_prefixes":3306,"success":3306,"duration_ms":792}
{"time":"2025-07-28T19:04:25.603254+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:25.603776+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:25.603783+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:25.603785+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:25.604433+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:25.604435+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:25.60445+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:25.608359+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:25.626018+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:04:25.626028+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:25.626205+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:25.626211+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:25.626214+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:25.626648+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:25.62665+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:25.626656+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:25.627061+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:25 [akrotiri/bcbAMY2J2l-000353] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3766B in 641.098375ms
{"time":"2025-07-28T19:04:26.14222+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:26 [akrotiri/bcbAMY2J2l-000354] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3769B in 650.62025ms
{"time":"2025-07-28T19:04:26.577058+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":950}
{"time":"2025-07-28T19:04:26.577071+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:26.577077+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:26.577651+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:26.577658+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:26.577662+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:26.578424+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:26.578434+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:26.578442+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:26.602114+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:26.60212+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:26.60335+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:26.604934+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:26.604937+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:26.611421+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:26.611421+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:04:26.611449+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20002,"unique_prefixes":4553,"success":4553,"duration_ms":1007}
{"time":"2025-07-28T19:04:26.611916+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:26.611918+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:26.611924+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:26.617466+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:26.640127+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:26.640135+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:26.640783+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:26.640791+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:26.640794+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:26.641261+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:26 [akrotiri/bcbAMY2J2l-000355] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3767B in 638.074208ms
2025/07/28 19:04:27 [akrotiri/bcbAMY2J2l-000356] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3768B in 622.919584ms
{"time":"2025-07-28T19:04:27.682761+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:27.68276+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1041}
{"time":"2025-07-28T19:04:27.682795+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:27.689203+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:27.734826+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:27.734825+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":52}
{"time":"2025-07-28T19:04:27.734849+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:27.780879+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:27.780886+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:27.782119+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:27.788198+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:27.788212+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":6437,"success":6437,"duration_ms":1175}
{"time":"2025-07-28T19:04:27.788206+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:27.791635+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:27.791646+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:27.79225+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:27.79226+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:27.792263+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:27.792615+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:27.792622+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:27.792627+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:27.793416+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:27.843391+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:27.843482+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:27.844756+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:27.85104+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":7}
{"time":"2025-07-28T19:04:27.851052+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:27.851055+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:27 [akrotiri/bcbAMY2J2l-000357] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3767B in 637.977917ms
2025/07/28 19:04:28 [akrotiri/bcbAMY2J2l-000358] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3767B in 662.654792ms
{"time":"2025-07-28T19:04:28.851629+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1000}
{"time":"2025-07-28T19:04:28.851654+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:28.851634+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:28.94179+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:04:28.959922+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":108}
{"time":"2025-07-28T19:04:28.959932+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:28.960949+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:28.962395+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":2}
{"time":"2025-07-28T19:04:28.962406+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:28.962409+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:28.963197+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:28.963219+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:28.963251+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:28.972082+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:28.972095+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":5264,"success":5264,"duration_ms":1182}
{"time":"2025-07-28T19:04:28.972082+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:28.977478+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:04:28 [akrotiri/bcbAMY2J2l-000359] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3767B in 635.925666ms
{"time":"2025-07-28T19:04:28.995124+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:28.995124+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:28.995669+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:28.995673+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:28.995681+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:28.996178+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:29.03842+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"80.81.192.113","peer_asn":"35320"}
{"time":"2025-07-28T19:04:29.311625+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:29 [akrotiri/bcbAMY2J2l-000360] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3769B in 641.688167ms
{"time":"2025-07-28T19:04:29.958109+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:29.958105+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":962}
{"time":"2025-07-28T19:04:29.958186+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:29.96583+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":7}
{"time":"2025-07-28T19:04:29.96584+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:29.965842+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
2025/07/28 19:04:30 [akrotiri/bcbAMY2J2l-000361] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3770B in 664.08975ms
{"time":"2025-07-28T19:04:30.089795+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":123}
{"time":"2025-07-28T19:04:30.089805+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:30.090954+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:30.093472+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:30.093501+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:30.106121+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:04:30.106133+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:30.106136+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":5984,"success":5984,"duration_ms":1133}
{"time":"2025-07-28T19:04:30.106684+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:30.106694+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:30.106697+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:30.107073+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:30.107093+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:30.107114+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:30.110508+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:30.144824+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:04:30.144838+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:30.145171+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:30.145179+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:30.145182+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:30.145479+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:30.145482+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:30.145488+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:30.145932+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:30 [akrotiri/bcbAMY2J2l-000362] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3767B in 642.691ms
2025/07/28 19:04:30 [akrotiri/bcbAMY2J2l-000363] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3767B in 615.148625ms
{"time":"2025-07-28T19:04:30.985175+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":839}
{"time":"2025-07-28T19:04:30.985195+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:30.985183+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:31.03981+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":54}
{"time":"2025-07-28T19:04:31.039829+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:31.039834+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:31.040937+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:31.040943+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":1}
{"time":"2025-07-28T19:04:31.040951+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:31.069889+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:31.069907+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:31.071249+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:31.075084+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:31.075086+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:04:31.075172+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20001,"unique_prefixes":3935,"success":3935,"duration_ms":968}
{"time":"2025-07-28T19:04:31.075579+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:31.075613+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:31.075633+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:31.085932+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:31.125226+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:31.125233+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:31.125844+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:31.125854+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:31.125857+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:31.126233+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:31.126234+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:31.126244+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:31.126363+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:31.228805+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:31 [akrotiri/bcbAMY2J2l-000364] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3770B in 647.375333ms
2025/07/28 19:04:31 [akrotiri/bcbAMY2J2l-000365] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3771B in 626.473958ms
{"time":"2025-07-28T19:04:32.33968+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1213}
{"time":"2025-07-28T19:04:32.339692+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:32.339699+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:32.342186+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":2}
{"time":"2025-07-28T19:04:32.342195+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:32.342197+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:32.500217+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:32.500214+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":157}
{"time":"2025-07-28T19:04:32.503086+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:32.507257+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":7}
{"time":"2025-07-28T19:04:32.507324+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:04:32 [akrotiri/bcbAMY2J2l-000366] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3768B in 648.011833ms
{"time":"2025-07-28T19:04:32.516911+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:04:32.516927+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":7454,"success":7454,"duration_ms":1440}
{"time":"2025-07-28T19:04:32.516968+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:32.517545+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:32.517555+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:32.517559+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:32.518368+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:32.518616+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:32.518637+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:32.525359+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:32.570419+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":52}
{"time":"2025-07-28T19:04:32.570427+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:32.570954+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:32.570962+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:32.570963+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:32.571569+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:33 [akrotiri/bcbAMY2J2l-000367] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3767B in 640.2715ms
{"time":"2025-07-28T19:04:33.049114+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:33 [akrotiri/bcbAMY2J2l-000368] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3772B in 647.94025ms
{"time":"2025-07-28T19:04:33.541297+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:33.541297+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":970}
{"time":"2025-07-28T19:04:33.541329+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:33.544349+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":3}
{"time":"2025-07-28T19:04:33.544358+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:33.544359+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:33.664424+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:33.66443+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:33.66603+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:33.668585+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:04:33.668612+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:33.677265+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:33.677278+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20021,"unique_prefixes":4451,"success":4451,"duration_ms":1158}
{"time":"2025-07-28T19:04:33.677285+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:33.677933+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:33.677943+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:33.677946+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:33.678821+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:33.678903+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:33.67892+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:33.683806+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:33.800981+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:33.80098+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":122}
{"time":"2025-07-28T19:04:33.802157+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:33.802202+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":1}
{"time":"2025-07-28T19:04:33.802209+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:33.802211+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
2025/07/28 19:04:34 [akrotiri/bcbAMY2J2l-000369] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3768B in 652.733625ms
2025/07/28 19:04:34 [akrotiri/bcbAMY2J2l-000370] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3769B in 620.550333ms
{"time":"2025-07-28T19:04:34.739477+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:34.739474+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":937}
{"time":"2025-07-28T19:04:34.739505+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:34.748904+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":130000143709,"total_messages":828416,"total_bytes":622574328,"total_mb":"593.73","messages_per_sec":"6087.49","bits_per_sec":"37088086","mbps":"37.09","total_dropped":59849}
{"time":"2025-07-28T19:04:34.748919+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":29652,"queue_cap":100000,"processed":792568,"dropped":0,"avg_time":114979,"min_time":0,"max_time":2021237791}
{"time":"2025-07-28T19:04:34.748924+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":822221,"dropped":0,"avg_time":58459,"min_time":0,"max_time":1674970041}
{"time":"2025-07-28T19:04:34.748928+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":100000,"queue_cap":100000,"processed":662371,"dropped":59849,"avg_time":164303,"min_time":0,"max_time":2069192083}
{"time":"2025-07-28T19:04:34.748931+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":822221,"dropped":0,"avg_time":1528,"min_time":0,"max_time":16413542}
{"time":"2025-07-28T19:04:34.836302+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:34.83631+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:34.837404+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":1}
{"time":"2025-07-28T19:04:34.837413+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:34.837416+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:34.837614+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:34.837856+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:34.837863+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:34.837879+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:34.844942+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:34.844942+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:34.844961+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20002,"unique_prefixes":4152,"success":4152,"duration_ms":1166}
{"time":"2025-07-28T19:04:34.848944+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:34.890073+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:34.890073+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:04:34.890602+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:34.890648+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:34.890673+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:34.891283+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:34 [akrotiri/bcbAMY2J2l-000371] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3769B in 607.912333ms
{"time":"2025-07-28T19:04:35.086906+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:35 [akrotiri/bcbAMY2J2l-000372] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3772B in 646.855625ms
{"time":"2025-07-28T19:04:35.699392+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":808}
{"time":"2025-07-28T19:04:35.699412+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:35.699401+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:35.757006+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":57}
{"time":"2025-07-28T19:04:35.757032+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:35.757017+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:35.795946+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:04:35.795972+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:35.797045+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:35.799153+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:35.799172+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:35.803084+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:35.803092+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:35.803102+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":3317,"success":3317,"duration_ms":957}
{"time":"2025-07-28T19:04:35.803646+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:35.803653+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:35.803656+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:35.803936+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:35.803938+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:35.803943+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:35.810993+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:35.832221+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:35.83223+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:35.833134+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:35.833142+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:35.833143+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:35.833426+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:36 [akrotiri/bcbAMY2J2l-000373] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3769B in 632.920208ms
{"time":"2025-07-28T19:04:36.442596+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:04:36.505651+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:04:36 [akrotiri/bcbAMY2J2l-000374] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3769B in 692.002334ms
{"time":"2025-07-28T19:04:36.789307+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:37 [akrotiri/bcbAMY2J2l-000375] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3773B in 649.966375ms
2025/07/28 19:04:37 [akrotiri/bcbAMY2J2l-000376] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3772B in 631.404375ms
{"time":"2025-07-28T19:04:37.670526+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1837}
{"time":"2025-07-28T19:04:37.670547+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:37.670534+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:37.676598+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":6}
{"time":"2025-07-28T19:04:37.676607+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:37.676608+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:37.795679+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:04:37.795692+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:37.796828+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:37.799561+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:37.799586+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:37.812944+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:37.812958+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20021,"unique_prefixes":10078,"success":10078,"duration_ms":2009}
{"time":"2025-07-28T19:04:37.812958+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:37.813282+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:37.813291+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:37.813294+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:37.813857+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:37.813861+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:37.813867+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:37.819655+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:37.851065+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:04:37.851074+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:37.851634+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:37.851643+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:37.851644+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:37.852178+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:38 [akrotiri/bcbAMY2J2l-000377] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3768B in 628.832ms
{"time":"2025-07-28T19:04:38.046898+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:38 [akrotiri/bcbAMY2J2l-000378] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3770B in 649.403875ms
{"time":"2025-07-28T19:04:38.995942+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"80.81.194.190","peer_asn":"31042"}
2025/07/28 19:04:39 [akrotiri/bcbAMY2J2l-000379] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3771B in 659.702125ms
{"time":"2025-07-28T19:04:39.324545+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1472}
{"time":"2025-07-28T19:04:39.324564+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:39.324551+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:39.330058+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":5}
{"time":"2025-07-28T19:04:39.330065+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:39.330067+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:39.521581+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":191}
{"time":"2025-07-28T19:04:39.521592+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:39.523414+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:39.525236+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:39.525274+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:39.694925+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":169}
{"time":"2025-07-28T19:04:39.694944+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20039,"unique_prefixes":7730,"success":7730,"duration_ms":1881}
{"time":"2025-07-28T19:04:39.694943+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:39.699628+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:39.701036+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":6}
{"time":"2025-07-28T19:04:39.701045+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:39.701047+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:39 [akrotiri/bcbAMY2J2l-000380] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3766B in 775.081042ms
{"time":"2025-07-28T19:04:39.741561+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:04:39.741577+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:39.74274+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:39.958471+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:40 [akrotiri/bcbAMY2J2l-000381] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3768B in 682.349709ms
2025/07/28 19:04:40 [akrotiri/bcbAMY2J2l-000382] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3769B in 655.447042ms
{"time":"2025-07-28T19:04:40.652913+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:04:40.659092+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:04:40.81003+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1068}
{"time":"2025-07-28T19:04:40.810041+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:40.810046+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:40.8806+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":70}
{"time":"2025-07-28T19:04:40.880617+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:40.880621+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:40.882215+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:40.882219+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":1}
{"time":"2025-07-28T19:04:40.882225+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:40.920051+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:40.920051+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:04:40.921443+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:40.923525+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:40.923531+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:41.011768+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":88}
{"time":"2025-07-28T19:04:41.011789+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20006,"unique_prefixes":5057,"success":5057,"duration_ms":1316}
{"time":"2025-07-28T19:04:41.011774+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:41.015043+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:41.016225+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:41.016258+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":4}
{"time":"2025-07-28T19:04:41.016267+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:41.068186+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:41.068189+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":51}
{"time":"2025-07-28T19:04:41.06941+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:41 [akrotiri/bcbAMY2J2l-000383] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3766B in 663.223042ms
{"time":"2025-07-28T19:04:41.401597+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:04:41.401681+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:04:41.404797+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:04:41 [akrotiri/bcbAMY2J2l-000384] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3766B in 628.340417ms
{"time":"2025-07-28T19:04:41.746395+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:41.746395+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":678}
{"time":"2025-07-28T19:04:41.746429+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:41.803415+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:41.803416+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":57}
{"time":"2025-07-28T19:04:41.803487+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:41.865252+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:41.865254+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":61}
{"time":"2025-07-28T19:04:41.866248+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:41.86626+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:41.866282+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20018,"unique_prefixes":2333,"success":2333,"duration_ms":853}
{"time":"2025-07-28T19:04:41.86657+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:41.866607+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:41.866616+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:41.86662+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:41.867077+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:41.867086+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:41.86709+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:41.867734+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:41.867741+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:41.867744+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:41.86852+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:41.868536+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:41.868555+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:41.871811+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:41.895762+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:41.916312+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:04:41.917604+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:41.918063+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:41.918259+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:41.918272+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:41.918329+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:42 [akrotiri/bcbAMY2J2l-000385] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3769B in 697.100375ms
2025/07/28 19:04:42 [akrotiri/bcbAMY2J2l-000386] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3770B in 705.386167ms
2025/07/28 19:04:42 [akrotiri/bcbAMY2J2l-000387] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3770B in 707.104041ms
{"time":"2025-07-28T19:04:42.956653+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:42.956651+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1038}
{"time":"2025-07-28T19:04:42.95674+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:42.967017+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:04:42.967051+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:43.132106+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":165}
{"time":"2025-07-28T19:04:43.132372+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:43.133383+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":1}
{"time":"2025-07-28T19:04:43.133395+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:43.133399+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:43.134023+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:43.13421+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:43.134218+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:43.134222+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:43.140126+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:04:43.140142+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20003,"unique_prefixes":3156,"success":3156,"duration_ms":1271}
{"time":"2025-07-28T19:04:43.14015+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:43.148549+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:43.210121+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":69}
{"time":"2025-07-28T19:04:43.210179+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:43.21087+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:43.210889+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:43.2109+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:43.211348+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:43.211748+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:43.211777+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:43.211892+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:43.231921+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:04:43 [akrotiri/bcbAMY2J2l-000388] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3766B in 815.192667ms
2025/07/28 19:04:43 [akrotiri/bcbAMY2J2l-000389] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3766B in 818.742041ms
{"time":"2025-07-28T19:04:43.514478+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:43 [akrotiri/bcbAMY2J2l-000390] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3768B in 825.370041ms
2025/07/28 19:04:43 [akrotiri/bcbAMY2J2l-000391] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3768B in 828.225417ms
{"time":"2025-07-28T19:04:44.310049+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1098}
{"time":"2025-07-28T19:04:44.310073+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:44.310078+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:44.328606+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:44.32877+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":18}
{"time":"2025-07-28T19:04:44.328781+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20001,"unique_prefixes":4609,"success":4609,"duration_ms":1187}
{"time":"2025-07-28T19:04:44.32914+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:44.331167+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:44.331191+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:44.339006+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:44.498995+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:44.499004+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":169}
{"time":"2025-07-28T19:04:44.502553+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:44.503607+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:44.504044+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:04:44.504289+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:44.5048+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:44.504811+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:44.584554+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:44 [akrotiri/bcbAMY2J2l-000393] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3768B in 880.943416ms
2025/07/28 19:04:44 [akrotiri/bcbAMY2J2l-000392] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3768B in 917.594792ms
{"time":"2025-07-28T19:04:44.749583+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":140000737750,"total_messages":891904,"total_bytes":668545596,"total_mb":"637.57","messages_per_sec":"6049.58","bits_per_sec":"36633330","mbps":"36.63","total_dropped":85662}
{"time":"2025-07-28T19:04:44.749662+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":20191,"queue_cap":100000,"processed":865016,"dropped":0,"avg_time":117713,"min_time":0,"max_time":2021237791}
{"time":"2025-07-28T19:04:44.749695+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeerHandler","index":1,"queue_len":1127,"queue_cap":100000,"processed":884080,"dropped":0,"avg_time":61427,"min_time":0,"max_time":1674970041}
{"time":"2025-07-28T19:04:44.749708+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":97786,"queue_cap":100000,"processed":701759,"dropped":85662,"avg_time":170258,"min_time":0,"max_time":2069192083}
{"time":"2025-07-28T19:04:44.749714+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":885208,"dropped":0,"avg_time":1521,"min_time":0,"max_time":16413542}
2025/07/28 19:04:44 [akrotiri/bcbAMY2J2l-000395] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3769B in 884.6215ms
2025/07/28 19:04:44 [akrotiri/bcbAMY2J2l-000394] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3769B in 891.64025ms
2025/07/28 19:04:45 [akrotiri/bcbAMY2J2l-000396] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3769B in 813.049291ms
2025/07/28 19:04:45 [akrotiri/bcbAMY2J2l-000397] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57342 - 200 3770B in 897.790042ms
{"time":"2025-07-28T19:04:45.456184+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:04:45.639759+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:45.639759+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1135}
{"time":"2025-07-28T19:04:45.63986+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:45.724307+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:45.72433+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:04:45.724866+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:45.724879+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:45.724931+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:45.725969+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:45 [akrotiri/bcbAMY2J2l-000399] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3770B in 779.246208ms
2025/07/28 19:04:45 [akrotiri/bcbAMY2J2l-000398] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3770B in 782.8565ms
{"time":"2025-07-28T19:04:45.728166+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:45.728169+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:45.728989+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:45.729052+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:04:45.72906+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20001,"unique_prefixes":3720,"success":3720,"duration_ms":1397}
{"time":"2025-07-28T19:04:45.72963+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:45.730209+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:45.730231+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:45.736631+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:45.78714+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:04:45.787152+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:45.787716+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:45.787726+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:45.78773+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:45.788378+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:45.788381+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:45.788429+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:45.788447+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
2025/07/28 19:04:46 [akrotiri/bcbAMY2J2l-000400] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3766B in 766.848625ms
2025/07/28 19:04:46 [akrotiri/bcbAMY2J2l-000401] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57342 - 200 3766B in 775.485375ms
{"time":"2025-07-28T19:04:46.350112+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:46 [akrotiri/bcbAMY2J2l-000403] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 200 3770B in 759.662458ms
2025/07/28 19:04:46 [akrotiri/bcbAMY2J2l-000402] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3770B in 770.475417ms
2025/07/28 19:04:47 [akrotiri/bcbAMY2J2l-000405] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57342 - 200 3770B in 710.444792ms
2025/07/28 19:04:47 [akrotiri/bcbAMY2J2l-000404] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 200 3770B in 765.782083ms
{"time":"2025-07-28T19:04:47.447359+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1658}
{"time":"2025-07-28T19:04:47.447378+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:47.447383+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:47.978861+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:47 [akrotiri/bcbAMY2J2l-000407] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56696 - 408 17B in 1.000899875s
{"time":"2025-07-28T19:04:47.988407+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:47.988411+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":541}
{"time":"2025-07-28T19:04:47.988485+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":7085,"success":7085,"duration_ms":2258}
{"time":"2025-07-28T19:04:48.005743+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:48.099427+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:48.09955+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":111}
{"time":"2025-07-28T19:04:48.099975+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:48.10086+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:48.100871+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:48.101756+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:48.105459+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:48.105472+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:48.109593+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:48 [akrotiri/bcbAMY2J2l-000406] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3774B in 1.257888333s
{"time":"2025-07-28T19:04:48.455011+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:48 [akrotiri/bcbAMY2J2l-000408] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56504 - 408 17B in 1.000308667s
{"time":"2025-07-28T19:04:48.457657+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:48 [akrotiri/bcbAMY2J2l-000409] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57342 - 408 17B in 1.000825917s
2025/07/28 19:04:49 [akrotiri/bcbAMY2J2l-000411] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3777B in 1.12936175s
2025/07/28 19:04:49 [akrotiri/bcbAMY2J2l-000412] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3777B in 1.127526375s
2025/07/28 19:04:49 [akrotiri/bcbAMY2J2l-000410] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3777B in 1.157667541s
{"time":"2025-07-28T19:04:49.164784+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"2602:fa91:0:cccc::20","peer_asn":"53427"}
{"time":"2025-07-28T19:04:49.291035+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:04:49 [akrotiri/bcbAMY2J2l-000414] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3777B in 1.107310083s
2025/07/28 19:04:49 [akrotiri/bcbAMY2J2l-000415] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3777B in 1.11275425s
2025/07/28 19:04:49 [akrotiri/bcbAMY2J2l-000413] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3777B in 1.131553625s
{"time":"2025-07-28T19:04:49.719976+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:49.719993+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1614}
{"time":"2025-07-28T19:04:49.720014+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:49.830385+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:49.830403+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":110}
{"time":"2025-07-28T19:04:49.830739+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:49.916429+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:49.916658+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":86}
{"time":"2025-07-28T19:04:49.919401+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:49.91952+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:49.919481+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:49.92205+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:49.928991+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:49.929021+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:04:49.929045+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20027,"unique_prefixes":5593,"success":5593,"duration_ms":1937}
{"time":"2025-07-28T19:04:49.929384+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:49.929899+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:49.930046+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:49.936498+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:50.025521+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:50.025528+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:50.028143+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:50.03006+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:50.030128+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:04:50.030681+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:50.030733+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:50.030791+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
2025/07/28 19:04:50 [akrotiri/bcbAMY2J2l-000416] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3771B in 1.080419833s
2025/07/28 19:04:50 [akrotiri/bcbAMY2J2l-000418] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3771B in 1.055472833s
2025/07/28 19:04:50 [akrotiri/bcbAMY2J2l-000417] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3771B in 1.092993s
{"time":"2025-07-28T19:04:50.388369+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:50.544246+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:04:50.547096+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"186.211.128.34","peer_asn":"14840"}
2025/07/28 19:04:50 [akrotiri/bcbAMY2J2l-000419] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3777B in 1.069298s
2025/07/28 19:04:50 [akrotiri/bcbAMY2J2l-000420] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3775B in 1.071911667s
2025/07/28 19:04:50 [akrotiri/bcbAMY2J2l-000421] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3774B in 910.012667ms
{"time":"2025-07-28T19:04:50.912606+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":881}
{"time":"2025-07-28T19:04:50.912626+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:50.912648+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:51 [akrotiri/bcbAMY2J2l-000422] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3775B in 854.852417ms
{"time":"2025-07-28T19:04:51.112119+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:51.112131+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":199}
{"time":"2025-07-28T19:04:51.113422+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:51.118009+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:51.118141+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":5}
{"time":"2025-07-28T19:04:51.118166+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:51.12436+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:51.124422+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:51.138843+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:51.138854+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":14}
{"time":"2025-07-28T19:04:51.138883+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20152,"unique_prefixes":3772,"success":3772,"duration_ms":1208}
{"time":"2025-07-28T19:04:51.147551+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:51.23146+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:51.231479+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":92}
{"time":"2025-07-28T19:04:51.232847+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:51.236493+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:51.236554+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":5}
{"time":"2025-07-28T19:04:51.236587+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
2025/07/28 19:04:51 [akrotiri/bcbAMY2J2l-000424] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3770B in 877.002791ms
2025/07/28 19:04:51 [akrotiri/bcbAMY2J2l-000423] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3771B in 920.284417ms
2025/07/28 19:04:51 [akrotiri/bcbAMY2J2l-000426] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3771B in 836.527167ms
2025/07/28 19:04:51 [akrotiri/bcbAMY2J2l-000425] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3771B in 842.314458ms
{"time":"2025-07-28T19:04:52.193588+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:52.439696+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:52.441066+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1203}
{"time":"2025-07-28T19:04:52.441078+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:52 [akrotiri/bcbAMY2J2l-000427] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3774B in 786.372958ms
2025/07/28 19:04:52 [akrotiri/bcbAMY2J2l-000428] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3774B in 790.854208ms
{"time":"2025-07-28T19:04:52.650383+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":210}
{"time":"2025-07-28T19:04:52.65172+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:52.650313+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:52.653059+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:52.653101+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":2}
{"time":"2025-07-28T19:04:52.653135+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:52.659902+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:52.659918+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:52.666349+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:52.666365+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:04:52.66647+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20009,"unique_prefixes":4303,"success":4303,"duration_ms":1525}
{"time":"2025-07-28T19:04:52.671113+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:52.76942+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:52.769605+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":103}
{"time":"2025-07-28T19:04:52.771837+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:52.773669+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:52.773677+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":4}
{"time":"2025-07-28T19:04:52.773685+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
2025/07/28 19:04:52 [akrotiri/bcbAMY2J2l-000429] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3772B in 834.0155ms
2025/07/28 19:04:52 [akrotiri/bcbAMY2J2l-000430] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3772B in 856.826334ms
2025/07/28 19:04:53 [akrotiri/bcbAMY2J2l-000432] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3771B in 799.733792ms
2025/07/28 19:04:53 [akrotiri/bcbAMY2J2l-000431] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3771B in 801.2685ms
{"time":"2025-07-28T19:04:53.689969+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:53.689986+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":916}
{"time":"2025-07-28T19:04:53.690007+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:53 [akrotiri/bcbAMY2J2l-000434] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3771B in 771.571ms
2025/07/28 19:04:53 [akrotiri/bcbAMY2J2l-000433] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3771B in 779.733709ms
{"time":"2025-07-28T19:04:53.791685+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:53.79169+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:04:53.791968+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:53.792024+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:53.792049+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:53.792976+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:53.80164+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:04:53.801649+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:53.801657+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20011,"unique_prefixes":3507,"success":3507,"duration_ms":1134}
{"time":"2025-07-28T19:04:53.802023+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:53.802033+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:53.802048+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:53.802168+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:53.802179+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:53.802184+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:53.809242+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:53.861016+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:04:53.861031+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:53.861418+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:53.861427+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:53.861431+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:53.861987+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:53.862015+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:53.862034+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:53.862238+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:53.913884+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:54.142323+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:04:54 [akrotiri/bcbAMY2J2l-000435] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3773B in 803.994333ms
2025/07/28 19:04:54 [akrotiri/bcbAMY2J2l-000436] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3773B in 797.963458ms
{"time":"2025-07-28T19:04:54.749153+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":150000204750,"total_messages":954539,"total_bytes":715423088,"total_mb":"682.28","messages_per_sec":"6150.52","bits_per_sec":"37173721","mbps":"37.17","total_dropped":123924}
{"time":"2025-07-28T19:04:54.74919+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":29037,"queue_cap":100000,"processed":918329,"dropped":0,"avg_time":121066,"min_time":0,"max_time":2311683250}
{"time":"2025-07-28T19:04:54.749326+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeerHandler","index":1,"queue_len":3286,"queue_cap":100000,"processed":944080,"dropped":0,"avg_time":63917,"min_time":0,"max_time":1811217458}
{"time":"2025-07-28T19:04:54.749343+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":99137,"queue_cap":100000,"processed":724305,"dropped":123924,"avg_time":178031,"min_time":0,"max_time":2258306666}
{"time":"2025-07-28T19:04:54.749452+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":947367,"dropped":0,"avg_time":1541,"min_time":0,"max_time":16413542}
2025/07/28 19:04:54 [akrotiri/bcbAMY2J2l-000437] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3773B in 793.444583ms
2025/07/28 19:04:54 [akrotiri/bcbAMY2J2l-000438] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3773B in 799.480292ms
2025/07/28 19:04:55 [akrotiri/bcbAMY2J2l-000439] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3774B in 799.997375ms
2025/07/28 19:04:55 [akrotiri/bcbAMY2J2l-000440] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3774B in 797.722292ms
{"time":"2025-07-28T19:04:55.520297+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1658}
{"time":"2025-07-28T19:04:55.520306+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:55.520331+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:55.601914+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:55.601963+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":81}
{"time":"2025-07-28T19:04:55.601988+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:55.65725+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":55}
{"time":"2025-07-28T19:04:55.657291+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:55.658517+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:55.664486+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":7}
{"time":"2025-07-28T19:04:55.664523+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:55.67661+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:04:55.676628+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20008,"unique_prefixes":7638,"success":7638,"duration_ms":1874}
{"time":"2025-07-28T19:04:55.676644+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:55.677184+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:55.677211+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:55.677214+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:55.681534+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:55.72503+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:04:55.725054+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:55.725724+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:55.725734+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:55.725738+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:55.725967+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:55.725985+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:55.726002+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:55.726775+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:55 [akrotiri/bcbAMY2J2l-000441] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3770B in 781.342625ms
{"time":"2025-07-28T19:04:55.766554+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:04:55 [akrotiri/bcbAMY2J2l-000442] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3770B in 769.627834ms
2025/07/28 19:04:56 [akrotiri/bcbAMY2J2l-000443] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3770B in 765.716042ms
2025/07/28 19:04:56 [akrotiri/bcbAMY2J2l-000444] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3770B in 802.845417ms
{"time":"2025-07-28T19:04:56.55576+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:56 [akrotiri/bcbAMY2J2l-000445] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3773B in 763.641792ms
2025/07/28 19:04:56 [akrotiri/bcbAMY2J2l-000446] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3773B in 773.407208ms
{"time":"2025-07-28T19:04:56.887217+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:56.887212+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1161}
{"time":"2025-07-28T19:04:56.887282+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:56.894192+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":6}
{"time":"2025-07-28T19:04:56.894205+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:56.894226+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:57.010951+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:57.011571+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:57.012498+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:57.024222+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":12}
{"time":"2025-07-28T19:04:57.024255+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:57.085675+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":61}
{"time":"2025-07-28T19:04:57.08569+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20009,"unique_prefixes":4624,"success":4624,"duration_ms":1408}
{"time":"2025-07-28T19:04:57.085734+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:57.090227+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":4}
{"time":"2025-07-28T19:04:57.09024+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:57.090263+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:57.098424+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:57.148964+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:04:57.148996+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:57.150862+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:57.15262+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":3}
{"time":"2025-07-28T19:04:57.152631+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:57.152654+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:57 [akrotiri/bcbAMY2J2l-000447] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3769B in 746.378583ms
2025/07/28 19:04:57 [akrotiri/bcbAMY2J2l-000448] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3769B in 749.734083ms
2025/07/28 19:04:57 [akrotiri/bcbAMY2J2l-000449] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3767B in 751.793333ms
2025/07/28 19:04:57 [akrotiri/bcbAMY2J2l-000450] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3767B in 767.75075ms
2025/07/28 19:04:58 [akrotiri/bcbAMY2J2l-000451] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3767B in 747.345667ms
2025/07/28 19:04:58 [akrotiri/bcbAMY2J2l-000452] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3767B in 738.283208ms
{"time":"2025-07-28T19:04:58.680488+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1527}
{"time":"2025-07-28T19:04:58.680508+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:58.680551+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:58.731606+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":51}
{"time":"2025-07-28T19:04:58.731676+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:58.733337+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:58.736518+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":4}
{"time":"2025-07-28T19:04:58.736531+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:58.736536+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:58.737198+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:58.737212+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:58.737231+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
2025/07/28 19:04:58 [akrotiri/bcbAMY2J2l-000453] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3768B in 752.557708ms
{"time":"2025-07-28T19:04:58.74782+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:04:58.752809+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:58.752826+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:58.752853+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":8482,"success":8482,"duration_ms":1665}
{"time":"2025-07-28T19:04:58.759786+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:04:58 [akrotiri/bcbAMY2J2l-000454] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3767B in 751.993917ms
{"time":"2025-07-28T19:04:58.796519+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:58.796944+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:58.797091+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:58.797141+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:58.797259+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:58.799352+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:59.114424+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:59 [akrotiri/bcbAMY2J2l-000455] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3769B in 779.897334ms
2025/07/28 19:04:59 [akrotiri/bcbAMY2J2l-000456] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3769B in 804.527584ms
{"time":"2025-07-28T19:04:59.420457+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:04:59.562948+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:04:59.786648+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":989}
{"time":"2025-07-28T19:04:59.786669+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:59.786678+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:59.792086+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":5}
{"time":"2025-07-28T19:04:59.792101+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:59.792127+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:59 [akrotiri/bcbAMY2J2l-000457] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3770B in 795.985583ms
2025/07/28 19:04:59 [akrotiri/bcbAMY2J2l-000458] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3770B in 789.535958ms
{"time":"2025-07-28T19:04:59.820157+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:59.820157+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:59.821586+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:59.824007+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:59.824036+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:59.829879+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:04:59.829891+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:59.829892+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20056,"unique_prefixes":6202,"success":6202,"duration_ms":1075}
{"time":"2025-07-28T19:04:59.830566+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:59.830574+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:59.830577+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:59.830817+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:59.830842+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:59.830865+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:59.839822+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:59.859979+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:04:59.859992+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:59.860131+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:59.860138+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:59.860142+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:59.860586+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:59.860609+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:04:59.860631+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:04:59.861364+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:05:00 [akrotiri/bcbAMY2J2l-000460] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3767B in 798.814625ms
2025/07/28 19:05:00 [akrotiri/bcbAMY2J2l-000459] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3767B in 814.31375ms
2025/07/28 19:05:00 [akrotiri/bcbAMY2J2l-000461] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3767B in 827.383125ms
2025/07/28 19:05:00 [akrotiri/bcbAMY2J2l-000462] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3767B in 832.110541ms
{"time":"2025-07-28T19:05:01.258888+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1398}
{"time":"2025-07-28T19:05:01.258908+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:05:01.258934+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:01.267013+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":8}
{"time":"2025-07-28T19:05:01.267028+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:01.26704+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:05:01.348406+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":81}
{"time":"2025-07-28T19:05:01.348443+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:05:01.349815+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:05:01.362251+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:05:01.36227+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20512,"unique_prefixes":9772,"success":9772,"duration_ms":1531}
{"time":"2025-07-28T19:05:01.362273+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:01.362984+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:01.362995+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:01.363+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:01.363685+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:05:01.363698+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:01.363736+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
2025/07/28 19:05:01 [akrotiri/bcbAMY2J2l-000463] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3768B in 863.342041ms
{"time":"2025-07-28T19:05:01.370526+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:05:01 [akrotiri/bcbAMY2J2l-000464] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3768B in 856.822625ms
{"time":"2025-07-28T19:05:01.391641+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:05:01.391655+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:01.392172+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:01.392182+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:01.392186+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:01.392752+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:05:01.392818+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:01.392841+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:01.392959+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:05:01.420226+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:05:01 [akrotiri/bcbAMY2J2l-000465] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3770B in 807.067625ms
2025/07/28 19:05:01 [akrotiri/bcbAMY2J2l-000466] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3770B in 813.306ms
2025/07/28 19:05:02 [akrotiri/bcbAMY2J2l-000467] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3770B in 876.206917ms
2025/07/28 19:05:02 [akrotiri/bcbAMY2J2l-000468] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3770B in 867.692375ms
{"time":"2025-07-28T19:05:02.534307+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1141}
{"time":"2025-07-28T19:05:02.534326+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:05:02.534343+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:02.631842+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:05:02.631851+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":97}
{"time":"2025-07-28T19:05:02.631947+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:02.680898+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:05:02.680914+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:05:02.682211+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:05:02.687929+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":7}
{"time":"2025-07-28T19:05:02.687942+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:05:02.693631+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:05:02.693646+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20063,"unique_prefixes":6588,"success":6588,"duration_ms":1329}
{"time":"2025-07-28T19:05:02.693654+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:02.697141+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":3}
{"time":"2025-07-28T19:05:02.697154+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:02.697163+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:05:02.69987+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:05:02.743833+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:05:02.743855+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:02.745177+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:05:02.748712+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":4}
{"time":"2025-07-28T19:05:02.748726+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:02.74875+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:05:02 [akrotiri/bcbAMY2J2l-000469] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3768B in 839.455459ms
2025/07/28 19:05:02 [akrotiri/bcbAMY2J2l-000470] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3768B in 825.521291ms
2025/07/28 19:05:03 [akrotiri/bcbAMY2J2l-000472] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3769B in 795.552208ms
2025/07/28 19:05:03 [akrotiri/bcbAMY2J2l-000471] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3769B in 810.442958ms
{"time":"2025-07-28T19:05:03.742578+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:05:03.7426+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:05:03.742598+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:05:03.787358+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:05:03.789092+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:05:03.789121+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:03.794304+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":5}
{"time":"2025-07-28T19:05:03.794323+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:03.794322+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:05:03.819589+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":25}
{"time":"2025-07-28T19:05:03.819608+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20026,"unique_prefixes":5520,"success":5520,"duration_ms":1124}
{"time":"2025-07-28T19:05:03.819626+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:03.822247+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":2}
{"time":"2025-07-28T19:05:03.822261+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:03.822273+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:03.822986+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:03.822993+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:03.822996+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:03.823256+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:03.823263+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:03.823267+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:03.823532+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:03.823537+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:03.82354+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:03.823601+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:03.823606+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:03.823609+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:03.824125+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:03.824131+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:03.824134+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:03.828564+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:05:03.829186+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":5}
{"time":"2025-07-28T19:05:03.8292+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:05:03.829208+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
2025/07/28 19:05:03 [akrotiri/bcbAMY2J2l-000474] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3766B in 870.247625ms
2025/07/28 19:05:03 [akrotiri/bcbAMY2J2l-000473] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3766B in 882.467791ms
{"time":"2025-07-28T19:05:04.118696+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:05:04 [akrotiri/bcbAMY2J2l-000475] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3768B in 812.269917ms
2025/07/28 19:05:04 [akrotiri/bcbAMY2J2l-000476] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3768B in 801.896083ms
{"time":"2025-07-28T19:05:04.422036+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:05:04.750235+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":160001230500,"total_messages":996764,"total_bytes":745969411,"total_mb":"711.41","messages_per_sec":"5839.24","bits_per_sec":"35091787","mbps":"35.09","total_dropped":128275}
{"time":"2025-07-28T19:05:04.750265+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":7527,"queue_cap":100000,"processed":981604,"dropped":0,"avg_time":123373,"min_time":0,"max_time":2311683250}
{"time":"2025-07-28T19:05:04.750272+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeerHandler","index":1,"queue_len":5051,"queue_cap":100000,"processed":984080,"dropped":0,"avg_time":65596,"min_time":0,"max_time":1811217458}
{"time":"2025-07-28T19:05:04.750276+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":94571,"queue_cap":100000,"processed":766285,"dropped":128275,"avg_time":181348,"min_time":0,"max_time":2258306666}
{"time":"2025-07-28T19:05:04.75028+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeeringHandler","index":3,"queue_len":3,"queue_cap":100000,"processed":989128,"dropped":0,"avg_time":1553,"min_time":0,"max_time":16413542}
2025/07/28 19:05:04 [akrotiri/bcbAMY2J2l-000478] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3772B in 829.906167ms
2025/07/28 19:05:04 [akrotiri/bcbAMY2J2l-000477] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3772B in 851.271292ms
{"time":"2025-07-28T19:05:05.085508+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1256}
{"time":"2025-07-28T19:05:05.085532+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:05:05.085534+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:05.183753+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:05:05.183757+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":98}
{"time":"2025-07-28T19:05:05.183781+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:05.223694+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":39}
{"time":"2025-07-28T19:05:05.223866+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:05:05.227862+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:05:05.228835+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:05:05.228845+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:05:05.293673+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:05:05.293691+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:05:05.294951+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:05:05.310608+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:05.310619+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":16}
{"time":"2025-07-28T19:05:05.310642+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20003,"unique_prefixes":7353,"success":7353,"duration_ms":1489}
{"time":"2025-07-28T19:05:05.310776+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:05:05.310792+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:05.310802+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:05.318313+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:05:05.331737+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:05.331734+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:05:05.332098+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:05.33211+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:05:05.332115+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
2025/07/28 19:05:05 [akrotiri/bcbAMY2J2l-000479] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3766B in 838.740292ms
2025/07/28 19:05:05 [akrotiri/bcbAMY2J2l-000480] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3766B in 837.840334ms
{"time":"2025-07-28T19:05:05.553645+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:05:05 [akrotiri/bcbAMY2J2l-000482] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3769B in 833.506625ms
2025/07/28 19:05:05 [akrotiri/bcbAMY2J2l-000481] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3769B in 862.047167ms
{"time":"2025-07-28T19:05:06.00495+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:05:06.326763+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":994}
{"time":"2025-07-28T19:05:06.326782+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:05:06.326787+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:05:06.354878+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:06.354894+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":28}
{"time":"2025-07-28T19:05:06.354916+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20021,"unique_prefixes":5871,"success":5871,"duration_ms":1042}
{"time":"2025-07-28T19:05:06.355499+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:05:06.355512+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:06.35553+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:06.360477+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:05:06.360486+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:05:06.373563+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:05:06 [akrotiri/bcbAMY2J2l-000483] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3770B in 871.968333ms
{"time":"2025-07-28T19:05:06.405612+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:06.406065+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:05:06.406195+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:05:06.408022+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:06.408236+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
2025/07/28 19:05:06 [akrotiri/bcbAMY2J2l-000484] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3767B in 880.531459ms
{"time":"2025-07-28T19:05:06.557652+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:05:06.64027+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:05:06.723965+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:05:07 [akrotiri/bcbAMY2J2l-000485] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3776B in 978.3245ms
2025/07/28 19:05:07 [akrotiri/bcbAMY2J2l-000486] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3776B in 964.24975ms
{"time":"2025-07-28T19:05:07.751071+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:07.751071+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1344}
{"time":"2025-07-28T19:05:07.75141+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:05:07.751838+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:07.751853+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:07.751862+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:05:07.816817+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:05:07.817029+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:05:07.818197+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:05:07.821304+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:05:07.821342+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:05:07.828076+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:05:07.828099+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":8990,"success":8990,"duration_ms":1470}
{"time":"2025-07-28T19:05:07.828111+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:07.828399+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:07.828413+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:07.828419+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:07.828596+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:05:07.828613+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:07.828624+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:07.841082+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:05:07 [akrotiri/bcbAMY2J2l-000487] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3773B in 991.765125ms
2025/07/28 19:05:07 [akrotiri/bcbAMY2J2l-000488] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3773B in 982.675833ms
{"time":"2025-07-28T19:05:07.977573+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":148}
{"time":"2025-07-28T19:05:07.977584+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:07.978879+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":1}
{"time":"2025-07-28T19:05:07.978892+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:07.978999+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:05:07.979542+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:05:08 [akrotiri/bcbAMY2J2l-000490] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3773B in 975.683041ms
2025/07/28 19:05:08 [akrotiri/bcbAMY2J2l-000489] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3774B in 1.040663416s
{"time":"2025-07-28T19:05:08.43137+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:05:08 [akrotiri/bcbAMY2J2l-000491] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3776B in 1.04019375s
2025/07/28 19:05:08 [akrotiri/bcbAMY2J2l-000492] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3776B in 1.031590042s
2025/07/28 19:05:09 [akrotiri/bcbAMY2J2l-000493] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3775B in 968.653666ms
2025/07/28 19:05:09 [akrotiri/bcbAMY2J2l-000494] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3775B in 969.98025ms
{"time":"2025-07-28T19:05:09.406139+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1427}
{"time":"2025-07-28T19:05:09.406159+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:05:09.40618+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:09.407363+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":1}
{"time":"2025-07-28T19:05:09.407377+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:09.407383+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:05:09 [akrotiri/bcbAMY2J2l-000495] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3777B in 879.011916ms
2025/07/28 19:05:09 [akrotiri/bcbAMY2J2l-000496] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3777B in 872.03225ms
{"time":"2025-07-28T19:05:09.464213+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:05:09.46425+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:05:09.466286+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:05:09.469255+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:05:09.469277+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:05:09.479186+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:05:09.479202+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20003,"unique_prefixes":9733,"success":9733,"duration_ms":1649}
{"time":"2025-07-28T19:05:09.479228+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:09.479698+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:09.479709+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:09.479727+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:05:09.490406+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:05:09.501998+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}
{"time":"2025-07-28T19:05:09.502013+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:09.502557+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:09.502566+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:09.502571+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:09.502972+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:05:09.502998+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:09.503022+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:09.503436+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:05:09.532093+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:05:09 [akrotiri/bcbAMY2J2l-000497] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3776B in 901.920958ms
2025/07/28 19:05:09 [akrotiri/bcbAMY2J2l-000498] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3776B in 875.256209ms
{"time":"2025-07-28T19:05:10.382255+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:05:10 [akrotiri/bcbAMY2J2l-000499] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3776B in 891.226667ms
2025/07/28 19:05:10 [akrotiri/bcbAMY2J2l-000500] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3776B in 891.901083ms
{"time":"2025-07-28T19:05:10.954514+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1451}
{"time":"2025-07-28T19:05:10.954533+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:05:10.954555+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:10.955215+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:10.955231+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:05:10.955237+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
2025/07/28 19:05:10 [akrotiri/bcbAMY2J2l-000502] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3777B in 908.284625ms
2025/07/28 19:05:10 [akrotiri/bcbAMY2J2l-000501] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3777B in 932.042041ms
{"time":"2025-07-28T19:05:11.023048+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":67}
{"time":"2025-07-28T19:05:11.023059+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:05:11.024411+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:05:11.025927+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:05:11.025984+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:05:11.144693+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":118}
{"time":"2025-07-28T19:05:11.144712+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20001,"unique_prefixes":9355,"success":9355,"duration_ms":1663}
{"time":"2025-07-28T19:05:11.144727+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:11.145578+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:11.145591+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:11.145595+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:11.145707+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:05:11.145845+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:11.145893+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:11.158941+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:05:11.253517+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:05:11.254859+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:05:11.254865+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:05:11.345297+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:11.345344+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":90}
{"time":"2025-07-28T19:05:11.346778+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:05:11.346794+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":1}
{"time":"2025-07-28T19:05:11.346812+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:11.351534+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:05:11 [akrotiri/bcbAMY2J2l-000503] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3772B in 906.031875ms
2025/07/28 19:05:11 [akrotiri/bcbAMY2J2l-000504] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3773B in 922.998625ms
{"time":"2025-07-28T19:05:11.492972+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:05:11.803416+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:05:12 [akrotiri/bcbAMY2J2l-000505] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3776B in 971.944208ms
2025/07/28 19:05:12 [akrotiri/bcbAMY2J2l-000506] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3776B in 947.740042ms
2025/07/28 19:05:12 [akrotiri/bcbAMY2J2l-000507] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3775B in 921.753958ms
2025/07/28 19:05:12 [akrotiri/bcbAMY2J2l-000508] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3775B in 914.019958ms
{"time":"2025-07-28T19:05:12.984183+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:05:13.258056+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1911}
{"time":"2025-07-28T19:05:13.258075+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:05:13.258089+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:13.259464+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":1}
{"time":"2025-07-28T19:05:13.259477+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:13.259481+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:13.261212+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:05:13.261238+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":1}
{"time":"2025-07-28T19:05:13.261262+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:13.266374+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:05:13.26812+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:05:13.2728+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:05:13.326821+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:05:13.326851+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:05:13.328918+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:05:13.336242+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:13.336605+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:05:13.339156+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:05:13.339167+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20061,"unique_prefixes":7696,"success":7696,"duration_ms":2190}
{"time":"2025-07-28T19:05:13.339284+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:05:13.340186+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:13.340206+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:13.340366+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:05:13.355458+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:05:13.418829+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:05:13.418853+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:13.419424+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:13.419436+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:13.419441+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:13.420056+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:05:13.420082+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:13.4201+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:13.421091+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:05:13 [akrotiri/bcbAMY2J2l-000509] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3773B in 1.093928042s
2025/07/28 19:05:13 [akrotiri/bcbAMY2J2l-000511] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3773B in 1.086461958s
2025/07/28 19:05:13 [akrotiri/bcbAMY2J2l-000510] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3773B in 1.08876425s
2025/07/28 19:05:13 [akrotiri/bcbAMY2J2l-000512] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3773B in 1.114243375s
2025/07/28 19:05:14 [akrotiri/bcbAMY2J2l-000513] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3773B in 1.108768333s
2025/07/28 19:05:14 [akrotiri/bcbAMY2J2l-000514] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3773B in 1.115006125s
{"time":"2025-07-28T19:05:14.633859+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:05:14 [akrotiri/bcbAMY2J2l-000515] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3774B in 996.544416ms
2025/07/28 19:05:14 [akrotiri/bcbAMY2J2l-000516] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3775B in 1.002078709s
{"time":"2025-07-28T19:05:14.74909+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":170000012834,"total_messages":1062502,"total_bytes":794795839,"total_mb":"757.98","messages_per_sec":"5943.31","bits_per_sec":"35498841","mbps":"35.50","total_dropped":138693}
{"time":"2025-07-28T19:05:14.749111+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":9066,"queue_cap":100000,"processed":1045303,"dropped":0,"avg_time":123824,"min_time":0,"max_time":2311683250}
{"time":"2025-07-28T19:05:14.749117+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PeerHandler","index":1,"queue_len":290,"queue_cap":100000,"processed":1054080,"dropped":0,"avg_time":68115,"min_time":0,"max_time":1917211625}
{"time":"2025-07-28T19:05:14.749121+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":97199,"queue_cap":100000,"processed":818479,"dropped":138693,"avg_time":181410,"min_time":0,"max_time":2258306666}
{"time":"2025-07-28T19:05:14.749125+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":1054372,"dropped":0,"avg_time":1560,"min_time":0,"max_time":16413542}
{"time":"2025-07-28T19:05:14.779609+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1359}
{"time":"2025-07-28T19:05:14.779628+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:05:14.779633+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:14.784424+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":4}
{"time":"2025-07-28T19:05:14.784436+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:14.784441+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:14.784737+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:05:14.784752+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:14.784771+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:14.818674+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:05:14.818708+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:05:14.82115+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:05:14.924399+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":105}
{"time":"2025-07-28T19:05:14.924429+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:05:14.927819+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:14.927866+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:05:14.927893+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":7087,"success":7087,"duration_ms":1585}
{"time":"2025-07-28T19:05:14.928488+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:05:14.928513+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:14.928529+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:14.942862+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:05:14.973394+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:05:14.973405+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:14.974006+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:05:14.974027+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:14.974056+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:14.975617+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:05:15 [akrotiri/bcbAMY2J2l-000517] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3772B in 978.858834ms
2025/07/28 19:05:15 [akrotiri/bcbAMY2J2l-000518] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3772B in 948.800041ms
2025/07/28 19:05:15 [akrotiri/bcbAMY2J2l-000520] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3772B in 957.832542ms
2025/07/28 19:05:15 [akrotiri/bcbAMY2J2l-000519] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3772B in 992.629ms
2025/07/28 19:05:16 [akrotiri/bcbAMY2J2l-000522] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3772B in 983.227833ms
2025/07/28 19:05:16 [akrotiri/bcbAMY2J2l-000521] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3773B in 1.008682625s
{"time":"2025-07-28T19:05:16.189446+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1215}
{"time":"2025-07-28T19:05:16.189468+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:05:16.189467+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:16.26526+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":75}
{"time":"2025-07-28T19:05:16.265313+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:16.265277+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:05:16.318891+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":53}
{"time":"2025-07-28T19:05:16.318949+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:05:16.320287+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:05:16.325782+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:05:16.325792+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:16.325804+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":7531,"success":7531,"duration_ms":1395}
{"time":"2025-07-28T19:05:16.326287+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:16.326297+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:16.326301+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:16.326577+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:05:16.326597+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:16.32661+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:16.334592+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:05:16.355932+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:05:16.355954+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:16.356535+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:16.356547+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:16.356551+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:16.356653+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:05:16.35667+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:16.356678+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:16.671381+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:05:16 [akrotiri/bcbAMY2J2l-000524] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3771B in 1.094025625s
2025/07/28 19:05:16 [akrotiri/bcbAMY2J2l-000523] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3771B in 1.131702416s
{"time":"2025-07-28T19:05:16.728854+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:05:16.864368+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"80.81.194.204","peer_asn":"48166"}
{"time":"2025-07-28T19:05:16.894565+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:05:16.90058+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"2001:12f8::121","peer_asn":"42473"}
2025/07/28 19:05:17 [akrotiri/bcbAMY2J2l-000525] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3775B in 1.066853583s
2025/07/28 19:05:17 [akrotiri/bcbAMY2J2l-000526] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3775B in 1.046148792s
{"time":"2025-07-28T19:05:17.437389+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1080}
{"time":"2025-07-28T19:05:17.437415+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:05:17.437421+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:05:17.442928+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:17.44296+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:05:17.443042+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":5492,"success":5492,"duration_ms":1114}
{"time":"2025-07-28T19:05:17.443077+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:05:17.445103+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:17.445114+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:17.481356+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:05:17.515569+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:05:17.515586+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":72}
{"time":"2025-07-28T19:05:17.521401+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:17.521606+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:05:17.526848+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:05:17.526889+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":5}
{"time":"2025-07-28T19:05:17.526898+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
2025/07/28 19:05:17 [akrotiri/bcbAMY2J2l-000527] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3770B in 1.078901125s
2025/07/28 19:05:17 [akrotiri/bcbAMY2J2l-000528] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3770B in 1.075309917s
{"time":"2025-07-28T19:05:17.802056+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:05:18 [akrotiri/bcbAMY2J2l-000530] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3773B in 1.040894208s
2025/07/28 19:05:18 [akrotiri/bcbAMY2J2l-000529] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3773B in 1.086979209s
2025/07/28 19:05:18 [akrotiri/bcbAMY2J2l-000531] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3772B in 1.060909209s
2025/07/28 19:05:18 [akrotiri/bcbAMY2J2l-000532] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3772B in 1.049015s
{"time":"2025-07-28T19:05:18.800815+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1273}
{"time":"2025-07-28T19:05:18.800834+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:05:18.800839+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:05:18.806027+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:18.806053+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:05:18.806085+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":6184,"success":6184,"duration_ms":1341}
{"time":"2025-07-28T19:05:18.806414+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:05:18.806426+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:18.806442+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:18.816373+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:05:18.84312+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":36}
{"time":"2025-07-28T19:05:18.843151+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:18.843614+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:18.843626+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:18.843631+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:18.844567+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:05:18.844581+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:18.844594+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:18.844678+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:05:19.0144+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:05:19 [akrotiri/bcbAMY2J2l-000533] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3774B in 1.004313875s
2025/07/28 19:05:19 [akrotiri/bcbAMY2J2l-000534] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3774B in 1.03149s
2025/07/28 19:05:19 [akrotiri/bcbAMY2J2l-000536] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3774B in 981.936042ms
2025/07/28 19:05:19 [akrotiri/bcbAMY2J2l-000535] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3775B in 1.002930917s
{"time":"2025-07-28T19:05:19.794488+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":949}
{"time":"2025-07-28T19:05:19.794509+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:05:19.794494+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.801973+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":7}
{"time":"2025-07-28T19:05:19.801993+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.801998+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.805058+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:05:19.805077+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":3}
{"time":"2025-07-28T19:05:19.805135+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.84758+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:05:19.847595+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:05:19.853531+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:05:19.853636+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:05:19.948759+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.948828+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":95}
{"time":"2025-07-28T19:05:19.948852+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20303,"unique_prefixes":3923,"success":3923,"duration_ms":1138}
{"time":"2025-07-28T19:05:19.94898+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.948991+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.948995+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.949136+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.949147+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.949207+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.94967+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.94968+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.949684+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.950672+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.950679+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.950683+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.95121+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.951221+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.951225+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.951783+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.951791+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.951795+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.953604+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.953684+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.953694+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.954389+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.954399+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.954403+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.954689+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.954698+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.954701+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.955232+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.955237+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.955241+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.9556+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.955609+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.955613+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.955946+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.955953+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.955957+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.956251+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.956258+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.956262+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.956661+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.956668+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.956672+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.95698+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.956987+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.95699+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.957529+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.957535+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.957539+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.957838+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.957845+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.95785+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.957975+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.95798+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.957983+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.958536+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.958543+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.958546+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.958889+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.958895+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.958898+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.959848+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.959856+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.959859+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.95994+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.959945+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.959949+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.960407+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.960414+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.960418+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.960945+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.960951+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.960955+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.96126+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.961266+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.961269+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.961337+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.961342+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.961345+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.961466+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:05:19.961859+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.961866+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.96187+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.962138+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:19.962144+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:19.962163+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:05:20.028668+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:05:20 [akrotiri/bcbAMY2J2l-000538] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3770B in 977.01175ms
2025/07/28 19:05:20 [akrotiri/bcbAMY2J2l-000537] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3771B in 1.00354575s
2025/07/28 19:05:20 [akrotiri/bcbAMY2J2l-000540] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3772B in 1.030501625s
2025/07/28 19:05:20 [akrotiri/bcbAMY2J2l-000539] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3772B in 1.079879833s
{"time":"2025-07-28T19:05:21.032161+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1069}
{"time":"2025-07-28T19:05:21.032197+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:05:21.032178+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.052338+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":20}
{"time":"2025-07-28T19:05:21.052442+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:05:21.052491+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.085942+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:05:21 [akrotiri/bcbAMY2J2l-000541] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3775B in 1.051507417s
{"time":"2025-07-28T19:05:21.167814+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":115}
{"time":"2025-07-28T19:05:21.171183+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:05:21.171195+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:05:21.224913+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:05:21.225616+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":53}
{"time":"2025-07-28T19:05:21.234673+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.235032+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:05:21.235054+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20009,"unique_prefixes":5271,"success":5271,"duration_ms":1281}
{"time":"2025-07-28T19:05:21.235632+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:05:21.237537+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.23755+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.249081+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:05:21.250824+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":15}
{"time":"2025-07-28T19:05:21.251913+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.254173+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":2}
{"time":"2025-07-28T19:05:21.254187+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.254192+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.254329+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.254335+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.254341+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.256378+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:05:21.257064+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":2}
{"time":"2025-07-28T19:05:21.257096+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
2025/07/28 19:05:21 [akrotiri/bcbAMY2J2l-000542] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3769B in 1.134970084s
{"time":"2025-07-28T19:05:21.476284+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:05:21 [akrotiri/bcbAMY2J2l-000544] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 200 3772B in 1.228493375s
2025/07/28 19:05:21 [akrotiri/bcbAMY2J2l-000543] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3772B in 1.232698166s
{"time":"2025-07-28T19:05:21.875405+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":618}
{"time":"2025-07-28T19:05:21.875425+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.875427+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:05:21.876068+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.876083+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.876115+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:05:21.927451+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":51}
{"time":"2025-07-28T19:05:21.92751+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:05:21.931978+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:05:21.93199+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20001,"unique_prefixes":2521,"success":2521,"duration_ms":694}
{"time":"2025-07-28T19:05:21.932006+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.932506+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.932515+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.93252+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.932626+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.932633+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.932638+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.932723+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.93273+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.932733+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.933376+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.933385+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.93339+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.933652+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.933662+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.933666+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.934225+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.934232+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.934235+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.934717+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.934726+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.93473+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.935044+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.93505+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.935054+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.935425+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.935432+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.935435+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.935964+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.935971+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.935975+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.936461+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.93647+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.936475+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.936559+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.936565+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.93657+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.936649+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.936656+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.936659+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.937324+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.93733+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.937333+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.937635+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.937641+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.937645+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.937718+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.937726+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.93773+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.937827+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.937833+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.937837+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.938434+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.93844+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.938443+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.938522+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.938528+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.938532+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.93862+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.938626+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.938629+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.939065+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.939071+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.939075+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.939157+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.939165+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.939195+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.939609+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.939615+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.939619+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.939865+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.939871+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.939875+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.940226+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.940234+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.940238+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.940487+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.940494+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.940498+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.940717+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.940723+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.940727+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.941096+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.941102+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.941106+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.941171+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.941177+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.941181+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.94142+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.941427+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.94143+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.941991+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.941998+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.942001+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.94223+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.942237+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.942272+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.942346+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.942355+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.942359+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.94243+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.942438+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.942441+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.942507+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:05:21.942546+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.942553+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.942557+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.942624+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:21.942646+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:21.942666+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:05:22 [akrotiri/bcbAMY2J2l-000546] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3770B in 1.081123209s
{"time":"2025-07-28T19:05:22.223189+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:05:22 [akrotiri/bcbAMY2J2l-000545] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3773B in 1.10500875s
{"time":"2025-07-28T19:05:22.336212+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"}
{"time":"2025-07-28T19:05:22.515463+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:05:22.97043+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1027}
{"time":"2025-07-28T19:05:22.970451+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:05:22.970453+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:22.970808+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:22.970824+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:22.970835+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:05:23.036241+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":65}
{"time":"2025-07-28T19:05:23.036512+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:05:23.038336+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:05:23.041097+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:05:23.041623+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:05:23.046646+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:23.046649+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:05:23.046896+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":5434,"success":5434,"duration_ms":1112}
{"time":"2025-07-28T19:05:23.047144+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:23.047155+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:23.047159+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:23.047251+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:23.047258+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:23.047262+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:23.048072+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:05:23.048096+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:23.048109+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:23.062892+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:05:23.079952+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:05:23.079972+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:23.080756+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:23.080771+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:23.080776+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:23.080934+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:23.080941+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:23.080945+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:23.08103+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:05:23.081345+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:23.081361+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:23.247185+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:23 [akrotiri/bcbAMY2J2l-000548] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57341 - 408 17B in 1.003542541s
{"time":"2025-07-28T19:05:23.317629+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:05:23.396257+02:00","level":"DEBUG","msg":"System stats","source":"cli.go:40","func":"routewatch.logDebugStats","goroutines":55,"alloc_mb":273,"total_alloc_mb":5767,"sys_mb":520,"num_gc":84,"heap_alloc_mb":273,"heap_sys_mb":495,"heap_idle_mb":169,"heap_inuse_mb":326,"heap_released_mb":75,"stack_inuse_mb":4}
2025/07/28 19:05:23 [akrotiri/bcbAMY2J2l-000550] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3772B in 1.207825125s
2025/07/28 19:05:23 [akrotiri/bcbAMY2J2l-000547] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3772B in 1.237545709s
2025/07/28 19:05:23 [akrotiri/bcbAMY2J2l-000549] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3772B in 1.267907042s
2025/07/28 19:05:23 [akrotiri/bcbAMY2J2l-000551] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3774B in 1.182018958s
2025/07/28 19:05:23 [akrotiri/bcbAMY2J2l-000552] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3774B in 1.224593708s
{"time":"2025-07-28T19:05:24.165685+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:05:24.19434+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:24.19434+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1113}
{"time":"2025-07-28T19:05:24.194587+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:05:24.195186+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:24.195203+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:24.195208+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:24.195944+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:05:24.195976+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:24.195991+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:24.2858+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:05:24.285815+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":89}
{"time":"2025-07-28T19:05:24.288382+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:05:24.290022+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:05:24.290178+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:05:24.30068+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:24.30068+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:05:24.300849+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20001,"unique_prefixes":4740,"success":4740,"duration_ms":1249}
{"time":"2025-07-28T19:05:24.308525+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:05:24.310248+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":7}
{"time":"2025-07-28T19:05:24.310273+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:24.318238+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:05:24.348669+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:05:24.348704+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:24.349006+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:24.349021+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:24.349027+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:24.349218+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:24.349228+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:24.349233+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:24.349584+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:05:24.353872+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:24.353929+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
2025/07/28 19:05:24 [akrotiri/bcbAMY2J2l-000553] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57425 - 200 3771B in 1.30059475s
2025/07/28 19:05:24 [akrotiri/bcbAMY2J2l-000554] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3771B in 1.201782625s
{"time":"2025-07-28T19:05:24.685963+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:05:24 [akrotiri/bcbAMY2J2l-000555] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3772B in 1.214842625s
{"time":"2025-07-28T19:05:24.749757+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":180000580709,"total_messages":1116672,"total_bytes":835849057,"total_mb":"797.13","messages_per_sec":"5829.06","bits_per_sec":"34955704","mbps":"34.96","total_dropped":138693}
{"time":"2025-07-28T19:05:24.749805+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":61,"queue_cap":100000,"processed":1108013,"dropped":0,"avg_time":125273,"min_time":0,"max_time":2311683250}
{"time":"2025-07-28T19:05:24.749815+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":1108075,"dropped":0,"avg_time":67293,"min_time":0,"max_time":1917211625}
{"time":"2025-07-28T19:05:24.749823+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":77375,"queue_cap":100000,"processed":892006,"dropped":138693,"avg_time":178735,"min_time":0,"max_time":2258306666}
{"time":"2025-07-28T19:05:24.749835+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":1108075,"dropped":0,"avg_time":1587,"min_time":0,"max_time":16413542}
2025/07/28 19:05:24 [akrotiri/bcbAMY2J2l-000556] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3772B in 1.217097417s
2025/07/28 19:05:24 [akrotiri/bcbAMY2J2l-000557] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3774B in 1.184537083s
2025/07/28 19:05:25 [akrotiri/bcbAMY2J2l-000558] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3773B in 1.217948292s
2025/07/28 19:05:25 [akrotiri/bcbAMY2J2l-000559] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57425 - 200 3773B in 1.127099833s
2025/07/28 19:05:25 [akrotiri/bcbAMY2J2l-000560] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3773B in 1.221673291s
2025/07/28 19:05:25 [akrotiri/bcbAMY2J2l-000561] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3773B in 1.18093425s
{"time":"2025-07-28T19:05:26.015599+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:26.015689+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1665}
{"time":"2025-07-28T19:05:26.015742+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:05:26.016072+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:26.016083+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:26.016088+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:26.016965+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:05:26.018776+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:26.018795+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:26.050849+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:05:26.050891+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:05:26.052899+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:05:26.056345+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:26.056347+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:05:26.056371+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20001,"unique_prefixes":9150,"success":9150,"duration_ms":1753}
{"time":"2025-07-28T19:05:26.056728+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:05:26.05684+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:26.056851+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:26.065319+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:05:26.112915+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:05:26.112963+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:26.113684+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:26.113695+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:26.1137+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:26.113832+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:05:26.113869+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:26.11391+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:26.271215+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:05:26 [akrotiri/bcbAMY2J2l-000563] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 200 3773B in 1.243165958s
2025/07/28 19:05:26 [akrotiri/bcbAMY2J2l-000562] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 200 3773B in 1.27942025s
{"time":"2025-07-28T19:05:26.573706+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:05:26 [akrotiri/bcbAMY2J2l-000564] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 200 3776B in 1.278715208s
2025/07/28 19:05:26 [akrotiri/bcbAMY2J2l-000565] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57425 - 200 3777B in 1.2944385s
2025/07/28 19:05:27 [akrotiri/bcbAMY2J2l-000567] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 200 3775B in 1.339044041s
2025/07/28 19:05:27 [akrotiri/bcbAMY2J2l-000566] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 200 3775B in 1.414130084s
{"time":"2025-07-28T19:05:27.642262+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:27 [akrotiri/bcbAMY2J2l-000569] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:56697 - 408 17B in 1.002236833s
{"time":"2025-07-28T19:05:27.642575+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:27 [akrotiri/bcbAMY2J2l-000568] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57347 - 408 17B in 1.002518041s
{"time":"2025-07-28T19:05:27.824989+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1711}
{"time":"2025-07-28T19:05:27.825027+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:05:27.825036+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:05:27.83756+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:27.838206+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:05:27.842521+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:05:27.842795+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:05:27.842806+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20019,"unique_prefixes":6762,"success":6762,"duration_ms":1784}
{"time":"2025-07-28T19:05:27.845306+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:27.845324+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:27.845339+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:05:27.848779+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:05:27.853387+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:05:28.015137+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":172}
{"time":"2025-07-28T19:05:28.016156+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:28.016957+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:28.016971+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:28.016976+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:28.017082+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:28.017089+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:28.017092+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:28.017229+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:28.017235+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:28.017238+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:28.01732+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:28.017325+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:28.017329+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:28.01757+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:05:28.018372+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":1}
{"time":"2025-07-28T19:05:28.018382+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:28.018387+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:28.018686+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:28.018693+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:28.018698+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:28.018785+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:28.018794+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:28.018799+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:05:28.143943+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:28 [akrotiri/bcbAMY2J2l-000570] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57425 - 408 17B in 1.0018105s
{"time":"2025-07-28T19:05:28.144369+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:28 [akrotiri/bcbAMY2J2l-000571] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57346 - 408 17B in 1.002080125s
{"time":"2025-07-28T19:05:28.219005+02:00","level":"INFO","msg":"BGP session opened","source":"streamer.go:432","func":"streamer.(*Streamer).stream","peer":"217.29.66.232","peer_asn":"54104"}
{"time":"2025-07-28T19:05:28.223088+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"195.208.208.187","peer_asn":"9002"}
{"time":"2025-07-28T19:05:28.22797+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":209}
{"time":"2025-07-28T19:05:28.229318+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:05:28.349134+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:05:28.642779+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:28 [akrotiri/bcbAMY2J2l-000572] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57344 - 408 17B in 1.000669541s
{"time":"2025-07-28T19:05:28.643482+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:28 [akrotiri/bcbAMY2J2l-000575] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57451 - 408 17B in 1.000167208s
{"time":"2025-07-28T19:05:28.643551+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:28 [akrotiri/bcbAMY2J2l-000573] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57339 - 408 17B in 1.001364083s
{"time":"2025-07-28T19:05:28.643622+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:28 [akrotiri/bcbAMY2J2l-000574] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57452 - 408 17B in 1.000473292s
{"time":"2025-07-28T19:05:29.150211+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:29 [akrotiri/bcbAMY2J2l-000576] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57454 - 408 17B in 1.005714s
{"time":"2025-07-28T19:05:29.152446+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:29 [akrotiri/bcbAMY2J2l-000577] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57455 - 408 17B in 1.005499041s
{"time":"2025-07-28T19:05:29.64375+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:29 [akrotiri/bcbAMY2J2l-000578] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57497 - 408 17B in 1.000101125s
{"time":"2025-07-28T19:05:29.64604+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:29 [akrotiri/bcbAMY2J2l-000579] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57500 - 408 17B in 1.000181958s
{"time":"2025-07-28T19:05:29.647017+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:29 [akrotiri/bcbAMY2J2l-000581] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57498 - 408 17B in 1.000275833s
{"time":"2025-07-28T19:05:29.647411+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:29 [akrotiri/bcbAMY2J2l-000580] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57499 - 408 17B in 1.000693333s
{"time":"2025-07-28T19:05:29.667323+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1437}
{"time":"2025-07-28T19:05:29.66734+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:05:29.667345+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:05:29.687674+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:05:29.687694+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:05:29.687703+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20060,"unique_prefixes":6710,"success":6710,"duration_ms":1843}
{"time":"2025-07-28T19:05:29.69197+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:05:29.704244+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:29.705964+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":16}
{"time":"2025-07-28T19:05:29.706974+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:05:29.706988+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":2}
{"time":"2025-07-28T19:05:29.706998+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:29.714011+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:05:29.766631+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM peerings","duration":54581125}
{"time":"2025-07-28T19:05:29.821738+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:05:29.82414+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":114}
{"time":"2025-07-28T19:05:29.829386+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:05:30.15401+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:30 [akrotiri/bcbAMY2J2l-000583] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57502 - 408 17B in 1.000997458s
{"time":"2025-07-28T19:05:30.155319+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:30 [akrotiri/bcbAMY2J2l-000582] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57501 - 408 17B in 1.003434917s
{"time":"2025-07-28T19:05:30.645553+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:30 [akrotiri/bcbAMY2J2l-000584] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57504 - 408 17B in 1.001253375s
{"time":"2025-07-28T19:05:30.648219+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:30 [akrotiri/bcbAMY2J2l-000586] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57506 - 408 17B in 1.000697042s
{"time":"2025-07-28T19:05:30.648336+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:30 [akrotiri/bcbAMY2J2l-000585] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57505 - 408 17B in 1.001516708s
{"time":"2025-07-28T19:05:30.648399+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:30 [akrotiri/bcbAMY2J2l-000587] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57507 - 408 17B in 1.000330834s
{"time":"2025-07-28T19:05:30.782565+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:30.782597+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":960}
{"time":"2025-07-28T19:05:30.782609+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:05:30.837163+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:05:30.837184+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":54}
{"time":"2025-07-28T19:05:30.837328+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:30.844667+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:05:30.844735+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":7}
{"time":"2025-07-28T19:05:30.848699+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:05:31.156844+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:31 [akrotiri/bcbAMY2J2l-000588] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57509 - 408 17B in 1.001031334s
{"time":"2025-07-28T19:05:31.157972+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:31 [akrotiri/bcbAMY2J2l-000589] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57510 - 408 17B in 1.002004166s
{"time":"2025-07-28T19:05:31.212724+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:05:31.214007+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":368}
{"time":"2025-07-28T19:05:31.216066+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:05:31.221061+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:31.221222+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:05:31.221232+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20006,"unique_prefixes":2051,"success":2051,"duration_ms":1532}
{"time":"2025-07-28T19:05:31.22156+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:05:31.226353+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:31.226378+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:31.229603+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:05:31.23237+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:05:31.236103+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:05:31.372446+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:31.372612+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":140}
{"time":"2025-07-28T19:05:31.373094+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:05:31.373104+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:31.373276+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:31.375317+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:05:31.647857+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:31 [akrotiri/bcbAMY2J2l-000590] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57511 - 408 17B in 1.001480417s
{"time":"2025-07-28T19:05:31.653944+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:31 [akrotiri/bcbAMY2J2l-000591] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57514 - 408 17B in 1.003183416s
{"time":"2025-07-28T19:05:31.655766+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:31 [akrotiri/bcbAMY2J2l-000593] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57512 - 408 17B in 1.002635792s
{"time":"2025-07-28T19:05:31.6561+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:31 [akrotiri/bcbAMY2J2l-000592] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57513 - 408 17B in 1.004582291s
{"time":"2025-07-28T19:05:31.776379+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:05:32.086985+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:05:32.165307+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:32 [akrotiri/bcbAMY2J2l-000595] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57536 - 408 17B in 1.002541542s
{"time":"2025-07-28T19:05:32.166595+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:32 [akrotiri/bcbAMY2J2l-000594] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57537 - 408 17B in 1.006852625s
{"time":"2025-07-28T19:05:32.650256+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:32 [akrotiri/bcbAMY2J2l-000596] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57558 - 408 17B in 1.001827875s
{"time":"2025-07-28T19:05:32.65558+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:32 [akrotiri/bcbAMY2J2l-000597] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57559 - 408 17B in 1.000310833s
{"time":"2025-07-28T19:05:32.657357+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:32 [akrotiri/bcbAMY2J2l-000598] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57561 - 408 17B in 1.000378375s
{"time":"2025-07-28T19:05:32.662509+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:32 [akrotiri/bcbAMY2J2l-000599] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57560 - 408 17B in 1.004486209s
{"time":"2025-07-28T19:05:32.912337+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"80.81.192.113","peer_asn":"35320"}
{"time":"2025-07-28T19:05:32.986868+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1613}
{"time":"2025-07-28T19:05:32.986903+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:05:32.98691+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:05:33.063973+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:33.064063+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":77}
{"time":"2025-07-28T19:05:33.064082+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20007,"unique_prefixes":6014,"success":6014,"duration_ms":1841}
{"time":"2025-07-28T19:05:33.065611+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:05:33.065625+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":1}
{"time":"2025-07-28T19:05:33.065636+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:33.068451+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:05:33.167395+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:33 [akrotiri/bcbAMY2J2l-000600] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57563 - 408 17B in 1.001308125s
{"time":"2025-07-28T19:05:33.171299+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:33 [akrotiri/bcbAMY2J2l-000601] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57564 - 408 17B in 1.002402583s
{"time":"2025-07-28T19:05:33.225332+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:05:33.225332+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":159}
{"time":"2025-07-28T19:05:33.227896+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:05:33.231434+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:33.231437+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:05:33.23218+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:05:33.233415+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:33.233437+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:33.240692+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:05:33.460192+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:05:33.466265+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":228}
{"time":"2025-07-28T19:05:33.466534+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:05:33.504661+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:33.506274+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:05:33.50801+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:05:33.508113+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":1}
{"time":"2025-07-28T19:05:33.509331+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:33.510561+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:05:33.510632+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:05:33.511013+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:05:33.512756+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:33.512883+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:05:33.51406+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:05:33.514122+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":1357,"success":1357,"duration_ms":448}
{"time":"2025-07-28T19:05:33.514803+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:33.514868+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:33.521747+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:05:33.539019+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:05:33.543475+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:05:33.543746+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:33.544146+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:33.544158+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:33.544163+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:33.545188+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:05:33.549577+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:05:33.549681+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":5}
{"time":"2025-07-28T19:05:33.549703+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:33.65275+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:33 [akrotiri/bcbAMY2J2l-000602] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57565 - 408 17B in 1.000725417s
{"time":"2025-07-28T19:05:33.665818+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:33 [akrotiri/bcbAMY2J2l-000605] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57568 - 408 17B in 1.001417458s
{"time":"2025-07-28T19:05:33.666029+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:33 [akrotiri/bcbAMY2J2l-000603] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57566 - 408 17B in 1.002624708s
{"time":"2025-07-28T19:05:33.666093+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:33 [akrotiri/bcbAMY2J2l-000604] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57567 - 408 17B in 1.001847625s
{"time":"2025-07-28T19:05:33.852625+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM bgp_peers","duration":73738084}
{"time":"2025-07-28T19:05:33.952922+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:05:33.957822+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":403}
{"time":"2025-07-28T19:05:33.959408+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:05:34.03423+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:05:34.03432+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":81}
{"time":"2025-07-28T19:05:34.172329+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:34 [akrotiri/bcbAMY2J2l-000606] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57571 - 408 17B in 1.000444042s
{"time":"2025-07-28T19:05:34.173663+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:34 [akrotiri/bcbAMY2J2l-000607] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57570 - 408 17B in 1.000190208s
{"time":"2025-07-28T19:05:34.310266+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:34.310654+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":276}
{"time":"2025-07-28T19:05:34.310791+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:05:34.310975+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:34.310996+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:34.312686+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:05:34.317241+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:05:34.317256+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20055,"unique_prefixes":1464,"success":1464,"duration_ms":801}
{"time":"2025-07-28T19:05:34.31738+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:34.317799+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:34.317812+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:34.317818+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:34.31844+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:05:34.318578+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:34.318705+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:34.32659+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:05:34.424645+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":106}
{"time":"2025-07-28T19:05:34.424892+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:34.425258+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:34.425329+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:34.425342+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:05:34.427594+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:05:34.657736+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:34 [akrotiri/bcbAMY2J2l-000608] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57592 - 408 17B in 1.00187875s
{"time":"2025-07-28T19:05:34.668053+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:34 [akrotiri/bcbAMY2J2l-000610] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57594 - 408 17B in 1.000435333s
{"time":"2025-07-28T19:05:34.66906+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:34 [akrotiri/bcbAMY2J2l-000609] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57595 - 408 17B in 1.001518s
{"time":"2025-07-28T19:05:34.671834+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:34 [akrotiri/bcbAMY2J2l-000611] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57593 - 408 17B in 1.001322s
{"time":"2025-07-28T19:05:34.749258+02:00","level":"INFO","msg":"Stream statistics","source":"streamer.go:271","func":"streamer.(*Streamer).logMetrics","uptime":190000023834,"total_messages":1188864,"total_bytes":889019510,"total_mb":"847.84","messages_per_sec":"6015.94","bits_per_sec":"36063755","mbps":"36.06","total_dropped":158227}
{"time":"2025-07-28T19:05:34.749284+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.ASHandler","index":0,"queue_len":15549,"queue_cap":100000,"processed":1164236,"dropped":0,"avg_time":127089,"min_time":0,"max_time":2311683250}
{"time":"2025-07-28T19:05:34.749291+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":1179786,"dropped":0,"avg_time":69313,"min_time":0,"max_time":1917211625}
{"time":"2025-07-28T19:05:34.749297+02:00","level":"INFO","msg":"Handler statistics","source":"streamer.go:304","func":"streamer.(*Streamer).logMetrics","handler":"*routewatch.PrefixHandler","index":2,"queue_len":97266,"queue_cap":100000,"processed":924292,"dropped":158227,"avg_time":183324,"min_time":0,"max_time":2258306666}
{"time":"2025-07-28T19:05:34.749302+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":1179786,"dropped":0,"avg_time":1725,"min_time":0,"max_time":26563875}
{"time":"2025-07-28T19:05:35.174223+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:35 [akrotiri/bcbAMY2J2l-000613] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57598 - 408 17B in 1.000130417s
{"time":"2025-07-28T19:05:35.174315+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:35 [akrotiri/bcbAMY2J2l-000612] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57597 - 408 17B in 1.001205417s
{"time":"2025-07-28T19:05:35.49202+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1066}
{"time":"2025-07-28T19:05:35.492049+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:05:35.492056+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:05:35.512764+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:35.512774+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:05:35.512794+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20178,"unique_prefixes":5895,"success":5895,"duration_ms":1194}
{"time":"2025-07-28T19:05:35.512948+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:05:35.512996+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:35.513023+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:35.522649+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:05:35.562387+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:05:35.632947+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:05:35.633335+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:35.634328+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":1}
{"time":"2025-07-28T19:05:35.634344+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:35.634349+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:35.63468+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:05:35.635001+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:05:35.637894+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:35.637933+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:35.660982+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:35 [akrotiri/bcbAMY2J2l-000614] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57599 - 408 17B in 1.00124975s
{"time":"2025-07-28T19:05:35.670329+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:35 [akrotiri/bcbAMY2J2l-000615] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57600 - 408 17B in 1.00159775s
{"time":"2025-07-28T19:05:35.670837+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:35 [akrotiri/bcbAMY2J2l-000616] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57601 - 408 17B in 1.001373083s
{"time":"2025-07-28T19:05:35.688143+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:35 [akrotiri/bcbAMY2J2l-000617] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57602 - 408 17B in 1.014207334s
{"time":"2025-07-28T19:05:36.176727+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:36 [akrotiri/bcbAMY2J2l-000618] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57605 - 408 17B in 1.001538083s
{"time":"2025-07-28T19:05:36.180129+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:36 [akrotiri/bcbAMY2J2l-000619] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57604 - 408 17B in 1.004434625s
{"time":"2025-07-28T19:05:36.609854+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:05:36.609882+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":974}
{"time":"2025-07-28T19:05:36.609907+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:05:36.61719+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:05:36.621146+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":7}
{"time":"2025-07-28T19:05:36.66357+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:36 [akrotiri/bcbAMY2J2l-000620] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57607 - 408 17B in 1.001291416s
{"time":"2025-07-28T19:05:36.671243+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
{"time":"2025-07-28T19:05:36.671446+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:36 [akrotiri/bcbAMY2J2l-000622] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57609 - 408 17B in 1.000091333s
2025/07/28 19:05:36 [akrotiri/bcbAMY2J2l-000621] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57608 - 408 17B in 1.000391042s
{"time":"2025-07-28T19:05:36.689038+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:36 [akrotiri/bcbAMY2J2l-000623] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57610 - 408 17B in 1.0002695s
{"time":"2025-07-28T19:05:36.725322+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:36.725506+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":108}
{"time":"2025-07-28T19:05:36.726728+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:05:36.726744+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":1}
{"time":"2025-07-28T19:05:36.726753+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:36.728511+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:05:36.741358+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":14}
{"time":"2025-07-28T19:05:36.74138+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20016,"unique_prefixes":4240,"success":4240,"duration_ms":1226}
{"time":"2025-07-28T19:05:36.741388+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:36.742219+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:36.742234+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:36.74224+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:36.7424+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:05:36.745695+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:36.74691+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:36.756327+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:05:36.834235+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":91}
{"time":"2025-07-28T19:05:36.836136+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:05:36.836157+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:05:37.04687+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:37.047129+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":210}
{"time":"2025-07-28T19:05:37.047841+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:05:37.048555+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:37.04857+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:37.049523+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:05:37.183156+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:37 [akrotiri/bcbAMY2J2l-000625] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57613 - 408 17B in 1.002287458s
{"time":"2025-07-28T19:05:37.185593+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:37 [akrotiri/bcbAMY2J2l-000624] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57612 - 408 17B in 1.007349541s
{"time":"2025-07-28T19:05:37.608457+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:05:37.666634+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:37 [akrotiri/bcbAMY2J2l-000626] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57614 - 408 17B in 1.002527458s
{"time":"2025-07-28T19:05:37.681273+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:37 [akrotiri/bcbAMY2J2l-000627] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57615 - 408 17B in 1.009195042s
{"time":"2025-07-28T19:05:37.682224+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:37 [akrotiri/bcbAMY2J2l-000628] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57616 - 408 17B in 1.009114042s
{"time":"2025-07-28T19:05:37.706899+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:37 [akrotiri/bcbAMY2J2l-000629] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57617 - 408 17B in 1.017035916s
{"time":"2025-07-28T19:05:37.906915+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM peerings","duration":61838417}
{"time":"2025-07-28T19:05:38.125516+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM bgp_peers","duration":218197375}
{"time":"2025-07-28T19:05:38.187186+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:38 [akrotiri/bcbAMY2J2l-000630] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57618 - 408 17B in 1.001710334s
{"time":"2025-07-28T19:05:38.188661+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:38 [akrotiri/bcbAMY2J2l-000631] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57619 - 408 17B in 1.001101375s
{"time":"2025-07-28T19:05:38.672933+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:38 [akrotiri/bcbAMY2J2l-000632] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57621 - 408 17B in 1.005903625s
{"time":"2025-07-28T19:05:38.676863+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1629}
{"time":"2025-07-28T19:05:38.676882+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:05:38.676888+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:05:38.68407+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:38 [akrotiri/bcbAMY2J2l-000634] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57622 - 408 17B in 1.001082292s
{"time":"2025-07-28T19:05:38.685933+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:38 [akrotiri/bcbAMY2J2l-000633] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57623 - 408 17B in 1.003156291s
{"time":"2025-07-28T19:05:38.690255+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:38.690698+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:05:38.692666+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:05:38.692717+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20018,"unique_prefixes":6683,"success":6683,"duration_ms":1949}
{"time":"2025-07-28T19:05:38.693193+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:38.693351+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:38.702372+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:05:38.731884+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:38 [akrotiri/bcbAMY2J2l-000635] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57624 - 408 17B in 1.023194167s
{"time":"2025-07-28T19:05:38.82378+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:05:38.823872+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":133}
{"time":"2025-07-28T19:05:38.826312+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:05:38.829521+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:38.829586+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:05:38.829848+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:05:38.829892+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:38.829925+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:38.833367+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:05:39.191456+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:39 [akrotiri/bcbAMY2J2l-000637] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57626 - 408 17B in 1.002349833s
{"time":"2025-07-28T19:05:39.191637+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:39 [akrotiri/bcbAMY2J2l-000636] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57627 - 408 17B in 1.002500084s
{"time":"2025-07-28T19:05:39.256708+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM asns","duration":63911750}
{"time":"2025-07-28T19:05:39.257387+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM asns","duration":64650583}
{"time":"2025-07-28T19:05:39.378021+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM prefixes WHERE ip_version = ?","duration":94367708}
{"time":"2025-07-28T19:05:39.67543+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:39 [akrotiri/bcbAMY2J2l-000638] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57689 - 408 17B in 1.000219375s
{"time":"2025-07-28T19:05:39.688571+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:39 [akrotiri/bcbAMY2J2l-000639] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57690 - 408 17B in 1.001686458s
{"time":"2025-07-28T19:05:39.689611+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:39 [akrotiri/bcbAMY2J2l-000640] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57691 - 408 17B in 1.002631917s
{"time":"2025-07-28T19:05:39.733984+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:39 [akrotiri/bcbAMY2J2l-000641] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57692 - 408 17B in 1.001166208s
{"time":"2025-07-28T19:05:40.193818+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:40 [akrotiri/bcbAMY2J2l-000643] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57713 - 408 17B in 1.001087459s
{"time":"2025-07-28T19:05:40.193955+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:40 [akrotiri/bcbAMY2J2l-000642] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57714 - 408 17B in 1.001309875s
{"time":"2025-07-28T19:05:40.436895+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:05:40.481332+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:05:40.481472+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:05:40.481808+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:05:40.563873+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:40.564015+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:05:40.56459+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:05:40.564986+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:40.565003+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:40.569086+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:05:40.569212+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:05:40.570252+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:05:40.59265+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:40.59287+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:05:40.593287+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:40.593491+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:05:40.593504+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20016,"unique_prefixes":5967,"success":5967,"duration_ms":1899}
{"time":"2025-07-28T19:05:40.5937+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:40.605787+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:05:40.676384+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:40 [akrotiri/bcbAMY2J2l-000644] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57715 - 408 17B in 1.000080167s
{"time":"2025-07-28T19:05:40.68052+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":87}
{"time":"2025-07-28T19:05:40.681258+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:40.681931+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:40.681943+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:40.681948+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:40.682302+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:05:40.682307+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":0}
{"time":"2025-07-28T19:05:40.682322+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:40.683302+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:05:40.69047+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:40 [akrotiri/bcbAMY2J2l-000646] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57717 - 408 17B in 1.000262959s
{"time":"2025-07-28T19:05:40.690628+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:40 [akrotiri/bcbAMY2J2l-000645] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57716 - 408 17B in 1.00111475s
{"time":"2025-07-28T19:05:40.738459+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:40 [akrotiri/bcbAMY2J2l-000647] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57718 - 408 17B in 1.00373775s
{"time":"2025-07-28T19:05:40.786407+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM prefixes","duration":73051041}
{"time":"2025-07-28T19:05:40.959963+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:05:41.195764+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:41 [akrotiri/bcbAMY2J2l-000648] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57720 - 408 17B in 1.00131175s
{"time":"2025-07-28T19:05:41.197205+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:41 [akrotiri/bcbAMY2J2l-000649] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57721 - 408 17B in 1.002605709s
{"time":"2025-07-28T19:05:41.252373+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM asns","duration":54116333}
{"time":"2025-07-28T19:05:41.253116+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM asns","duration":55930792}
{"time":"2025-07-28T19:05:41.298972+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:05:41.678378+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:41 [akrotiri/bcbAMY2J2l-000650] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57722 - 408 17B in 1.001111625s
{"time":"2025-07-28T19:05:41.695898+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:41 [akrotiri/bcbAMY2J2l-000652] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57723 - 408 17B in 1.004002292s
{"time":"2025-07-28T19:05:41.69599+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:41 [akrotiri/bcbAMY2J2l-000651] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57724 - 408 17B in 1.004133292s
{"time":"2025-07-28T19:05:41.750031+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:41 [akrotiri/bcbAMY2J2l-000653] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57725 - 408 17B in 1.007148042s
{"time":"2025-07-28T19:05:41.82562+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":1143}
{"time":"2025-07-28T19:05:41.825645+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:05:41.825652+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:05:41.875587+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:41.876183+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"DeleteLiveRouteBatch (database.go:261)","duration_ms":49}
{"time":"2025-07-28T19:05:41.876207+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20036,"unique_prefixes":4504,"success":4504,"duration_ms":1279}
{"time":"2025-07-28T19:05:41.8815+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:05:41.944083+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:05:41.944177+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":68}
{"time":"2025-07-28T19:05:41.944224+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:42.193407+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:05:42.203301+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":249}
{"time":"2025-07-28T19:05:42.203432+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:42 [akrotiri/bcbAMY2J2l-000655] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57747 - 408 17B in 1.005244208s
{"time":"2025-07-28T19:05:42.203637+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:42 [akrotiri/bcbAMY2J2l-000654] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57746 - 408 17B in 1.006499875s
{"time":"2025-07-28T19:05:42.234458+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:05:42.246885+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpdatePeerBatch (database.go:639)","duration_ms":41}
{"time":"2025-07-28T19:05:42.266002+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:05:42.323515+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM asns","duration":106967500}
{"time":"2025-07-28T19:05:42.323828+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM prefixes","duration":78706541}
{"time":"2025-07-28T19:05:42.374824+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM prefixes","duration":50991000}
{"time":"2025-07-28T19:05:42.680337+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:42 [akrotiri/bcbAMY2J2l-000656] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57748 - 408 17B in 1.000852875s
{"time":"2025-07-28T19:05:42.699201+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:42 [akrotiri/bcbAMY2J2l-000657] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57750 - 408 17B in 1.002072667s
{"time":"2025-07-28T19:05:42.709442+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:42 [akrotiri/bcbAMY2J2l-000658] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57749 - 408 17B in 1.015503708s
{"time":"2025-07-28T19:05:42.752963+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:42 [akrotiri/bcbAMY2J2l-000659] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57751 - 408 17B in 1.001384958s
{"time":"2025-07-28T19:05:42.757454+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM asns","duration":76057000}
{"time":"2025-07-28T19:05:42.758111+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM asns","duration":57635333}
{"time":"2025-07-28T19:05:42.815387+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM prefixes","duration":57215333}
{"time":"2025-07-28T19:05:42.873198+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM prefixes","duration":115114750}
{"time":"2025-07-28T19:05:42.914811+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"27.111.229.239","peer_asn":"17639"}
{"time":"2025-07-28T19:05:42.935576+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM prefixes","duration":175282541}
{"time":"2025-07-28T19:05:42.937915+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM prefixes WHERE ip_version = ?","duration":120339000}
{"time":"2025-07-28T19:05:42.945391+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM peerings","duration":66545708}
{"time":"2025-07-28T19:05:42.996889+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:05:43.003918+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:05:43.025562+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"UpsertLiveRouteBatch (database.go:180)","duration_ms":791}
{"time":"2025-07-28T19:05:43.025598+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:05:43.025848+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:43.054805+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM bgp_peers","duration":51294042}
{"time":"2025-07-28T19:05:43.057786+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:05:43.060415+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":32}
{"time":"2025-07-28T19:05:43.060436+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:43.137565+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:05:43.216579+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:43 [akrotiri/bcbAMY2J2l-000660] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57755 - 408 17B in 1.000143625s
{"time":"2025-07-28T19:05:43.216752+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:43 [akrotiri/bcbAMY2J2l-000661] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57754 - 408 17B in 1.000319417s
{"time":"2025-07-28T19:05:43.246714+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:05:43.246749+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":188}
{"time":"2025-07-28T19:05:43.248986+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:05:43.256327+02:00","level":"DEBUG","msg":"Database lock acquired","source":"database.go:149","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:43.256359+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:05:43.256379+02:00","level":"DEBUG","msg":"Flushed prefix batch","source":"prefixhandler.go:223","func":"routewatch.(*PrefixHandler).flushBatchLocked","batch_size":20000,"unique_prefixes":1707,"success":1707,"duration_ms":1378}
{"time":"2025-07-28T19:05:43.270111+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:05:43.543604+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM prefixes WHERE ip_version = ?","duration":285148250}
{"time":"2025-07-28T19:05:43.576528+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM prefixes","duration":329298541}
{"time":"2025-07-28T19:05:43.579908+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:05:43.579934+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"RecordPeering (database.go:587)","duration_ms":323}
{"time":"2025-07-28T19:05:43.579949+02:00","level":"DEBUG","msg":"Acquiring database lock","source":"database.go:143","func":"database.(*Database).lock","operation":"RecordPeering","caller":"database.go:587"}
{"time":"2025-07-28T19:05:43.681524+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:43 [akrotiri/bcbAMY2J2l-000662] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57756 - 408 17B in 1.000376833s
{"time":"2025-07-28T19:05:43.700515+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:43 [akrotiri/bcbAMY2J2l-000663] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57757 - 408 17B in 1.000105958s
{"time":"2025-07-28T19:05:43.715774+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:43 [akrotiri/bcbAMY2J2l-000664] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57758 - 408 17B in 1.000901625s
{"time":"2025-07-28T19:05:43.754521+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:43 [akrotiri/bcbAMY2J2l-000665] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57759 - 408 17B in 1.000899709s
{"time":"2025-07-28T19:05:43.84935+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM prefixes","duration":69647459}
{"time":"2025-07-28T19:05:43.85569+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM peerings","duration":122711125}
{"time":"2025-07-28T19:05:43.89859+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:05:43.898613+02:00","level":"DEBUG","msg":"Database lock released","source":"database.go:161","func":"database.(*Database).unlock","held_by":"GetOrCreateASNBatch (database.go:331)","duration_ms":318}
{"time":"2025-07-28T19:05:43.900715+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:05:43.909027+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM bgp_peers","duration":53288708}
{"time":"2025-07-28T19:05:44.066815+02:00","level":"DEBUG","msg":"Slow query","source":"slowquery.go:17","func":"database.logSlowQuery","query":"SELECT COUNT(*) FROM peerings","duration":112416958}
{"time":"2025-07-28T19:05:44.157471+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:05:44.159413+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:05:44.171885+02:00","level":"WARN","msg":"BGP notification","source":"streamer.go:440","func":"streamer.(*Streamer).stream","peer":"2001:7f8:4::73ab:1","peer_asn":"29611"}
{"time":"2025-07-28T19:05:44.218761+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:44 [akrotiri/bcbAMY2J2l-000666] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57761 - 408 17B in 1.001229834s
{"time":"2025-07-28T19:05:44.219547+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:44 [akrotiri/bcbAMY2J2l-000667] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57760 - 408 17B in 1.001939375s
{"time":"2025-07-28T19:05:44.438628+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
{"time":"2025-07-28T19:05:44.438628+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
fatal error: concurrent map writes{"time":"2025-07-28T19:05:44.438654+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
{"time":"2025-07-28T19:05:44.438692+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:44 [akrotiri/bcbAMY2J2l-000672] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57767 - 408 134B in 219.029417ms
2025/07/28 19:05:44 [akrotiri/bcbAMY2J2l-000671] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57765 - 408 151B in 683.454125ms
{"time":"2025-07-28T19:05:44.438794+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:44 [akrotiri/bcbAMY2J2l-000673] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57768 - 408 151B in 218.765042ms
2025/07/28 19:05:44 [akrotiri/bcbAMY2J2l-000669] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57763 - 408 151B in 737.347875ms
2025/07/28 19:05:44 [akrotiri/bcbAMY2J2l-000668] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57762 - 408 134B in 755.382416ms
{"time":"2025-07-28T19:05:44.438937+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:44 [akrotiri/bcbAMY2J2l-000670] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57764 - 408 151B in 721.971208ms
2025/07/28 19:05:44 [akrotiri/bcbAMY2J2l-000674] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57769 - 408 149B in 55.583µs
{"time":"2025-07-28T19:05:44.43863+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
{"time":"2025-07-28T19:05:44.439112+02:00","level":"ERROR","msg":"Database stats timeout","source":"handlers.go:250","func":"server.(*Server).setupRoutes.func1.(*Server).handleStats.1"}
2025/07/28 19:05:44 [akrotiri/bcbAMY2J2l-000675] "GET http://127.0.0.1:8080/api/v1/stats HTTP/1.1" from 127.0.0.1:57770 - 408 149B in 58.25µs


goroutine 514511 [running]:
internal/runtime/maps.fatal({0x100aa593f?, 0x10059d998?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/runtime/panic.go:1058 +0x20
net/textproto.MIMEHeader.Set(...)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/net/textproto/header.go:22
net/http.Header.Set(...)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/net/http/header.go:40
net/http.Error({0x100c9e0b8, 0x14018c8ce10}, {0x100aa1935, 0x10}, 0x198)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/net/http/server.go:2323 +0xc8
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1({0x100c9e0b8, 0x14018c8ce10}, 0x1400371a140?)
	/Users/user/dev/routewatch/internal/server/handlers.go:251 +0x4f0
net/http.HandlerFunc.ServeHTTP(0x140007cca50?, {0x100c9e0b8?, 0x14018c8ce10?}, 0x14005cf8998?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/net/http/server.go:2294 +0x38
github.com/go-chi/chi/v5.(*Mux).routeHTTP(0x14000202300, {0x100c9e0b8, 0x14018c8ce10}, 0x1400371a140)
	/Users/user/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.2/mux.go:478 +0x280
net/http.HandlerFunc.ServeHTTP(0x140081a7c88?, {0x100c9e0b8?, 0x14018c8ce10?}, 0x140081a7c68?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/net/http/server.go:2294 +0x38
github.com/go-chi/chi/v5.(*Mux).ServeHTTP(0x14000202300, {0x100c9e0b8, 0x14018c8ce10}, 0x1400371a140)
	/Users/user/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.2/mux.go:73 +0x2c4
github.com/go-chi/chi/v5.(*Mux).Mount.func1({0x100c9e0b8, 0x14018c8ce10}, 0x1400371a140)
	/Users/user/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.2/mux.go:325 +0x1e0
net/http.HandlerFunc.ServeHTTP(0x140007cca50?, {0x100c9e0b8?, 0x14018c8ce10?}, 0x1400a8f29c4?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/net/http/server.go:2294 +0x38
github.com/go-chi/chi/v5.(*Mux).routeHTTP(0x140002022a0, {0x100c9e0b8, 0x14018c8ce10}, 0x1400371a140)
	/Users/user/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.2/mux.go:478 +0x280
net/http.HandlerFunc.ServeHTTP(0x140081a7eb8?, {0x100c9e0b8?, 0x14018c8ce10?}, 0x10054057c?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/net/http/server.go:2294 +0x38
git.eeqj.de/sneak/routewatch/internal/server.JSONResponseMiddleware.func1({0x100c9e088, 0x1401a075980}, 0x1400371a140)
	/Users/user/dev/routewatch/internal/server/middleware.go:67 +0x168
net/http.HandlerFunc.ServeHTTP(0x1400371a000?, {0x100c9e088?, 0x1401a075980?}, 0x1005a87c4?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/net/http/server.go:2294 +0x38
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.TimeoutMiddleware.func2.1.1()
	/Users/user/dev/routewatch/internal/server/middleware.go:168 +0x9c
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.TimeoutMiddleware.func2.1 in goroutine 514509
	/Users/user/dev/routewatch/internal/server/middleware.go:161 +0x184

goroutine 1 [chan receive, 3 minutes]:
go.uber.org/fx.(*App).run(0x140000c0420, 0x1400019de68)
	/Users/user/go/pkg/mod/go.uber.org/fx@v1.24.0/app.go:613 +0x98
go.uber.org/fx.(*App).Run(0x140000c0420)
	/Users/user/go/pkg/mod/go.uber.org/fx@v1.24.0/app.go:600 +0x34
git.eeqj.de/sneak/routewatch/internal/routewatch.CLIEntry()
	/Users/user/dev/routewatch/internal/routewatch/cli.go:97 +0xec
main.main()
	/Users/user/dev/routewatch/cmd/routewatch/main.go:9 +0x1c

goroutine 4 [select, 3 minutes]:
database/sql.(*DB).connectionOpener(0x140000e7520, {0x100c9ea70, 0x140000d67d0})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1261 +0x80
created by database/sql.OpenDB in goroutine 1
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:841 +0x124

goroutine 34 [chan receive]:
github.com/rcrowley/go-metrics.(*meterArbiter).tick(...)
	/Users/user/go/pkg/mod/github.com/rcrowley/go-metrics@v0.0.0-20250401214520-65e299d6c5c9/meter.go:239
created by github.com/rcrowley/go-metrics.NewMeter in goroutine 1
	/Users/user/go/pkg/mod/github.com/rcrowley/go-metrics@v0.0.0-20250401214520-65e299d6c5c9/meter.go:46 +0xc8

goroutine 7 [select, 3 minutes]:
go.uber.org/fx.(*signalReceivers).relayer(0x140000c0488)
	/Users/user/go/pkg/mod/go.uber.org/fx@v1.24.0/signal.go:84 +0x88
created by go.uber.org/fx.(*signalReceivers).Start in goroutine 1
	/Users/user/go/pkg/mod/go.uber.org/fx@v1.24.0/signal.go:112 +0x208

goroutine 36 [chan receive]:
git.eeqj.de/sneak/routewatch/internal/routewatch.logDebugStats(0x14000064600)
	/Users/user/dev/routewatch/internal/routewatch/cli.go:36 +0x350
created by git.eeqj.de/sneak/routewatch/internal/routewatch.CLIEntry.func1.1 in goroutine 35
	/Users/user/dev/routewatch/internal/routewatch/cli.go:65 +0x80

goroutine 21 [syscall, 3 minutes]:
os/signal.signal_recv()
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/runtime/sigqueue.go:149 +0x2c
os/signal.loop()
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/os/signal/signal_unix.go:23 +0x1c
created by os/signal.Notify.func1.1 in goroutine 35
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/os/signal/signal.go:152 +0x28

goroutine 5 [chan receive, 3 minutes]:
git.eeqj.de/sneak/routewatch/internal/routewatch.CLIEntry.func1.1.1()
	/Users/user/dev/routewatch/internal/routewatch/cli.go:72 +0x3c
created by git.eeqj.de/sneak/routewatch/internal/routewatch.CLIEntry.func1.1 in goroutine 35
	/Users/user/dev/routewatch/internal/routewatch/cli.go:71 +0x144

goroutine 22 [select]:
git.eeqj.de/sneak/routewatch/internal/routewatch.(*ASHandler).flushLoop(0x140001220e0)
	/Users/user/dev/routewatch/internal/routewatch/ashandler.go:117 +0xc4
created by git.eeqj.de/sneak/routewatch/internal/routewatch.NewASHandler in goroutine 6
	/Users/user/dev/routewatch/internal/routewatch/ashandler.go:55 +0x144

goroutine 23 [select]:
git.eeqj.de/sneak/routewatch/internal/routewatch.(*PeerHandler).flushLoop(0x140001221c0)
	/Users/user/dev/routewatch/internal/routewatch/peerhandler.go:106 +0xc4
created by git.eeqj.de/sneak/routewatch/internal/routewatch.NewPeerHandler in goroutine 6
	/Users/user/dev/routewatch/internal/routewatch/peerhandler.go:56 +0x144

goroutine 32 [sync.Mutex.Lock]:
internal/sync.runtime_SemacquireMutex(0x140001ce4f8?, 0xc?, 0x1400106eee8?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/runtime/sema.go:95 +0x28
internal/sync.(*Mutex).lockSlow(0x140000ce090)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/internal/sync/mutex.go:149 +0x170
internal/sync.(*Mutex).Lock(...)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/internal/sync/mutex.go:70
sync.(*Mutex).Lock(...)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/sync/mutex.go:46
git.eeqj.de/sneak/routewatch/internal/routewatch.(*PrefixHandler).flushLoop(0x140000ce070)
	/Users/user/dev/routewatch/internal/routewatch/prefixhandler.go:146 +0x130
created by git.eeqj.de/sneak/routewatch/internal/routewatch.NewPrefixHandler in goroutine 6
	/Users/user/dev/routewatch/internal/routewatch/prefixhandler.go:69 +0x144

goroutine 33 [sync.Mutex.Lock]:
internal/sync.runtime_SemacquireMutex(0x100a9928a?, 0x4?, 0x19?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/runtime/sema.go:95 +0x28
internal/sync.(*Mutex).lockSlow(0x140000d6840)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/internal/sync/mutex.go:149 +0x170
internal/sync.(*Mutex).Lock(...)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/internal/sync/mutex.go:70
sync.(*Mutex).Lock(...)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/sync/mutex.go:46
git.eeqj.de/sneak/routewatch/internal/database.(*Database).lock(0x140000d6820, {0x100a9fc01, 0xd})
	/Users/user/dev/routewatch/internal/database/database.go:145 +0x18c
git.eeqj.de/sneak/routewatch/internal/database.(*Database).RecordPeering(0x140000d6820, 0xee019a488?, 0xbcea, {0x0, 0xee019a488, 0x0})
	/Users/user/dev/routewatch/internal/database/database.go:587 +0xe4
git.eeqj.de/sneak/routewatch/internal/routewatch.(*PeeringHandler).processPeerings(0x1400003e200)
	/Users/user/dev/routewatch/internal/routewatch/peeringhandler.go:205 +0x414
git.eeqj.de/sneak/routewatch/internal/routewatch.(*PeeringHandler).processLoop(0x1400003e200)
	/Users/user/dev/routewatch/internal/routewatch/peeringhandler.go:99 +0x68
created by git.eeqj.de/sneak/routewatch/internal/routewatch.NewPeeringHandler in goroutine 6
	/Users/user/dev/routewatch/internal/routewatch/peeringhandler.go:52 +0xec

goroutine 50 [select, 3 minutes]:
git.eeqj.de/sneak/routewatch/internal/routewatch.(*PeeringHandler).pruneLoop(0x1400003e200)
	/Users/user/dev/routewatch/internal/routewatch/peeringhandler.go:115 +0xa4
created by git.eeqj.de/sneak/routewatch/internal/routewatch.NewPeeringHandler in goroutine 6
	/Users/user/dev/routewatch/internal/routewatch/peeringhandler.go:53 +0x12c

goroutine 8 [sync.Mutex.Lock]:
internal/sync.runtime_SemacquireMutex(0x100a9928a?, 0x4?, 0x19?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/runtime/sema.go:95 +0x28
internal/sync.(*Mutex).lockSlow(0x140000d6840)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/internal/sync/mutex.go:149 +0x170
internal/sync.(*Mutex).Lock(...)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/internal/sync/mutex.go:70
sync.(*Mutex).Lock(...)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/sync/mutex.go:46
git.eeqj.de/sneak/routewatch/internal/database.(*Database).lock(0x140000d6820, {0x100aa3a1f, 0x13})
	/Users/user/dev/routewatch/internal/database/database.go:145 +0x18c
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetOrCreateASNBatch(0x140000d6820, 0x14010f95da0)
	/Users/user/dev/routewatch/internal/database/database.go:331 +0x50
git.eeqj.de/sneak/routewatch/internal/routewatch.(*ASHandler).flushBatchLocked(0x140001220e0)
	/Users/user/dev/routewatch/internal/routewatch/ashandler.go:150 +0x138
git.eeqj.de/sneak/routewatch/internal/routewatch.(*ASHandler).HandleMessage(0x140001220e0, 0x1401c1e87e0)
	/Users/user/dev/routewatch/internal/routewatch/ashandler.go:106 +0x2d0
git.eeqj.de/sneak/routewatch/internal/streamer.(*Streamer).runHandlerWorker(0x1400003e200?, 0x140001440a0)
	/Users/user/dev/routewatch/internal/streamer/streamer.go:168 +0x78
created by git.eeqj.de/sneak/routewatch/internal/streamer.(*Streamer).Start in goroutine 6
	/Users/user/dev/routewatch/internal/streamer/streamer.go:134 +0x128

goroutine 9 [sync.Mutex.Lock]:
internal/sync.runtime_SemacquireMutex(0x100a9928a?, 0x4?, 0x19?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/runtime/sema.go:95 +0x28
internal/sync.(*Mutex).lockSlow(0x140000d6840)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/internal/sync/mutex.go:149 +0x170
internal/sync.(*Mutex).Lock(...)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/internal/sync/mutex.go:70
sync.(*Mutex).Lock(...)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/sync/mutex.go:46
git.eeqj.de/sneak/routewatch/internal/database.(*Database).lock(0x140000d6820, {0x100aa0e27, 0xf})
	/Users/user/dev/routewatch/internal/database/database.go:145 +0x18c
git.eeqj.de/sneak/routewatch/internal/database.(*Database).UpdatePeerBatch(0x140000d6820, 0x14014fd8360)
	/Users/user/dev/routewatch/internal/database/database.go:639 +0x50
git.eeqj.de/sneak/routewatch/internal/routewatch.(*PeerHandler).flushBatchLocked(0x140001221c0)
	/Users/user/dev/routewatch/internal/routewatch/peerhandler.go:150 +0x35c
git.eeqj.de/sneak/routewatch/internal/routewatch.(*PeerHandler).HandleMessage(0x140001221c0, 0x1400bd92480)
	/Users/user/dev/routewatch/internal/routewatch/peerhandler.go:95 +0x1f8
git.eeqj.de/sneak/routewatch/internal/streamer.(*Streamer).runHandlerWorker(0x140000ce070?, 0x140001440f0)
	/Users/user/dev/routewatch/internal/streamer/streamer.go:168 +0x78
created by git.eeqj.de/sneak/routewatch/internal/streamer.(*Streamer).Start in goroutine 6
	/Users/user/dev/routewatch/internal/streamer/streamer.go:134 +0x128

goroutine 10 [runnable]:
github.com/mattn/go-sqlite3._Cfunc__sqlite3_step_row_internal(0x5256b9600, 0x140105413f8, 0x14010541480)
	_cgo_gotypes.go:397 +0x34
github.com/mattn/go-sqlite3.(*SQLiteStmt).execSync.func3(...)
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2124
github.com/mattn/go-sqlite3.(*SQLiteStmt).execSync(0x1401d62c060, {0x140052a81c0?, 0x9ad19cff?, 0x10059cd00?})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2124 +0x94
github.com/mattn/go-sqlite3.(*SQLiteStmt).exec(0x1401d62c060, {0x100c9ea00, 0x1012a9420}, {0x140052a81c0, 0xb, 0xb})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2085 +0x308
github.com/mattn/go-sqlite3.(*SQLiteStmt).ExecContext(0x1400011b608?, {0x100c9ea00?, 0x1012a9420?}, {0x140052a81c0?, 0x1?, 0x1005b5750?})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3_go18.go:53 +0x28
database/sql.ctxDriverStmtExec({0x100c9ea00, 0x1012a9420}, {0x100c9eca0, 0x1401d62c060}, {0x140052a81c0, 0xb, 0x140035148d0?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/ctxutil.go:65 +0x9c
database/sql.resultFromStatement({0x100c9ea00, 0x1012a9420}, {0x100c9e1d8, 0x14003d0d260}, 0x1400e2eb180, {0x1400011b568, 0xb, 0xb})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:2680 +0xd4
database/sql.(*Stmt).ExecContext.func1(0x0?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:2654 +0x8c
database/sql.(*DB).retry(0x1400011b388?, 0x1400011b3a0)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1576 +0x4c
database/sql.(*Stmt).ExecContext(0x100c8d800?, {0x100c9ea00?, 0x1012a9420?}, {0x1400011b568?, 0x1f6?, 0x146798250?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:2648 +0x124
database/sql.(*Stmt).Exec(...)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:2668
git.eeqj.de/sneak/routewatch/internal/database.(*Database).UpsertLiveRouteBatch(0x140000d6820, {0x14004b36000, 0x1c14, 0x1907?})
	/Users/user/dev/routewatch/internal/database/database.go:230 +0x4a0
git.eeqj.de/sneak/routewatch/internal/routewatch.(*PrefixHandler).flushBatchLocked(0x140000ce070)
	/Users/user/dev/routewatch/internal/routewatch/prefixhandler.go:207 +0x554
git.eeqj.de/sneak/routewatch/internal/routewatch.(*PrefixHandler).HandleMessage(0x140000ce070, 0x140068966c0)
	/Users/user/dev/routewatch/internal/routewatch/prefixhandler.go:133 +0x308
git.eeqj.de/sneak/routewatch/internal/streamer.(*Streamer).runHandlerWorker(0x0?, 0x140000d6000)
	/Users/user/dev/routewatch/internal/streamer/streamer.go:168 +0x78
created by git.eeqj.de/sneak/routewatch/internal/streamer.(*Streamer).Start in goroutine 6
	/Users/user/dev/routewatch/internal/streamer/streamer.go:134 +0x128

goroutine 11 [chan receive]:
git.eeqj.de/sneak/routewatch/internal/streamer.(*Streamer).runHandlerWorker(0x0?, 0x140000d6050)
	/Users/user/dev/routewatch/internal/streamer/streamer.go:166 +0x38
created by git.eeqj.de/sneak/routewatch/internal/streamer.(*Streamer).Start in goroutine 6
	/Users/user/dev/routewatch/internal/streamer/streamer.go:134 +0x128

goroutine 12 [runnable]:
encoding/json.(*decodeState).literalStore(0x14005136870, {0x14001251fcf, 0x13e, 0x4031}, {0x100bcb3a0?, 0x1400513e120?, 0x14000b5b468?}, 0x0)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/encoding/json/decode.go:953 +0x838
encoding/json.(*decodeState).value(0x14005136870, {0x100bcb3a0?, 0x1400513e120?, 0x3?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/encoding/json/decode.go:389 +0x114
encoding/json.(*decodeState).object(0x14005136870, {0x100c82e60?, 0x1400513e010?, 0x4237?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/encoding/json/decode.go:762 +0xae4
encoding/json.(*decodeState).value(0x14005136870, {0x100c82e60?, 0x1400513e010?, 0x0?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/encoding/json/decode.go:375 +0x40
encoding/json.(*decodeState).object(0x14005136870, {0x100bb66c0?, 0x1400513e000?, 0x100668090?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/encoding/json/decode.go:762 +0xae4
encoding/json.(*decodeState).value(0x14005136870, {0x100bb66c0?, 0x1400513e000?, 0x100667b90?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/encoding/json/decode.go:375 +0x40
encoding/json.(*decodeState).unmarshal(0x14005136870, {0x100bb66c0?, 0x1400513e000?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/encoding/json/decode.go:178 +0x100
encoding/json.Unmarshal({0x14001251dc1, 0x34e, 0x423f}, {0x100bb66c0, 0x1400513e000})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/encoding/json/decode.go:108 +0xe4
git.eeqj.de/sneak/routewatch/internal/streamer.(*Streamer).stream(0x14000232000, {0x100c9ea70, 0x14000144000})
	/Users/user/dev/routewatch/internal/streamer/streamer.go:396 +0x440
git.eeqj.de/sneak/routewatch/internal/streamer.(*Streamer).Start.func1()
	/Users/user/dev/routewatch/internal/streamer/streamer.go:138 +0x2c
created by git.eeqj.de/sneak/routewatch/internal/streamer.(*Streamer).Start in goroutine 6
	/Users/user/dev/routewatch/internal/streamer/streamer.go:137 +0x1f8

goroutine 66 [runnable]:
syscall.Getsockname(0x27?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/syscall/syscall_bsd.go:298 +0x90
net.(*netFD).accept(0x140000d4080)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/net/fd_unix.go:188 +0x19c
net.(*TCPListener).accept(0x14000116000)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/net/tcpsock_posix.go:159 +0x24
net.(*TCPListener).Accept(0x14000116000)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/net/tcpsock.go:380 +0x2c
net/http.(*Server).Serve(0x1400014e100, {0x100c9e118, 0x14000116000})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/net/http/server.go:3424 +0x290
net/http.(*Server).ListenAndServe(0x1400014e100)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/net/http/server.go:3350 +0x84
git.eeqj.de/sneak/routewatch/internal/server.(*Server).Start.func1()
	/Users/user/dev/routewatch/internal/server/server.go:55 +0x28
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).Start in goroutine 6
	/Users/user/dev/routewatch/internal/server/server.go:54 +0x19c

goroutine 38 [select, 3 minutes]:
net/http.(*persistConn).readLoop(0x14000000a20)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/net/http/transport.go:2395 +0xb04
created by net/http.(*Transport).dialConn in goroutine 13
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/net/http/transport.go:1944 +0x11c4

goroutine 477992 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 477991
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 39 [select, 3 minutes]:
net/http.(*persistConn).writeLoop(0x14000000a20)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/net/http/transport.go:2590 +0x9c
created by net/http.(*Transport).dialConn in goroutine 13
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/net/http/transport.go:1945 +0x120c

goroutine 470084 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 470083
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 63 [select]:
git.eeqj.de/sneak/routewatch/internal/streamer.(*Streamer).stream.func2()
	/Users/user/dev/routewatch/internal/streamer/streamer.go:356 +0x94
created by git.eeqj.de/sneak/routewatch/internal/streamer.(*Streamer).stream in goroutine 12
	/Users/user/dev/routewatch/internal/streamer/streamer.go:354 +0x1cc

goroutine 495650 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 493249
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 29330 [chan send, 3 minutes]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 28113
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 479864 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 479863
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 503528 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 503527
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 463058 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 460833
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 463034 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 463033
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 195877 [chan send, 2 minutes]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 195876
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 510362 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 510361
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 307156 [chan send, 1 minutes]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 307155
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 463037 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 463036
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 460828 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 460827
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 487943 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 487942
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 377779 [chan send, 1 minutes]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 377778
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 519252 [select]:
database/sql.(*DB).conn(0x140000e7520, {0x100c9ea00, 0x1012a9420}, 0x1)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1369 +0x49c
database/sql.(*DB).query(0x140000e7520, {0x100c9ea00, 0x1012a9420}, {0x100aad211, 0x20}, {0x0, 0x0, 0x0}, 0x98?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1759 +0x40
database/sql.(*DB).QueryContext.func1(0x28?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1742 +0x54
database/sql.(*DB).retry(0x0?, 0x140042b3c10)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1576 +0x4c
database/sql.(*DB).QueryContext(0x140042b3cb8?, {0x100c9ea00?, 0x1012a9420?}, {0x100aad211?, 0x140047c4ac8?}, {0x0?, 0x0?, 0x140047c4a90?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1741 +0x94
database/sql.(*DB).QueryRowContext(...)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1842
database/sql.(*DB).QueryRow(0x140000324b0?, {0x100aad211?, 0x1e?}, {0x0?, 0x0?, 0x0?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1856 +0x48
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetStats(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:799 +0x2ec
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:237 +0x64
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 519251
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 493255 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 493254
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 506087 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 506086
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 502448 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 502447
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 510451 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 510450
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 198769 [chan send, 2 minutes]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 198768
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 479647 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 479646
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 470103 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 470102
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 503557 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 503556
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 498830 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 498829
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 493250 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 490705
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 472845 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 472844
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 1592 [chan send, 3 minutes]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 1591
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 503805 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 503804
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 506115 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 506114
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 502193 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 502192
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 228546 [chan send, 1 minutes]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 228545
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 514499 [syscall]:
github.com/mattn/go-sqlite3._Cfunc__sqlite3_step_internal(0x533a81150)
	_cgo_gotypes.go:384 +0x34
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked.func1(...)
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked(0x14004a5b800, {0x1400ae813e0, 0x2, 0x2?})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233 +0x64
github.com/mattn/go-sqlite3.(*SQLiteRows).Next(0x14004a5b800, {0x1400ae813e0, 0x2, 0x2})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2209 +0x2fc
database/sql.(*Rows).nextLocked(0x140045a0820)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3066 +0x144
database/sql.(*Rows).Next.func1()
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3041 +0x30
database/sql.withLock({0x100c9bee8, 0x140045a0858}, 0x14000b61b98)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3574 +0x74
database/sql.(*Rows).Next(0x140045a0820)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3040 +0x74
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetPrefixDistribution(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:925 +0x38c
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetStats(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:805 +0x3ec
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:237 +0x64
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 514498
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 469632 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 469631
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 503838 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 503837
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 505325 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 505324
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 520147 [chan receive]:
database/sql.(*Tx).awaitDone(0x1400ba2f380)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:2212 +0x34
created by database/sql.(*DB).beginDC in goroutine 10
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1925 +0x19c

goroutine 520757 [select]:
database/sql.(*DB).conn(0x140000e7520, {0x100c9ea00, 0x1012a9420}, 0x1)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1369 +0x49c
database/sql.(*DB).query(0x140000e7520, {0x100c9ea00, 0x1012a9420}, {0x100aaaec5, 0x1d}, {0x0, 0x0, 0x0}, 0x0?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1759 +0x40
database/sql.(*DB).QueryContext.func1(0x58?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1742 +0x54
database/sql.(*DB).retry(0x406fb88?, 0x1400406fb80)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1576 +0x4c
database/sql.(*DB).QueryContext(0x3a85f48d34b?, {0x100c9ea00?, 0x1012a9420?}, {0x100aaaec5?, 0x9867822fb935?}, {0x0?, 0xe85f0f80406fc48?, 0x6887ade8?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1741 +0x94
database/sql.(*DB).QueryRowContext(...)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1842
database/sql.(*DB).QueryRow(0x14004049180?, {0x100aaaec5?, 0x1400406fcd8?}, {0x0?, 0x14004049180?, 0x1400406fdc0?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1856 +0x48
git.eeqj.de/sneak/routewatch/internal/database.(*Database).queryRow(0x140000d6820, {0x100aaaec5, 0x1d}, {0x0, 0x0, 0x0})
	/Users/user/dev/routewatch/internal/database/slowquery.go:26 +0xb4
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetStats(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:759 +0xb4
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:237 +0x64
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 520756
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 482735 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 482734
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 470079 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 470078
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 24764 [chan send, 3 minutes]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 24763
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 515927 [runnable]:
github.com/mattn/go-sqlite3._Cfunc__sqlite3_step_internal(0x548f10ca0)
	_cgo_gotypes.go:384 +0x34
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked.func1(...)
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked(0x1401c1999e0, {0x14004603560, 0x2, 0x10059d998?})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233 +0x64
github.com/mattn/go-sqlite3.(*SQLiteRows).Next(0x1401c1999e0, {0x14004603560, 0x2, 0x2})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2209 +0x2fc
database/sql.(*Rows).nextLocked(0x140047288c0)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3066 +0x144
database/sql.(*Rows).Next.func1()
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3041 +0x30
database/sql.withLock({0x100c9bee8, 0x140047288f8}, 0x14000199b98)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3574 +0x74
database/sql.(*Rows).Next(0x140047288c0)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3040 +0x74
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetPrefixDistribution(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:903 +0x168
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetStats(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:805 +0x3ec
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:237 +0x64
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 515926
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 472866 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 471937
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 469646 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 469645
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 518752 [syscall]:
github.com/mattn/go-sqlite3._Cfunc__sqlite3_step_internal(0x547a61ab0)
	_cgo_gotypes.go:384 +0x34
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked.func1(...)
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked(0x1400af3ad80, {0x14016cd2d20, 0x2, 0x10059d998?})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233 +0x64
github.com/mattn/go-sqlite3.(*SQLiteRows).Next(0x1400af3ad80, {0x14016cd2d20, 0x2, 0x2})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2209 +0x2fc
database/sql.(*Rows).nextLocked(0x14004049220)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3066 +0x144
database/sql.(*Rows).Next.func1()
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3041 +0x30
database/sql.withLock({0x100c9bee8, 0x14004049258}, 0x14018967b98)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3574 +0x74
database/sql.(*Rows).Next(0x14004049220)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3040 +0x74
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetPrefixDistribution(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:903 +0x168
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetStats(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:805 +0x3ec
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:237 +0x64
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 518751
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 495636 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 495635
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 508808 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 508807
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 482730 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 482729
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 493056 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 493055
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 468137 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 468136
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 514512 [syscall]:
github.com/mattn/go-sqlite3._Cfunc__sqlite3_step_internal(0x15002bb80)
	_cgo_gotypes.go:384 +0x34
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked.func1(...)
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked(0x1401c199920, {0x14004602760, 0x2, 0x10059d998?})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233 +0x64
github.com/mattn/go-sqlite3.(*SQLiteRows).Next(0x1401c199920, {0x14004602760, 0x2, 0x2})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2209 +0x2fc
database/sql.(*Rows).nextLocked(0x14004728780)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3066 +0x144
database/sql.(*Rows).Next.func1()
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3041 +0x30
database/sql.withLock({0x100c9bee8, 0x140047287b8}, 0x14007e6fb98)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3574 +0x74
database/sql.(*Rows).Next(0x14004728780)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3040 +0x74
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetPrefixDistribution(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:903 +0x168
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetStats(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:805 +0x3ec
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:237 +0x64
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 514511
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 462205 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 462204
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 472872 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 472871
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 463017 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 463016
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 455221 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 455220
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 463020 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 463019
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 513244 [syscall]:
github.com/mattn/go-sqlite3._Cfunc__sqlite3_step_internal(0x53f6b28c0)
	_cgo_gotypes.go:384 +0x34
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked.func1(...)
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked(0x140179cf140, {0x1401a898e00, 0x2, 0x10059d998?})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233 +0x64
github.com/mattn/go-sqlite3.(*SQLiteRows).Next(0x140179cf140, {0x1401a898e00, 0x2, 0x2})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2209 +0x2fc
database/sql.(*Rows).nextLocked(0x1400259dea0)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3066 +0x144
database/sql.(*Rows).Next.func1()
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3041 +0x30
database/sql.withLock({0x100c9bee8, 0x1400259ded8}, 0x14003117b98)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3574 +0x74
database/sql.(*Rows).Next(0x1400259dea0)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3040 +0x74
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetPrefixDistribution(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:925 +0x38c
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetStats(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:805 +0x3ec
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:237 +0x64
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 513243
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 472854 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 472853
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 479753 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 479752
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 479183 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 479182
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 466968 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 466967
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 507901 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 507900
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 497830 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 497829
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 520509 [select]:
database/sql.(*DB).conn(0x140000e7520, {0x100c9ea00, 0x1012a9420}, 0x1)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1369 +0x49c
database/sql.(*DB).query(0x140000e7520, {0x100c9ea00, 0x1012a9420}, {0x100aa7e95, 0x19}, {0x0, 0x0, 0x0}, 0x0?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1759 +0x40
database/sql.(*DB).QueryContext.func1(0xb8?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1742 +0x54
database/sql.(*DB).retry(0x108?, 0x14019ba1b80)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1576 +0x4c
database/sql.(*DB).QueryContext(0x3a85f9055dd?, {0x100c9ea00?, 0x1012a9420?}, {0x100aa7e95?, 0x98678dd34ef8?}, {0x0?, 0x1a298e3819ba1c78?, 0x6887ade8?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1741 +0x94
database/sql.(*DB).QueryRowContext(...)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1842
database/sql.(*DB).QueryRow(0x101484f30?, {0x100aa7e95?, 0x14000093808?}, {0x0?, 0x14019ba1ca8?, 0x10054105c?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1856 +0x48
git.eeqj.de/sneak/routewatch/internal/database.(*Database).queryRow(0x140000d6820, {0x100aa7e95, 0x19}, {0x0, 0x0, 0x0})
	/Users/user/dev/routewatch/internal/database/slowquery.go:26 +0xb4
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetStats(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:753 +0x6c
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:237 +0x64
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 520508
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 371676 [chan send, 1 minutes]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 371675
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 506077 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 506076
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 503578 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 503577
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 503573 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 503572
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 470116 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 470115
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 510455 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 510454
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 510438 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 510437
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 493245 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 493244
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 477996 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 477995
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 475968 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 475967
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 519985 [select]:
database/sql.(*DB).conn(0x140000e7520, {0x100c9ea00, 0x1012a9420}, 0x1)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1369 +0x49c
database/sql.(*DB).query(0x140000e7520, {0x100c9ea00, 0x1012a9420}, {0x100aaaec5, 0x1d}, {0x0, 0x0, 0x0}, 0x0?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1759 +0x40
database/sql.(*DB).QueryContext.func1(0x58?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1742 +0x54
database/sql.(*DB).retry(0x19bb88?, 0x1400019bb80)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1576 +0x4c
database/sql.(*DB).QueryContext(0x3a85f48d621?, {0x100c9ea00?, 0x1012a9420?}, {0x100aaaec5?, 0x986782302f5f?}, {0x0?, 0xe866a100019bc48?, 0x6887ade8?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1741 +0x94
database/sql.(*DB).QueryRowContext(...)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1842
database/sql.(*DB).QueryRow(0x1400259de00?, {0x100aaaec5?, 0x1400019bcd8?}, {0x0?, 0x1400259de00?, 0x1400019bdc0?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1856 +0x48
git.eeqj.de/sneak/routewatch/internal/database.(*Database).queryRow(0x140000d6820, {0x100aaaec5, 0x1d}, {0x0, 0x0, 0x0})
	/Users/user/dev/routewatch/internal/database/slowquery.go:26 +0xb4
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetStats(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:759 +0xb4
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:237 +0x64
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 519984
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 503554 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 501905
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 487954 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 481425
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 479830 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 479829
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 478289 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 478288
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 518965 [syscall]:
github.com/mattn/go-sqlite3._Cfunc__sqlite3_step_internal(0x3b16e9f60)
	_cgo_gotypes.go:384 +0x34
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked.func1(...)
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked(0x1401a1df3e0, {0x140100b0a00, 0x2, 0x10059d998?})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233 +0x64
github.com/mattn/go-sqlite3.(*SQLiteRows).Next(0x1401a1df3e0, {0x140100b0a00, 0x2, 0x2})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2209 +0x2fc
database/sql.(*Rows).nextLocked(0x1400357d860)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3066 +0x144
database/sql.(*Rows).Next.func1()
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3041 +0x30
database/sql.withLock({0x100c9bee8, 0x1400357d898}, 0x14007e6db98)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3574 +0x74
database/sql.(*Rows).Next(0x1400357d860)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3040 +0x74
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetPrefixDistribution(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:903 +0x168
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetStats(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:805 +0x3ec
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:237 +0x64
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 518964
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 510357 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 510356
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 475135 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 475134
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 489915 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 489914
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 503542 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 503541
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 495258 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 495257
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 510427 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 510426
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 479842 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 479825
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 495628 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 495627
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 472431 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 472430
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 472491 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 472490
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 495647 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 495646
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 497491 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 497490
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 470099 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 470098
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 503592 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 503591
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 503595 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 503594
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 510447 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 510446
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 479641 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 479640
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 377777 [chan send, 1 minutes]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 377776
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 222302 [chan send, 1 minutes]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 222301
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 488274 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 488273
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 517123 [syscall]:
github.com/mattn/go-sqlite3._Cfunc__sqlite3_step_internal(0x52455a8c0)
	_cgo_gotypes.go:384 +0x34
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked.func1(...)
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked(0x14013811ec0, {0x1401d327e80, 0x2, 0x10059d998?})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233 +0x64
github.com/mattn/go-sqlite3.(*SQLiteRows).Next(0x14013811ec0, {0x1401d327e80, 0x2, 0x2})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2209 +0x2fc
database/sql.(*Rows).nextLocked(0x14004289d60)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3066 +0x144
database/sql.(*Rows).Next.func1()
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3041 +0x30
database/sql.withLock({0x100c9bee8, 0x14004289d98}, 0x14000b5fb98)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3574 +0x74
database/sql.(*Rows).Next(0x14004289d60)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3040 +0x74
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetPrefixDistribution(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:903 +0x168
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetStats(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:805 +0x3ec
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:237 +0x64
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 517122
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 487971 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 487970
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 506047 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 506046
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 513865 [syscall]:
github.com/mattn/go-sqlite3._Cfunc__sqlite3_step_internal(0x300bf9ab0)
	_cgo_gotypes.go:384 +0x34
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked.func1(...)
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked(0x140047d81e0, {0x14019d445a0, 0x2, 0x10059d998?})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233 +0x64
github.com/mattn/go-sqlite3.(*SQLiteRows).Next(0x140047d81e0, {0x14019d445a0, 0x2, 0x2})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2209 +0x2fc
database/sql.(*Rows).nextLocked(0x140047bfae0)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3066 +0x144
database/sql.(*Rows).Next.func1()
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3041 +0x30
database/sql.withLock({0x100c9bee8, 0x140047bfb18}, 0x14000b5db98)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3574 +0x74
database/sql.(*Rows).Next(0x140047bfae0)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3040 +0x74
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetPrefixDistribution(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:925 +0x38c
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetStats(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:805 +0x3ec
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:237 +0x64
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 513864
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 520748 [select]:
database/sql.(*DB).conn(0x140000e7520, {0x100c9ea00, 0x1012a9420}, 0x1)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1369 +0x49c
database/sql.(*DB).query(0x140000e7520, {0x100c9ea00, 0x1012a9420}, {0x100aa7e95, 0x19}, {0x0, 0x0, 0x0}, 0x0?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1759 +0x40
database/sql.(*DB).QueryContext.func1(0xb8?)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1742 +0x54
database/sql.(*DB).retry(0x108?, 0x1400c7a6b80)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1576 +0x4c
database/sql.(*DB).QueryContext(0x3a85f906592?, {0x100c9ea00?, 0x1012a9420?}, {0x100aa7e95?, 0x98678dd5dd6e?}, {0x0?, 0x1a2c1a900c7a6c78?, 0x6887ade8?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1741 +0x94
database/sql.(*DB).QueryRowContext(...)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1842
database/sql.(*DB).QueryRow(0x1014853e8?, {0x100aa7e95?, 0x14000101008?}, {0x0?, 0x1400c7a6ca8?, 0x10054105c?})
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:1856 +0x48
git.eeqj.de/sneak/routewatch/internal/database.(*Database).queryRow(0x140000d6820, {0x100aa7e95, 0x19}, {0x0, 0x0, 0x0})
	/Users/user/dev/routewatch/internal/database/slowquery.go:26 +0xb4
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetStats(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:753 +0x6c
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:237 +0x64
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 520747
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 479826 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 479633
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 469628 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 469627
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 506084 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 506083
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 506101 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 506100
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 479858 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 479185
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 463009 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 463008
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 509536 [syscall]:
github.com/mattn/go-sqlite3._Cfunc__sqlite3_step_internal(0x5492c0ca0)
	_cgo_gotypes.go:384 +0x34
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked.func1(...)
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233
github.com/mattn/go-sqlite3.(*SQLiteRows).nextSyncLocked(0x1401a1df620, {0x140100b1ae0, 0x2, 0x10059d998?})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2233 +0x64
github.com/mattn/go-sqlite3.(*SQLiteRows).Next(0x1401a1df620, {0x140100b1ae0, 0x2, 0x2})
	/Users/user/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.29/sqlite3.go:2209 +0x2fc
database/sql.(*Rows).nextLocked(0x1400357da40)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3066 +0x144
database/sql.(*Rows).Next.func1()
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3041 +0x30
database/sql.withLock({0x100c9bee8, 0x1400357da78}, 0x14019a43b98)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3574 +0x74
database/sql.(*Rows).Next(0x1400357da40)
	/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4/share/go/src/database/sql/sql.go:3040 +0x74
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetPrefixDistribution(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:925 +0x38c
git.eeqj.de/sneak/routewatch/internal/database.(*Database).GetStats(0x140000d6820)
	/Users/user/dev/routewatch/internal/database/database.go:805 +0x3ec
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:237 +0x64
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 509535
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 510430 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 510429
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 508811 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 508810
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 489920 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 489919
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 470072 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 470071
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 510442 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 510441
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 469502 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 469501
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 489896 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 489895
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 495642 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 495641
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0

goroutine 497523 [chan send]:
git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1.1()
	/Users/user/dev/routewatch/internal/server/handlers.go:244 +0x180
created by git.eeqj.de/sneak/routewatch/internal/server.(*Server).setupRoutes.func1.(*Server).handleStats.1 in goroutine 497522
	/Users/user/dev/routewatch/internal/server/handlers.go:236 +0x1a0
