apollo-backend/internal/repository/connection.go
Andre Medeiros a5f5086938 tracing
2022-11-03 13:43:10 -04:00

22 lines
628 B
Go

package repository
import (
"context"
"github.com/jackc/pgconn"
"github.com/jackc/pgx/v4"
"go.opentelemetry.io/otel/attribute"
"go.opentelemetry.io/otel/trace"
)
type Connection interface {
Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error)
Query(context.Context, string, ...interface{}) (pgx.Rows, error)
QueryRow(context.Context, string, ...interface{}) pgx.Row
}
func spanWithQuery(ctx context.Context, tracer trace.Tracer, query string) (context.Context, trace.Span) {
ctx, span := tracer.Start(ctx, "db:query")
span.SetAttributes(attribute.String("db.query", query))
return ctx, span
}