Commit Graph

462 Commits

Author SHA1 Message Date
Marc Schäfer
db4ebb9fa8 fix(prometheus): clarify instructions regarding scraping the Collector
Former-commit-id: b68777e83a
2025-10-10 15:29:45 +02:00
Marc Schäfer
57e092f02b fix(docker-compose): improve comments for clarity on port mapping and collector usage
Former-commit-id: 8d26de5f4d
2025-10-10 15:29:24 +02:00
Marc Schäfer
99b8630fa1 fix(readme): enhance clarity and structure of installation and documentation sections
Former-commit-id: c32828128f
2025-10-10 14:49:14 +02:00
Marc Schäfer
664cf5dadd fix(prometheus): update comment for clarity and consistency in scraping instructions
Former-commit-id: 3cd7329d8b
2025-10-10 14:47:49 +02:00
Marc Schäfer
3e753c0848 fix(docker-compose, prometheus): remove unnecessary comments and improve clarity
Former-commit-id: 3490220803
2025-10-10 14:46:17 +02:00
Marc Schäfer
495ff18366 fix(docker-compose, prometheus, telemetry, proxy): standardize collector naming and improve error handling
Former-commit-id: bd62da4cc9
2025-10-10 14:42:05 +02:00
Marc Schäfer
6bddd8ea01 fix(metrics): enhance documentation clarity and structure for metrics recommendations
Former-commit-id: 8d0e6be2c7
2025-10-10 14:17:24 +02:00
Marc Schäfer
d01a1316c7 fix(manager, stub, util): enhance error handling and logging consistency
Former-commit-id: b62e18622e
2025-10-10 14:16:28 +02:00
Marc Schäfer
54599899dd fix(wgtester): improve logging format for consistency and clarity
Former-commit-id: 77d56596ab
2025-10-08 08:14:35 +02:00
Marc Schäfer
fb3f7ab29f fix(main): refactor logging messages and introduce constants for improved readability
Former-commit-id: 6ec0ab813c
2025-10-08 08:14:25 +02:00
Marc Schäfer
0c3de24b2b fix(websocket): improve error type handling in connection establishment and ping monitoring
Former-commit-id: fef9e8c76b
2025-10-08 08:14:04 +02:00
Marc Schäfer
d09ae97d67 fix(sonar-telemetry): update observeSessionsFor function to include siteID and improve attribute handling
Former-commit-id: ae5129a7c7
2025-10-08 08:13:35 +02:00
Marc Schäfer
c364ba0a0b fix(docker-compose): update comments in metrics configuration for clarity and consistency
Former-commit-id: ed127a2d61
2025-10-08 08:12:58 +02:00
Marc Schäfer
20fa84208d fix(telemetry): update proxyStopper to be a no-op function when registration fails
Former-commit-id: 20ddbb5382
2025-10-08 08:12:20 +02:00
Marc Schäfer
c5e25d7c36 fix(docker-compose): update newt service configuration to use local build and environment file
Former-commit-id: 5cbda35637
2025-10-08 07:34:27 +02:00
Marc Schäfer
afe687c781 fix(telemetry): improve error handling and formatting in telemetry setup functions
Former-commit-id: 60196455d1
2025-10-08 07:33:11 +02:00
Marc Schäfer
5071489fae docs(observability): update code blocks to specify language for better syntax highlighting
Former-commit-id: 84e659acde
2025-10-08 01:12:51 +02:00
Marc Schäfer
9d62e2d110 fix(sonar): SetObservableCallback uses unregister stopper instead of empty function to satisfy S1186
Former-commit-id: e16881b7c8
2025-10-08 01:09:18 +02:00
Marc Schäfer
221db4709b fix(build): use Registration.Unregister() without context; return tracer shutdown func from setupTracing
Former-commit-id: 587e829e42
2025-10-08 01:07:08 +02:00
Marc Schäfer
166335b30d refactor(telemetry): reduce cognitive complexity by splitting registerInstruments and Init; add unregister stoppers; extract state_view helpers
Former-commit-id: ee2f8899ff
2025-10-08 01:06:13 +02:00
Marc Schäfer
781ab23aef docs(README): add Observability Quickstart section and link to docs/observability.md
Former-commit-id: 744a741556
2025-10-08 01:01:33 +02:00
Marc Schäfer
38b52b0fbd docs: add Quickstart in observability; examples: add docker-compose.metrics.collector.yml and prometheus.with-collector.yml (collector-only scrape)
Former-commit-id: aea80200e0
2025-10-08 00:58:30 +02:00
Marc Schäfer
9db7da4426 feat(metrics): NEWT_METRICS_INCLUDE_TUNNEL_ID toggle; conditionally drop tunnel_id across bytes/sessions/proxy/reconnect; docs and smoke test updated; examples/prometheus.yml with relabels; docker-compose defaults avoid double-scrape
Former-commit-id: b20f7a02b2
2025-10-08 00:53:40 +02:00
Marc Schäfer
9f682c3a5f fix(telemetry): adapt to RegisterCallback returning (Registration, error)
Former-commit-id: f28d90595b
2025-10-08 00:46:41 +02:00
Marc Schäfer
7f6d518604 docs+examples: document direction=ingress|egress, initiator and error_type enums; add cardinality relabel tips; provide Collector variants; add scripts/smoke-metrics.sh
Former-commit-id: 4a90e36a44
2025-10-08 00:46:01 +02:00
Marc Schäfer
eb87b24d13 fix(metrics): direction=ingress|egress for bytes; remove transport on tunnel_sessions; extend allow-list (msg_type, phase); add units for histograms and bytes; handle callback errors; normalize error_type taxonomy; HTTP error mapping to enums
Former-commit-id: 9ace45e71f
2025-10-08 00:43:53 +02:00
Marc Schäfer
967e8e6e4b fix: update IncReconnect for auth failures; import metric in proxy manager for observable callback
Former-commit-id: 75d5e695d6
2025-10-08 00:32:39 +02:00
Marc Schäfer
61489d46cd feat(phase2): websocket connect latency and message counters; proxy active/buffer/drops gauges and counters; config apply histogram; reconnect initiator label; update call-sites
Former-commit-id: d74065a71b
2025-10-08 00:30:07 +02:00
Marc Schäfer
0e4e2a6ca2 docs: update observability catalog to include site_id labels and clarify transport vs protocol; add METRICS_RECOMMENDATIONS.md with roadmap and ops guidance
Former-commit-id: f86031f458
2025-10-08 00:10:54 +02:00
Marc Schäfer
0c51a6d498 test(telemetry): assert allowed attribute site_id appears in metrics exposition
Former-commit-id: 31f70e5032
2025-10-08 00:10:17 +02:00
Marc Schäfer
ab83c071f8 feat(proxy): add site_id (and optional region) to bytes attribute sets for tunnel metrics
Former-commit-id: 31514f26df
2025-10-08 00:10:03 +02:00
Marc Schäfer
f9b824d227 fix(main): remove duplicate ClearTunnelID/State and call telemetry.UpdateSiteInfo after resolving client ID
Former-commit-id: 09fcb36963
2025-10-08 00:09:44 +02:00
Marc Schäfer
cbc7931bc4 feat(telemetry/state_view): add site_id label to gauges and set tunnel_sessions transport=wireguard (no hardcoded tcp)
Former-commit-id: 83c3ae5cf9
2025-10-08 00:09:30 +02:00
Marc Schäfer
3461fe2e09 feat(telemetry,metrics): allow site_id/region in attribute filter; read site_id from NEWT_SITE_ID/NEWT_ID or OTEL_RESOURCE_ATTRIBUTES; propagate site_id/region labels across metrics; include site labels in build_info; seed global site info
Former-commit-id: 1e88fb86b4
2025-10-08 00:09:17 +02:00
Marc Schäfer
f6be21c816 remove: removed test results
Former-commit-id: 62407b0c74
2025-10-08 00:02:44 +02:00
Marc Schäfer
7d62b6ceb3 fix: Update observability documentation to correct code block syntax and improve clarity
Former-commit-id: d91c6ef168
2025-10-08 00:00:56 +02:00
Marc Schäfer
27342ddf18 chore: Update docker-compose.metrics.yml for improved service configuration
Former-commit-id: 59e8d79404
2025-10-07 23:55:47 +02:00
Marc Schäfer
8e2f2b5acb fix: Remove unnecessary blank line in prometheus.yml
Former-commit-id: d907ae9e84
2025-10-07 23:55:23 +02:00
Marc Schäfer
c03f64a524 feat: Add Grafana dashboard and Prometheus datasource configuration files
Former-commit-id: d745aa79d4
2025-10-07 18:45:40 +02:00
Marc Schäfer
20068aa974 fix: Update observability documentation to clarify resource attributes and scraping strategy
Former-commit-id: 427ab67bb5
2025-10-07 18:45:02 +02:00
Marc Schäfer
2a80d1fd45 refactor: Simplify telemetry metrics by removing site_id and enhancing tunnel_id usage
Former-commit-id: a86b14d97d
2025-10-07 18:43:09 +02:00
Marc Schäfer
1561554fec fix: Update otel-collector.yaml and docker-compose to correct endpoint configurations and enhance resource detection
Former-commit-id: f8fd8e1bc5
2025-10-07 17:53:55 +02:00
Marc Schäfer
2f3be0a543 fix: Update otel-collector.yaml to correct resource attribute checks and streamline processor/exporter configuration
Former-commit-id: 0b5e662abc
2025-10-07 12:37:44 +02:00
Marc Schäfer
06963e01fc feat: Add .env.example file and update docker-compose to use environment variables
Former-commit-id: bd55269b39
2025-10-07 12:37:16 +02:00
Marc Schäfer
f859430fcd chore: Update OpenTelemetry collector image to version 0.136.0
Former-commit-id: 3e9c74a65b
2025-10-07 11:51:13 +02:00
Marc Schäfer
cf7ae26a39 chore: Update Dockerfile to enhance Go proxy settings and optimize build process
Former-commit-id: 922591b269
2025-10-07 11:36:23 +02:00
Marc Schäfer
a3c20711a3 chore: No code changes made to the Dockerfile
Former-commit-id: cfe52caa4a
2025-10-07 11:30:53 +02:00
Marc Schäfer
8dc644ca48 feat: Update Dockerfile to include installation of git and ca-certificates
Former-commit-id: d31d08c1c8
2025-10-07 11:25:07 +02:00
Marc Schäfer
044fd996fb feat: Add Docker Compose configuration for OpenTelemetry collector and Prometheus
Former-commit-id: 9ac4cee48d
2025-10-07 11:09:20 +02:00
Marc Schäfer
172b2816db feat: Implement telemetry for reconnect reasons and RTT reporting
- Added telemetry hooks to track reconnect reasons for WireGuard connections, including server requests and authentication errors.
- Introduced RTT reporting to telemetry for better latency monitoring.
- Enhanced metrics configuration with flags for Prometheus and OTLP exporters.
- Implemented graceful shutdown and signal handling in the main application.
- Updated WebSocket client to classify connection errors and report them to telemetry.
- Added support for async byte counting in metrics.
- Improved handling of reconnect scenarios in the WireGuard service.
- Added documentation for applying patches and rollback procedures.


Former-commit-id: b53fb70778
2025-10-07 09:17:05 +02:00