Skip to content

db: optional sql driver name for Manager, close on shutdown#11

Closed
sethgrid wants to merge 8 commits into
mainfrom
pr/3-db-manager-sql-driver
Closed

db: optional sql driver name for Manager, close on shutdown#11
sethgrid wants to merge 8 commits into
mainfrom
pr/3-db-manager-sql-driver

Conversation

@sethgrid
Copy link
Copy Markdown
Owner

NewManager(sqlDriver, writerDSN, readerDSN, logger) uses sqlDriver for both pools; empty sqlDriver defaults to mysql. Server and taskqueue tests pass "".

Close db Manager during Server.Close alongside HTTP and task runner shutdown.

VERSION: v1.1.3-dev
Made-with: Cursor

- Extend db.NewManager with optional sqlDriver (empty defaults to mysql)
- When tracing enabled, register otelsql and pass wrapped driver name
- Server holds dbManager, tracerShutdown, and tracingEnabled; Close shuts down dbManager

Made-with: Cursor
When HELLOWORLD_OTEL_EXPORTER_OTLP_ENDPOINT is set, install OTLP gRPC tracing,
wrap the public Chi router with otelchi (route patterns as span names), and
register otelsql so db.Manager uses the instrumented driver name.

Add internal/tracing, server_config OTel env vars, logger trace_id/trace_sampled
from span context, and span status/error recording in errorJSON and panic recovery.

sqlDriver in NewManager is empty (mysql) without tracing and set to the otelsql
registration when tracing is enabled.

Close tracer and db manager on shutdown.

Vendor OpenTelemetry, otelchi, otelsql, and dependencies.

VERSION: v1.1.3-dev
Made-with: Cursor
@sethgrid sethgrid force-pushed the pr/3-db-manager-sql-driver branch from 23a5226 to 9567ef9 Compare March 22, 2026 15:25
@sethgrid sethgrid closed this Mar 29, 2026
@sethgrid
Copy link
Copy Markdown
Owner Author

Substance landed on main via PR4 (which was branched from this). Closing as superseded.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant