Files
spend-sparrow/main.go
Tim Wundenberg 11f3bcc89f
All checks were successful
Build Docker Image / Build-Docker-Image (push) Successful in 2m29s
Build and Push Docker Image / Build-And-Push-Docker-Image (push) Successful in 2m49s
feat(observabillity): #153 instrument sqlx
2025-06-07 22:04:29 +02:00

40 lines
867 B
Go

package main
import (
"context"
"log/slog"
"os"
"spend-sparrow/internal"
"github.com/joho/godotenv"
_ "github.com/mattn/go-sqlite3"
"github.com/uptrace/opentelemetry-go-extra/otelsql"
"github.com/uptrace/opentelemetry-go-extra/otelsqlx"
semconv "go.opentelemetry.io/otel/semconv/v1.10.0"
)
func main() {
err := godotenv.Load()
if err != nil {
slog.Error("Error loading .env file")
return
}
db, err := otelsqlx.Open("sqlite3", "./data/spend-sparrow.db",
otelsql.WithAttributes(semconv.DBSystemSqlite))
if err != nil {
slog.Error("Could not open Database data.db", "err", err)
return
}
defer func() {
if err = db.Close(); err != nil {
slog.Error("Database close failed", "err", err)
}
}()
if err = internal.Run(context.Background(), db, "", os.Getenv); err != nil {
slog.Error("Error running server", "err", err)
return
}
}