In the following sections, you will find detailed guides on how to integrate Atatus Go Agent with different Go database clients and ORMs. These include PostgreSQL, MySQL, MongoDB, Redis, Cassandra, DynamoDB, and more, enabling query performance tracking, span visibility, and database monitoring in your Go applications.

Databases

database/sql

We support tracing database operations with any database/sql driver registered with the Atatus Go agent. A span is created for each executed statement to provide detailed visibility into database interactions. For enhanced context, the Atatus Go agent can parse datasource names and enrich spans when used with the following drivers:
  • lib/pq (PostgreSQL)
  • jackc/pgx (PostgreSQL)
  • go-sql-driver/mysql
  • mattn/go-sqlite3
See module/atsql for more information about database/sql instrumentation and integration details.

GORM

Compatible with the GORM ORM library, version v1.9 and above. Spans are automatically created for create, query, update, and delete operations, allowing deep visibility into database interactions. Similar to database/sql support, we provide enhanced tracing for PostgreSQL, MySQL, and SQLite dialects. Refer to the appropriate module for instrumentation details and integration steps.

go-pg/pg

Compatible with the go-pg/pg ORM, version v8.0.4 and above. Spans are generated for each database operation, providing clear visibility into PostgreSQL query performance and behavior. Refer to module/atgopg for detailed instrumentation and integration guidance.

Cassandra (gocql)

Compatible with recent versions of the gocql driver for Cassandra. Due to the lack of a stable API in GoCQL, we support the latest available versions and offer best-effort support for older versions. Spans are generated for each query. When using batch operations, a span is created for the batch along with sub-spans for individual queries. Refer to module/atgocql for detailed instrumentation and integration steps.

Redis

Atatus supports instrumentation for popular Redis clients in Go. Spans are created for each executed Redis command using helper functions provided in the modules.
  • [gomodule/redigo] Compatible with Redigo v2.0.0 and above. Helper functions are available to trace Redis commands as spans.
See module/atredigo for detailed integration guidance.
  • [go-redis/redis] Compatible with go-redis v6.15.3. Helper functions are provided to instrument Redis commands for span reporting.
See module/atgoredis for setup and instrumentation steps.

Elasticsearch

Compatible with go-elasticsearch and olivere/elastic clients. May also be used with other clients that support configuration of the underlying net/http.RoundTripper. See module/atelasticsearch for instrumentation details and integration guidance.

MongoDB

Compatible with the official MongoDB Go Driver v1.0.0 and above. Spans are created for each MongoDB command executed within a transaction-aware context. See module/atmongo for instrumentation details and integration steps.

DynamoDB

Compatible with AWS DynamoDB via the AWS SDK for Go. Spans are created for each DynamoDB operation performed using the SDK. See module/atawssdkgo for instrumentation details and integration guidance.