Go Compatibility Requirements
Language and framework compatibility
Supported Go versions
The Datadog Go tracing library supports Go version 1.14 and greater, on the following architectures:
- Linux (GNU) x86-64
- Alpine Linux (musl) x86-64
- macOS (Darwin) x86-64
You can monitor application security for Go apps running in Docker, Kubernetes, and AWS ECS.
Supported frameworks
Integrate the Go tracer with the following list of web frameworks using one of the corresponding APM tracer integrations. Refer to Go’s integrations documentation for a detailed overview of the supported packages and their APIs, along with usage examples.
Enabling CGO
Compiling your code with ASM enabled involves CGO and therefore requires:
- The
gcc
compiler for the target GOOS
and GOARCH
. - The C library headers.
- The CGO bindings enabled. This is controlled by the
CGO_ENABLED
environment variable which is enabled by default when compiling natively.
To install the above requirements:
Operating system | Console command |
---|
Debian, Ubuntu | $ apt install gcc libc6-dev |
Alpine | $ apk add gcc musl-dev |
RHEL, CentOS, Fedora | $ yum install gcc glibc-devel |
macOS | $ xcode-select --install |
Note: The Go toolchain disables CGO when cross-compiling and so, CGO needs to be explicitly enabled.
ASM capabilities support
The following ASM capabilities are supported in the Go library, for the specified tracer version:
ASM capability | Minimum Go tracer version |
---|
Threat Detection –> Business logic API | 1.47.0
|
Threat Protection –> IP blocking –> Suspicious request blocking –> User blocking | –> 1.48.0 –> v1.50.0 –> 1.48.0 |
Vulnerability Management –> Open source vulnerability detection –> Custom code vulnerability detection | not supported
|
The minimum tracer version to get all supported ASM capabilities for Go is 1.48.0.
Note: Threat Protection requires enabling Remote Configuration, which is included in the listed minimum tracer version.
If you would like to see support added for any of the unsupported capabilities, or for your Go framework, let us know! Fill out
this short form to send details.