go skywalking agent 接入apm

Goland 清理缓存

GoLand 的缓存可能卡在旧状态,手动清理最彻底:

  • 删除项目根目录下的 .idea 文件夹(隐藏文件夹)

  • (可选)清理全局缓存:C:\Users\zhou\AppData\Local\JetBrains\GoLand\ 下的caches缓存目录

在go mod 模式下,ide泛红可以这样操作。

版本

bash 复制代码
C:\Users\zhou>go version
go version go1.26.0 windows/amd64

C:\Users\zhou>


## 编译版本
go build -toolexec="D:\lib\skywalking-go\bin\skywalking-go-agent-0.4.0-windows-amd64 -config ./apm.yaml" -a -o app.exe .

apm.yaml

bash 复制代码
agent:
  service_name: devops-apm-dev
reporter:
  grpc:
    backend_service: apm.qq.com:11800

# 添加这一行,设为 info 级别
logging:
  level: "info"

代码

bash 复制代码
package main

import (
	"fmt"
	"log"
	"net/http"

	_ "github.com/apache/skywalking-go"
	"github.com/apache/skywalking-go/toolkit/trace"
)

func main() {
	http.HandleFunc("/ping", func(w http.ResponseWriter, r *http.Request) {
		// 1. 创建入口 Span(注意官方示例的写法)
		trace.CreateEntrySpan("/ping", func(key string) (string, error) {
			return r.Header.Get(key), nil
		})
		defer trace.StopSpan()

		// 2. 设置 Span 信息
		trace.SetOperationName("ping-handler")
		trace.SetTag("http.method", r.Method)
		trace.SetTag("http.url", r.URL.Path)
		trace.SetTag("http.status_code", "200")

		// 3. 业务逻辑
		log.Println("收到 /ping 请求")
		fmt.Fprintf(w, "pong")
	})

	log.Println("Server starting on :8080")
	err := http.ListenAndServe(":8080", nil)
	if err != nil {
		log.Fatal(err)
	}
}

debug启动

bash 复制代码
set SW_AGENT_LOG_LEVEL=debug
set GODEBUG=http2debug=2
app.exe

循环请求

bash 复制代码
for /l %i in (1,0,2) do (curl http://127.0.0.1:8080/ping & timeout /t 2 >nul)
相关推荐
飞鸟真人4 天前
应用性能监测(APM)之 (五)Prometheus与OpenMetrics协议
prometheus·apm·open telemetry·openmetrics
苏渡苇20 天前
Spring Insight 里如何把 Span 画成瀑布时间线
后端·spring·spring cloud·springboot·监控·apm
苏渡苇21 天前
Spring Insight 里如何把 Span 收成一条链路
spring boot·spring·spring cloud·系统监控·apm
ManageEngine卓豪25 天前
如何用 OpenTelemetry 实现企业分布式应用的全链路可视化?Applications Manager 集成方案与配置
可视化·apm·应用性能管理·分布式应用
编程序的员2 个月前
使用OpenTelemetry来监控GoLang应用
运维·golang·monitoring·apm·opentelemetry
yueqc13 个月前
Android 渲染(三):掉帧监控
android·渲染·apm·掉帧
Databuff3 个月前
国产开源APM databuff 成为 CNCF 顶级项目opentelemetry 官宣Vendor
运维·开源·skywalking·apm·可观测性·opentelemetry
热爱运维的小七4 个月前
深度解析|应用性能 + RUM + 拨测:现代 IT 运维的可观测性“铁三角”
运维·it运维·devops·apm·rum·网站拨测
SRETalk4 个月前
SkyWalking / Jaeger / ARMS 已经有了,还需要统一可观测平台吗
skywalking·apm·jaeger·flashcat·arms
key_3_feng6 个月前
APM基础概念普及:应用性能管理的全面解析
apm