loongsuite-go is a free, open source monitoring & observability project written in Go and released under Apache-2.0. It has 902 GitHub stars, 124 forks and 30 open issues, and was last pushed 18 days ago. On this registry it ranks #171 of 191 tracked projects in Monitoring & Observability, with 5 head-to-head comparisons available.

   

Loongsuite Go Agent provides an automatic solution for Golang applications that want to leverage OpenTelemetry to enable effective observability. No code changes are required in the target application, the instrumentation is done at compile time. Simply adding otel prefix to go build to get started :rocket:

Installation

[!IMPORTANT] Requires Go 1.25 or newer. loongsuite-go pins OpenTelemetry v1.45.0, and the OTel modules declare go 1.25.0 from v1.42.0 onward. Since the tool injects those modules into the application it instruments, both the tool and the instrumented application need Go 1.25+. See compatibility.

Prebuilt Binaries

  • Download
  • Download
  • Download
  • Download
  • Download

This is the recommended way to install the tool.

Install via Bash

For Linux and MacOS users, the following script will install otel in /usr/local/bin/otel by default:

$ sudo curl -fsSL https://cdn.jsdelivr.net/gh/alibaba/loongsuite-go@main/install.sh | sudo bash

Build from Source

$ make         # build only
$ make install # build and install

Getting Started

Make sure the tool is installed:

$ # You may use "otel-linux-amd64" instead of "otel"
$ otel version

Just adding otel prefix to go build to build your project:

$ otel go build
$ otel go build -o app cmd/app
$ otel go build -gcflags="-m" cmd/app

That's the whole process! The tool will automatically instrument your code with OpenTelemetry, and you can start to observe your application. :telescope:

The detailed usage of otel tool can be found in Usage.

[!NOTE] If you find any compilation failures while go build works, it's likely a bug. Please feel free to file a bug at GitHub Issues to help us enhance this project.

Examples

  • demo - End-to-end example with OpenTelemetry tracing and metrics
  • zap logging - Auto-instrumentation for github.com/uber-go/zap logging
  • benchmark - Performance testing and overhead measurement
  • sql injection - Custom code injection for SQL injection detection
  • nethttp - HTTP monitoring with request/response instrumentation
  • kratos-demo - Integration with the Kratos framework
  • kafka-demo - Kafka Consumer Message monitoring

Supported Libraries

List of Supported Libraries
Library Repository Url Min Version Max Version
adk-go https://pkg.go.dev/google.golang.org/adk v0.2.0 -
amqp091 https://github.com/rabbitmq/amqp091-go v1.10.0 -
ants https://github.com/panjf2000/ants v1.1.0 -
anthropic-sdk-go https://github.com/anthropics/anthropic-sdk-go v1.25.0 -
asynq https://github.com/hibiken/asynq v0.23.0 v0.26.0
aws-sdk-go https://github.com/aws/aws-sdk-go v1.55.5 -
clickhouse/v2 https://github.com/ClickHouse/clickhouse-go/v2 v2.13.0 -
cron https://github.com/robfig/cron/v3 v3.0.0 -
database/sql https://pkg.go.dev/database/sql - -
deepseek https://github.com/cohesion-org/deepseek-go v1.3.0 -
dubbo-go https://github.com/apache/dubbo-go v3.3.0 -
echo https://github.com/labstack/echo v4.0.0 -
elasticsearch https://github.com/elastic/go-elasticsearch v8.4.0 v8.15.1
eino https://github.com/cloudwego/eino v0.3.51 -
fasthttp https://github.com/valyala/fasthttp v1.45.0 -
fiber https://github.com/gofiber/fiber v2.43.0 v2.52.13
fiber/v3 https://github.com/gofiber/fiber/v3 v3.0.0 -
franz-go https://github.com/twmb/franz-go v1.18.0 -
gin https://github.com/gin-gonic/gin v1.7.0 v1.10.2
go-kit/log https://github.com/go-kit/log v0.1.0 v0.2.2
go-micro https://github.com/micro/go-micro v5.0.0 v5.3.1
go-openai https://github.com/sashabaranov/go-openai v1.30.0 -
gocql https://github.com/gocql/gocql v1.3.0 v1.7.1
google-genai https://pkg.go.dev/google.golang.org/genai v1.30.0 -
gopg https://github.com/go-pg/pg v10.10.0 v10.14.1
gorestful/v3 https://github.com/emicklei/go-restful/v3 v3.7.0 v3.12.2
gorm https://github.com/go-gorm/gorm v1.22.0 v1.25.10
gorilla/mux https://github.com/gorilla/mux v1.3.0 v1.8.2
grpc https://google.golang.org/grpc v1.44.0 v1.63.0
hertz https://github.com/cloudwego/hertz v0.8.0 -
ibm-sarama https://github.com/IBM/sarama v1.40.0 -
iris https://github.com/kataras/iris v12.2.0 v12.2.12
k8s client-go https://github.com/kubernetes/client-go v0.33.3 -
kitex https://github.com/cloudwego/kitex v0.5.1 -
kratos https://github.com/go-kratos/kratos v2.6.3 -
kratos/v3 https://github.com/go-kratos/kratos/v3 v3.0.0 -
langchaingo https://github.com/tmc/langchaingo v0.1.13 -
log https://pkg.go.dev/log - -
logrus https://github.com/sirupsen/logrus v1.5.0 -
mcp https://github.com/mark3labs/mcp-go v0.20.0 v0.20.2
mcp go-sdk https://github.com/modelcontextprotocol/go-sdk v0.7.0 -
meguminnnnnnnnn/go-openai https://github.com/meguminnnnnnnnn/go-openai - -
mongodb https://github.com/mongodb/mongo-go-driver v1.11.1 v1.15.2
mqtt https://github.com/mochi-mqtt/server v2.6.4 -
neo4j https://github.com/neo4j/neo4j-go-driver v6.0.0 v6.2.0
nacos https://github.com/nacos-group/nacos-sdk-go/v2 v2.0.0 v2.3.0
net/http https://pkg.go.dev/net/http - -
new-api https://github.com/QuantumNous/ne

readme truncated — read the full docs on github

Frequently asked questions

Is loongsuite-go free to use?

loongsuite-go is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does loongsuite-go do?

OpenTelemetry Compile-Time Instrumentation for Golang

What is loongsuite-go written in?

loongsuite-go is primarily written in Go. Its source is publicly available at https://github.com/alibaba/loongsuite-go, and it has 902 GitHub stars.