The trends are clear. The rise of digital business is driving a need for higher velocity innovation. To keep up, developers have to be more agile and more flexible than ever before. Among other effects, that’s leading to the breakdown of monolithic apps into microservices. The shift to microservices, meanwhile, gives developers new freedom to choose programming languages, and consequently polyglot programming environments are becoming increasingly common.

At New Relic, we are seeing an increase in the number of customers deploying or interested in using multiple languages within their software environment. Rather than relying on a single language to do everything, programmers are able to select the best tools for each task.

One language experiencing a surge in interest due to these new environments is Go (often referred to as golang). That’s why we are excited to announce today the opening of the public beta of our new Go agent for New Relic APM! The Go agent provides the same level of production visibility offered by our other language agents—Java, PHP, .NET, Ruby, Python, and Node.js—to give you coverage for a ever wider variety of apps.

Getting to know Go

Go is a statically typed compiled language created at Google in 2007. Originally positioned as a modern systems language, it is growing in popularity as a language for writing services thanks to its elegant concurrency model, simple binary deployments, low number of external dependencies, fast performance, high developer productivity, and runtime efficiency.

Go is an increasingly popular choice for companies looking to modernize services written in other languages or build new applications that are not only fast but can scale well. And these companies want the same level of production visibility into their Go applications as they currently have with applications built with other programming languages.

New Relic’s Go agent

New Relic’s Go agent is designed to give you first-class, production-level visibility into your Go services. With the Go agent, you can:

  • See the datastore calls and external services your application is accessing.
  • Isolate operations that may be causing bottlenecks.
  • Track goroutine counts over time in the Go runtime dashboard.
  • Identify possible Goroutine leaks and narrow down concurrency issues.
  • Troubleshoot issues using system metrics such as garbage-collector information and memory usage.

go screenshot

[click to enlarge]

According to one alpha customer that moved to a microservices architecture with apps built using Go, “Before New Relic’s Go Agent, all our Go apps were a black box to us. Now we can understand and see how our Go apps are running in production and have the ability to confidently troubleshoot problems.”

We will use our beta to help finalize features, verify APIs, and improve functionality. General availability of the Go agent is expected later this year. We’d love to have your feedback on the New Relic Community Forum.

Go-pher the beta!

If you’re a golang developer or architect, it’s easy to start using our Go agent beta. Log into your New Relic APM account (or sign up for one here) and install the New Relic agent following our step-by-step instructions. Compile and deploy your application and start digging into your Go performance data!


Gopher image cc 3.o original by Renee French.

Neha Duggal is product manager for APM in New Relic's San Francisco office View posts by .

Interested in writing for New Relic Blog? Send us a pitch!