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 August 15, 2025 : fix: sidebar meta links error (#1398) (b1bd86b)