GithubHelp home page GithubHelp logo

arnoldcano / go-agent Goto Github PK

View Code? Open in Web Editor NEW

This project forked from newrelic/go-agent

0.0 1.0 0.0 2.15 MB

New Relic Go Agent

License: Other

Go 99.14% HTML 0.79% Dockerfile 0.03% Shell 0.04%

go-agent's Introduction

New Relic Go Agent GoDoc Go Report Card

Description

The New Relic Go Agent allows you to monitor your Go applications with New Relic. It helps you track transactions, outbound requests, database calls, and other parts of your Go application's behavior and provides a running overview of garbage collection, goroutine activity, and memory use.

All pull requests will be reviewed by the New Relic product team. Any questions or issues should be directed to our support site or our community forum.

Upgrading

If you have already been using version 2.X of the agent and are upgrading to version 3.0, see our Migration Guide for details.

Requirements

For the latest version of the agent, Go 1.7+ is required, due to the use of context.Context. (For versions 2.X and earlier of the Go agent, Go 1.3+ is required.)

Linux, OS X, and Windows (Vista, Server 2008 and later) are supported.

Integrations

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

Project Integration Package
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
elastic/go-elasticsearch v3/integrations/nrelasticsearch-v7 Instrument Elasticsearch datastore calls
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 MySQL driver
lib/pq v3/integrations/nrpq Instrument PostgreSQL driver
mattn/go-sqlite3 v3/integrations/nrsqlite3 Instrument SQLite driver
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

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

Getting Started

Follow the steps in GETTING_STARTED.md to instrument your application.

Runnable Example

v3/examples/server/main.go is an example that will appear as "Example App" in your New Relic applications list. To run it:

env NEW_RELIC_LICENSE_KEY=__YOUR_NEW_RELIC_LICENSE_KEY__LICENSE__ \
    go run v3/examples/server/main.go

Some endpoints exposed are http://localhost:8000/ and http://localhost:8000/notice_error

Alternatives

If you are already using another open source solution to gather telemetry data, you may find it easier to use one of our open source exporters to send this data to New Relic:

Support

You can find more detailed documentation in the guide and on the New Relic Documentation site.

If you can't find what you're looking for there, reach out to us on our support site or our community forum and we'll be happy to help you.

Find a bug? Contact us via support.newrelic.com, or email [email protected].

go-agent's People

Contributors

abeltay avatar alfred-landrum avatar astormnewrelic avatar austin-schaefer avatar benweint avatar flaviotruzzi avatar kevburnsjr avatar lawngnome avatar lvxv avatar newrelic-eheinlein avatar nrlhj avatar pseidemann avatar purple4reina avatar rogchap avatar rvanderwal-newrelic avatar sergeylanzman avatar tkivisik avatar tylerconlee avatar vinhnewrelic avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.