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.7 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. If frameworks and databases don't have an integration package, you can still instrument them using the newrelic package primitives. For more information about instrumenting your database using these primitives, see the Go agent's datastore segments documentation on GitHub.

The following integration packages must be imported along with the newrelic package, as shown in the nrgin example on GitHub.

Project Integration package Purpose
aws/aws-sdk-go v3/integrations/nrawssdk-v1 Instrument outbound calls made using Go AWS SDK
aws/aws-sdk-go-v2 v3/integrations/nrawssdk-v2 Instrument outbound calls made using Go AWS SDK v2
labstack/echo v3/integrations/nrecho-v3 Instrument inbound requests through version 3 of the Echo framework
labstack/echo v3/integrations/nrecho-v4 Instrument inbound requests through version 4 of the Echo framework
gin-gonic/gin v3/integrations/nrgin Instrument inbound requests through the Gin framework
gorilla/mux v3/integrations/nrgorilla Instrument inbound requests through the Gorilla framework
julienschmidt/httprouter v3/integrations/nrhttprouter Instrument inbound requests through the HttpRouter framework
aws/aws-lambda-go v3/integrations/nrlambda Instrument AWS Lambda applications
sirupsen/logrus v3/integrations/nrlogrus Send agent log messages to Logrus
mgutz/logxi v3/integrations/nrlogxi Send agent log messages to Logxi
uber-go/zap v3/integrations/nrzap Send agent log messages to Zap
pkg/errors v3/integrations/nrpkgerrors Wrap pkg/errors errors to improve stack traces and error class information
openzipkin/b3-propagation v3/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 v3/integrations/nrmysql Instrument database calls to MySQL
lib/pq v3/integrations/nrpq Instrument database calls to Postgres
snowflakedb/gosnowflake v3/integrations/nrsnowflake Instrument database calls to Snowflake
go-redis/redis v3/integrations/nrredis-v7 Instrument calls to Redis
mattn/go-sqlite3 v3/integrations/nrsqlite3 Instrument database calls to SQLite
mongodb/mongo-go-driver v3/integrations/nrmongo Instrument MongoDB calls
google.golang.org/grpc v3/integrations/nrgrpc Instrument gRPC servers and clients
micro/go-micro v3/integrations/nrmicro Instrument servers, clients, publishers, and subscribers through the Micro framework
nats-io/nats.go v3/integrations/nrnats Instrument publishers and subscribers using the NATS client
nats-io/stan.go v3/integrations/nrstan Instrument publishers and subscribers using the NATS streaming client
graphql-go/graphql v3/integrations/nrgraphqlgo Instrument inbound requests using graphql-go/graphql
graph-gophers/graphql-go v3/integrations/nrgraphgophers Instrument inbound requests using graph-gophers/graphql-go

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: