A comprehensive set of turnkey infrastructure integrations

Including dozens of AWS and Azure services, web, database, network, containers, orchestrations like Docker and Kubernetes, and more.

START FREE TRIAL

Complete visibility into the health and performance of applications and their underlying infrastructure

Quickly pinpoint the root cause of performance issues across the stack, down to a poor-performing line of code

START FREE TRIAL

Custom metrics and analytics

Analyze custom infrastructure, application, and business metrics

View Custom Metrics Monitoring Info

Powerful API that makes it easy to collect and create any custom metric

Achieve ultimate visibility and enhanced troubleshooting with synthetic and real user monitoring

START FREE TRIAL

Free APM Software

Catch bugs early on, and gain full visibility and insights into the applications you’re developing

View Product Info

Free, full-function APM tool for testing and troubleshooting application performance before moving into production

Dev Edition includes five traces per minute, 100 metrics, three hosts, and six containers

GET FREE TOOL

Log Management and Analytics powered by SolarWinds Loggly

Integrated, cost-effective, hosted, and scalable full-stack, multi-source log management

View Log Management and Analytics Info

Collect, search, and analyze log data in addition to your metrics and traces to quickly pinpoint application performance problems

Reduce mean time to resolution (MTTR) by quickly jumping from a trace or host view into the relevant logs to accelerate troubleshooting

START FRE TRAIL

Digital Experience Monitoring Powered by SolarWinds Pingdom

Make your websites faster and more reliable with easy-to-use web performance and digital experience monitoring

View Digital Experience Monitoring Info

Add client-side web application performance monitoring. Provide maximum observability by adding the user’s perspective.

Achieve ultimate visibility and enhanced troubleshooting with synthetic and real user monitoring

START FREE TRIAL

SolarWinds® AppOptics has recently released an automatic collection of Go runtime metrics through the Go APM agent. These runtime metrics enable easy correlation between application performance and runtime information, such as garbage collection, number of calls to a C library, and the overall count of goroutines.

Go Runtime Metrics Dashboard

Why should I monitor the Go runtime?

Calls to C Libraries might be causing performance issues

If you call C libraries in your Go code, it can lead to performance issues. According to research, invoking a C library has an overhead of ~171ns/op. If your application relies heavily on C libraries, this overhead can add up to create a slow application even if the actual C and Go code is performant.

It has become routine to create goroutines

A high number of goroutines isn’t usually a concern in a Go program because goroutines are lightweight. However, when a change to the system (e.g., a new deployment, a configuration change) causes a sharp rise in the number of goroutines, this could be a sign of non-performant changes.

Every day is garbage collection day

Tuning the Go runtime parameters is an advanced, but sometimes necessary, topic to address. The first step is to monitor garbage collection and understand if it’s a problem. By viewing latency percentiles right beside garbage collection times, it’s easy to see the correlation between a stop-the-world garbage collection event and the response time of the application. If these stop-the-world events are prevalent and are affecting the service’s performance and even your end-user experience, start tuning your Go runtime.

Your app is a memory hog

Get to know the memory footprint of your program by monitoring the memory metrics. You could track memory allocations and frees, and observe the current active objects of the heap. The memory footprint trend over time is helpful for ops teams to catch memory leaks and right-size the infrastructure behind a new service.

How do I get started?

As soon as the AppOptics Go agent is installed, Go runtime metrics start being collected and a new dashboard appears where you can easily monitor them. The application performance monitoring (APM) Go Runtime dashboard can be filtered or grouped by service and host to isolate Go performance issues and see how those issues affect your application latency, throughput, and status codes.

AO_Integrations_View

Do I need to make any changes to take advantage of this feature?

If you’re already running the Go agent, these metrics are now available in your account. If you haven’t installed it yet, you can do so to take advantage of Go metrics and detailed APM and distributed tracing.

Summary

With Go runtime metrics reported by the Go APM agent, you get insight into how your program is running. This is critical to the system health monitoring and allows further performance tuning.

If you haven’t experienced the simple to install, easy to use, AppOptics APM, maybe now is the time. Explore its comprehensive infrastructure server, virtual host, and combined with the auto-instrumented root cause, detailed service and transaction traces, and insights down to the line of poor performing code. Signup for a 30-day free trial.

Related articles

© 2021 SolarWinds Worldwide, LLC. All rights reserved.