Go Compatibility Requirements
Incident Management is now generally available! Incident Management is now generally available!

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.

FrameworkSupport TypeGoDoc Datadog Documentation
GinFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/gin-gonic/gin
Gorilla MuxFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/gorilla/mux
gRPCFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/google.golang.org/grpc
gRPC v1.2Fully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/google.golang.org/grpc.v12
chiFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/go-chi/chi
echoFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/labstack/echo

Library Compatibility

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

LibrarySupport TypeExamples and Documentation
AWS SDKFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/aws/aws-sdk-go/aws
ElasticsearchFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/olivere/elastic
CassandraFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/gocql/gocql
GraphQLFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/graph-gophers/graphql-go
HTTPFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/net/http
HTTP routerFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/julienschmidt/httprouter
Redis (go-redis)Fully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/go-redis/redis
Redis (redigo)Fully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/garyburd/redigo
Redis (new redigo)Fully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/gomodule/redigo
SQLFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/database/sql
SQLxFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/jmoiron/sqlx
MongoDBFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/go.mongodb.org/mongo-driver/mongo
[MongoDB (mgo)[73]Fully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/globalsign/mgo
BuntDBFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/tidwall/buntdb
LevelDBFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/syndtr/goleveldb/leveldb
miekg/dnsFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/miekg/dns
Kafka (confluent)Fully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/confluentinc/confluent-kafka-go
Kafka (sarama)Fully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/Shopify/sarama
Google APIFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/google.golang.org/api
go-restfulFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/emicklei/go-restful
TwirpFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/twitchtv/twirp
VaultFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/hashicorp/vault
ConsulFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/hashicorp/consul
GormFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/jinzhu/gorm
KubernetesFully Supportedgopkg.in/DataDog/dd-trace-go.v1/contrib/k8s.io/client-go/kubernetes
MemcacheFully Supportedgopkg.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: