🔧 feat: add OpenTelemetry instrumentation to persistence layer
Some checks failed
CI/CD Pipeline / CI Pipeline (push) Has been cancelled
CI/CD Pipeline / CI Pipeline (pull_request) Successful in 11m33s

- Added persistence telemetry configuration option (telemetry.persistence.enabled)
- Created PersistenceTelemetryConfig struct for fine-grained control
- Added GetPersistenceTelemetryEnabled() helper method
- Implemented telemetry span creation in SQLite repository
- Added OpenTelemetry instrumentation to key repository methods:
  - CreateUser: Tracks user creation with error recording
  - GetUserByUsername: Tracks queries with username attribute
- Maintained backward compatibility - telemetry is optional and disabled by default
- Updated all tests to pass config parameter to repository constructor
- Added proper error recording and span attributes for observability

Benefits:
- Performance monitoring of database operations
- Flamegraph generation capability for persistence layer
- Distributed tracing across service boundaries
- Configurable instrumentation for production vs development

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
2026-04-07 00:50:17 +02:00
parent fec3b46e50
commit d661098c5c
5 changed files with 86 additions and 19 deletions

View File

@@ -12,14 +12,14 @@
// @license.name MIT
// @license.url https://opensource.org/licenses/MIT
// @host localhost:8080
// @BasePath /api
// @schemes http https
// @host localhost:8080
// @BasePath /api
// @schemes http https
//
// @securityDefinitions.apikey ApiKeyAuth
// @in header
// @name Authorization
// @description JWT authentication using Bearer token. Format: Bearer <token>
// @in header
// @name Authorization
// @description JWT authentication using Bearer token. Format: Bearer <token>
package main