Callback - APMPlus
Eino encapsulates APMPlus’s trace and metrics capabilities based on Eino: Callback Manual capabilities (see Document and Console).
Features
- Implements github.com/cloudwego/eino/callbacks.Handler
- Implements session functionality to associate multiple requests in a single session and conduct AI Session Analysis
- Easy integration with Eino’s application
Installation
go get github.com/cloudwego/eino-ext/callbacks/apmplus
Quick Start
package main
import (
    "context"
    "log"
    
    "github.com/cloudwego/eino-ext/callbacks/apmplus"
    "github.com/cloudwego/eino/callbacks"
)
func main() {
    ctx := context.Background()
    // Create apmplus handler
    cbh, showdown, err := apmplus.NewApmplusHandler(&apmplus.Config{
       Host: "apmplus-cn-beijing.volces.com:4317",
       AppKey:      "appkey-xxx",
       ServiceName: "eino-app",
       Release:     "release/v0.0.1",
    })
    if err != nil {
       log.Fatal(err)
    }
    // Set apmplus as a global callback
    callbacks.AppendGlobalHandlers(cbh)
    
    g := NewGraph[string,string]()
    /*
     * compose and run graph
     */
    runner, _ := g.Compile(ctx)
	// To set session information, use apmplus.SetSession method
	ctx = apmplus.SetSession(ctx, apmplus.WithSessionID("your_session_id"), apmplus.WithUserID("your_user_id"))
	// Execute the runner
	result, _ := runner.Invoke(ctx, "input")
	/*
	 * Process the result
	 */
    
    // Exit after all trace and metrics reporting is complete
    showdown(ctx)
}
You can view the trace and metrics in the APMPlus:
After passing the Session information when calling the Eino application, you can view AI Session Analysis in APMPlus:
Last modified
October 28, 2025
: fix(eino_doc): markdown splitter example codeblock \` error (#1450) (3c8bed9)


