TABLE OF CONTENTS
Go version 1.9 or greater.
- Root directory
- Max procs
- Visible CPUs
- Memory usage
- Heap usage
- GC activity
- Response time
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.
There are two ways to configure the Go sensor:
- Inside your app code by providing
- 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_NAMEallows to override the service name set in the code
INSTANA_DEBUGenables debug logs even if the app code configuration defines a higher logging level
INSTANA_AUTO_PROFILEenables continuous profiling with AutoProfile™
Instana Go sensor automatically detects if a service is running on AWS Fargate and switches into serverless mode. Instead of the host agent, the Go sensor will send metrics and traces to the serverless acceptor endpoint provided in
INSTANA_ENDPOINT_URL and using the agent key set by the
INSTANA_AGENT_KEY environment variables. Please refer to the Serverless Monitoring section to learn about other configuration options available in serverless mode.
Instana Go sensor supports tracing AWS Lambda function written in Go starting from
v1.23.0. Handlers need to be instrumented using the
github.com/instana/go-sensor/instrumentation/instalambda package in order to collect and send trace data. Please refer to AWS Lambda Go documentation for details.
Refer to the Configure Network Access For Monitored Applications documentation to ensure that your instrumented applications can contact the Instana Host Agent.
To make code instrumentation easy and error-prone, Instana provides native wrappers for most commonly used Go packages.
Instrumentation wrappers for Go standard library packages are shipped with the main Go sensor module
|Package||Go sensor version|
Instrumentation wrappers for 3rd-party libraries are shipped as separate packages to avoid bringing unnecessary depencencies. They are complimentary to the main Go sensor module
github.com/instana/go-sensor. Most dependency managers, such as
go mod, will add the corresponding main module version as a transitive dependency automatically. The minimal supported Go version for the instrumentation package is the same as for 3rd-party package it instruments and may differ from the one supported by the Go sensor.
|Package||Supported package version||Instrumentation package||Required Go version|
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.
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™ 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 instrumented with Instana without changing the
instana.InitSensor() config, 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.
- Cross host and cross language tracing