Go agent compatibility and requirements

Before you install New Relic for Go, ensure your system meets these requirements.

Golang versions

New Relic supports Golang 1.3 or higher.

Operating environments

The agent supports Linux, macOS, and Windows. You can also use the Go agent in a Google App Engine (GAE) flexible environment.

Integrations

The following integration packages extend the base newrelic package to support other frameworks and libraries. Frameworks and databases that don't have an integration package may still be instrumented using the newrelic package primitives. More information about instrumenting your database using these primitives can be found here.

Project Integration package Purpose
aws/aws-sdk-go _integrations/nrawssdk/v1 Instrument outbound calls made using Go AWS SDK
aws/aws-sdk-go-v2 _integrations/nrawssdk/v2 Instrument outbound calls made using Go AWS SDK v2
labstack/echo _integrations/nrecho Instrument inbound requests through the Echo framework
gin-gonic/gin _integrations/nrgin/v1 Instrument inbound requests through the Gin framework
gorilla/mux _integrations/nrgorilla/v1 Instrument inbound requests through the Gorilla framework
julienschmidt/httprouter _integrations/nrhttprouter Instrument inbound requests through the HttpRouter framework
aws/aws-lambda-go _integrations/nrlambda Instrument AWS Lambda applications
sirupsen/logrus _integrations/nrlogrus Send agent log messages to Logrus
mgutz/logxi _integrations/nrlogxi/v1 Send agent log messages to Logxi
uber-go/zap _integrations/nrzap Send agent log messages to Zap
pkg/errors _integrations/nrpkgerrors Wrap pkg/errors errors to improve stack traces and error class information
openzipkin/b3-propagation _integrations/nrb3 Add B3 headers to outgoing requests
database/sql Use a supported database driver or builtin instrumentation Instrument database calls with SQL
jmoiron/sqlx Use a supported database driver or builtin instrumentation Instrument database calls with SQLx
go-sql-driver/mysql _integrations/nrmysql Instrument database calls to MySQL
lib/pq _integrations/nrpq Instrument database calls to Postgres
mattn/go-sqlite3 _integrations/nrsqlite3 Instrument database calls to SQLite
mongodb/mongo-go-driver _integrations/nrmongo Instrument MongoDB calls
google.golang.org/grpc _integrations/nrgrpc Instrument gRPC servers and clients
micro/go-micro _integrations/nrmicro Instrument servers, clients, publishers, and subscribers through the Micro framework
nats-io/nats.go _integrations/nrnats Instrument publishers and subscribers using the NATS client
nats-io/stan.go _integrations/nrstan Instrument publishers and subscribers using the NATS streaming client

These integration packages must be imported along with the newrelic package, as shown in this nrgin example.

Database and instance-level performance

New Relic collects instance details for a variety of databases and database drivers. The ability to view specific instances and the types of database information in New Relic APM depends on your New Relic agent version.

The New Relic Go agent version 1.4 or higher supports instance details for all database drivers.

Connect the agent to other New Relic products

The Go agent integrates with other New Relic products to give you end-to-end visibility:

Product Integration

New Relic Infrastructure

When you install the Infrastructure and APM agents on the same host, they automatically detect one another. You can then view a list of hosts in the APM UI, and filter your Infrastructure hosts by APM app in the Infrastructure UI. For more information, see New Relic APM data in Infrastructure.
New Relic Insights The Go agent sends default events and attributes to Insights for NRQL queries. You can also record custom events for advanced analysis.
New Relic Synthetics Synthetic transaction traces connect requests from Synthetics monitors to the underlying APM transaction.
New Relic Browser The Go agent has an API for returning the Browser agent JavaScript. After using this API method on each request, you can view Browser data in the APM Overview page and quickly switch between the APM and Browser data for a particular app.

For more help

Recommendations for learning more: