Go Compatibility Requirements

Go Compatibility Requirements

Compatibility

The Go Datadog Trace library is open source - view the Github repository for more information.

To begin tracing your Go applications, your environment must first meet the following requirements:

  • Running the Datadog Agent >= 5.21.1
  • Using Go 1.12+

Integrations

Framework compatibility

Integrate the Go tracer with the following list of web frameworks using one of the following helper packages.

Note: The integrations documentation provides a detailed overview of the supported packages and their APIs, along with usage examples.

Framework Support Type GoDoc Datadog Documentation
Gin Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/gin-gonic/gin
Gorilla Mux Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/gorilla/mux
gRPC Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/google.golang.org/grpc
gRPC v1.2 Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/google.golang.org/grpc.v12
chi Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/go-chi/chi
echo v4 Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/labstack/echo.v4
echo v3 Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/labstack/echo

Library compatibility

The Go tracer includes support for the following data stores and libraries.

Library Support Type Examples and Documentation
AWS SDK Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/aws/aws-sdk-go/aws
Elasticsearch Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/olivere/elastic
Cassandra Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/gocql/gocql
GraphQL Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/graph-gophers/graphql-go
HTTP Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/net/http
HTTP router Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/julienschmidt/httprouter
Redis (go-redis) Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/go-redis/redis
Redis (go-redis-v8) Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/go-redis/redis.v8
Redis (redigo) Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/garyburd/redigo
Redis (new redigo) Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/gomodule/redigo
SQL Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/database/sql
SQLx Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/jmoiron/sqlx
MongoDB Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/go.mongodb.org/mongo-driver/mongo
[MongoDB (mgo)[73] Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/globalsign/mgo
BuntDB Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/tidwall/buntdb
LevelDB Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/syndtr/goleveldb/leveldb
miekg/dns Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/miekg/dns
Kafka (confluent) Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/confluentinc/confluent-kafka-go
Kafka (sarama) Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/Shopify/sarama
Google API Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/google.golang.org/api
go-restful Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/emicklei/go-restful
Twirp Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/twitchtv/twirp
Vault Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/hashicorp/vault
Consul Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/hashicorp/consul
Gorm Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/jinzhu/gorm
Gorm v2 Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/gorm.io/gorm.v1
Kubernetes Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/k8s.io/client-go/kubernetes
Memcache Fully Supported gopkg.in/DataDog/dd-trace-go.v1/contrib/bradfitz/gomemcache/memcache

Packages must be imported, i.e.:

import "gopkg.in/DataDog/dd-trace-go.v1/contrib/<PACKAGE_DIR>/<PACKAGE_NAME>"

Further Reading

Additional helpful documentation, links, and articles: