Go

Supported versions

Go version 1.9 or greater.

Sensor (Data Collection)

Tracked Configuration

  • Root directory
  • Compiler
  • Max procs
  • Visible CPUs
  • PID

Metrics

  • Memory usage
  • Heap usage
  • GC activity
  • Goroutines

Health Signatures

  • Calls
  • Response time
  • Scaling

Installation

The usage of the Go sensor requires a minimal amount of coding in your Go application. Please refer to github.com/instana/go-sensor for detailed instructions on how to activate the Go sensor.

Configuration

There are two ways to configure the Go sensor:

  1. Inside your app code by providing instana.Options to the instana.InitSensor() call.
  2. Using environment variables (see the General Reference: Environment Variables for Language Sensors).

The in-app configuration takes precedence over environment variables except for following settings:

  • INSTANA_SERVICE_NAME allows to override the service name set in the code
  • INSTANA_DEBUG enables debug logs even if the app code configuration defines a higher logging level
  • INSTANA_AUTO_PROFILE enables continuous profiling with AutoProfile™

Kubernetes & OpenShift

Refer to the Configure Network Access For Monitored Applications documentation to ensure that your instrumented applications can contact the Instana Host Agent.

Tracing

Wrappers

Instana provides native wrappers for the following GoLang packages:

OpenTracing

Manual tracing in Go works based on the OpenTracing API, and the data those produce get "translated" into Instana through a tracer and sent to the Instana backend. Refer to the Instana Go sensor OpenTracing documentation for details.

End User Monitoring (EUM)

Instana provides deep end user monitoring that links server side traces with browser events to give you a complete view from server to browser.

See the Website Monitoring page for more details.

AutoProfile™

Note: This feature is currently in beta-testing.

AutoProfile™ generates and reports process profiles to Instana automatically and continuously. Learn more about profiles in Analyze Profiles section.

To enable AutoProfile™ add EnableAutoProfile: true option in instana.InitSensor(opt). For detailed instructions, see github.com/instana/go-sensor.

If you need to enable profiling for an app without code changes, set INSTANA_AUTO_PROFILE=true env variable. Note that this value takes precedence and overrides any attempt to disable profiling from inside the application code.

Mode

  • Cross host and cross language tracing