Installation steps
Install Atatus Go Agent and framework module
copygo get go.atatus.com/agent go get go.atatus.com/agent/module/atfasthttp
Set up tracer and add Atatus middleware
copyimport ( "github.com/valyala/fasthttp" "github.com/fasthttp/router" "go.atatus.com/agent" "go.atatus.com/agent/module/atfasthttp" ) func main() { // Initialize Atatus tracer using environment variables tracer := atatus.DefaultTracer tracer.Service.LicenseKey = os.Getenv("ATATUS_LICENSE_KEY") tracer.Service.AppName = os.Getenv("ATATUS_APP_NAME") tracer.Service.Tracing = os.Getenv("ATATUS_TRACING") tracer.Service.Analytics = os.Getenv("ATATUS_ANALYTICS") // Example FastHTTP handler router := router.New() router.GET("/example", handleRequest) // Register HTTP handlers with Atatus APM monitoring using atfasthttp.Wrap wrappedHandler := atfasthttp.Wrap(router.Handler) // Pass the wrapped Handler to listenAndServe Method err := fasthttp.ListenAndServe(":8080", wrappedHandler) } func handleRequest(ctx *fasthttp.RequestCtx) { // The context from ctx should be propagated to downstream operations, // such as database queries and external HTTP API calls _ = db.QueryContext(ctx, "SELECT 'Atatus!'").Scan(&greeting) }
Clean Up and Sync Dependencies
copygo mod tidy
Run the Application
copygo run main.go