Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions apps/a2a_app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import (
"fmt"

"github.com/volcengine/veadk-go/log"
"github.com/volcengine/veadk-go/observability"

"net/http"
"net/url"
Expand Down Expand Up @@ -48,6 +49,17 @@ func (a *agentkitA2AServerApp) Run(ctx context.Context, config *apps.RunConfig)
config.SessionService = session.InMemoryService()
}

config.AppendObservability()

defer func() {
err := observability.Shutdown(ctx)
if err != nil {
log.Errorf("shutting down observability error: %s", err.Error())
return
}
log.Info("observability stopped")
}()

log.Infof("Web servers starts on %s", a.GetWebUrl())
err := a.SetupRouters(router, config)
if err != nil {
Expand Down
14 changes: 12 additions & 2 deletions apps/agentkit_server_app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (
"github.com/volcengine/veadk-go/apps/a2a_app"
"github.com/volcengine/veadk-go/apps/simple_app"
"github.com/volcengine/veadk-go/log"
"github.com/volcengine/veadk-go/observability"
"google.golang.org/adk/cmd/launcher"
"google.golang.org/adk/cmd/launcher/web"
"google.golang.org/adk/cmd/launcher/web/webui"
Expand All @@ -48,6 +49,17 @@ func (a *agentkitServerApp) Run(ctx context.Context, config *apps.RunConfig) err
config.SessionService = session.InMemoryService()
}

config.AppendObservability()

defer func() {
err := observability.Shutdown(ctx)
if err != nil {
log.Errorf("shutting down observability error: %s", err.Error())
return
}
log.Info("observability stopped")
}()

log.Infof("Web servers starts on %s", a.GetWebUrl())
err := a.SetupRouters(router, config)
if err != nil {
Expand All @@ -61,12 +73,10 @@ func (a *agentkitServerApp) Run(ctx context.Context, config *apps.RunConfig) err
IdleTimeout: a.IdleTimeout,
Handler: router,
}

err = srv.ListenAndServe()
if err != nil {
return fmt.Errorf("server failed: %v", err)
}

return nil
}

Expand Down
21 changes: 21 additions & 0 deletions apps/basic_app.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,12 @@ import (

"github.com/a2aproject/a2a-go/a2asrv"
"github.com/gorilla/mux"
"github.com/volcengine/veadk-go/log"
"github.com/volcengine/veadk-go/observability"
"google.golang.org/adk/agent"
"google.golang.org/adk/artifact"
"google.golang.org/adk/memory"
"google.golang.org/adk/plugin"
"google.golang.org/adk/runner"
"google.golang.org/adk/session"
)
Expand All @@ -37,6 +40,24 @@ type RunConfig struct {
PluginConfig runner.PluginConfig
}

func (cfg *RunConfig) AppendObservability() {
if len(cfg.PluginConfig.Plugins) == 0 {
cfg.PluginConfig = runner.PluginConfig{
Plugins: []*plugin.Plugin{observability.NewPlugin()},
}
} else {
observabilityPlugin := observability.NewPlugin()
for _, p := range cfg.PluginConfig.Plugins {
if p.Name() == observabilityPlugin.Name() {
log.Info("Plugin already configured")
return
}
}
cfg.PluginConfig.Plugins = append(cfg.PluginConfig.Plugins, observabilityPlugin)
log.Info("Plugin configured")
}
}

type ApiConfig struct {
Port int
WriteTimeout time.Duration
Expand Down
26 changes: 19 additions & 7 deletions apps/simple_app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import (
"io"

"github.com/volcengine/veadk-go/log"
"github.com/volcengine/veadk-go/observability"

"net/http"
"strings"
Expand Down Expand Up @@ -51,11 +52,6 @@ func NewAgentkitSimpleApp(config *apps.ApiConfig) apps.BasicApp {
}

func (app *agentkitSimpleApp) SetupRouters(router *mux.Router, config *apps.RunConfig) error {
ctx := context.Background()
sessionService := config.SessionService
if sessionService == nil {
sessionService = session.InMemoryService()
}

if app.appName == "" {
app.appName = config.AgentLoader.RootAgent().Name()
Expand All @@ -65,7 +61,7 @@ func (app *agentkitSimpleApp) SetupRouters(router *mux.Router, config *apps.RunC
app.userID = "agentkit_user"
}

resp, err := sessionService.Create(ctx, &session.CreateRequest{
resp, err := config.SessionService.Create(context.Background(), &session.CreateRequest{
AppName: app.appName,
UserID: app.userID,
})
Expand All @@ -77,7 +73,7 @@ func (app *agentkitSimpleApp) SetupRouters(router *mux.Router, config *apps.RunC
r, err := runner.New(runner.Config{
AppName: app.appName,
Agent: config.AgentLoader.RootAgent(),
SessionService: sessionService,
SessionService: config.SessionService,
ArtifactService: config.ArtifactService,
MemoryService: config.MemoryService,
PluginConfig: config.PluginConfig,
Expand All @@ -97,6 +93,22 @@ func (app *agentkitSimpleApp) SetupRouters(router *mux.Router, config *apps.RunC
}

func (app *agentkitSimpleApp) Run(ctx context.Context, config *apps.RunConfig) error {

if config.SessionService == nil {
config.SessionService = session.InMemoryService()
}

config.AppendObservability()

defer func() {
err := observability.Shutdown(ctx)
if err != nil {
log.Errorf("shutting down observability error: %s", err.Error())
return
}
log.Info("observability stopped")
}()

router := web.BuildBaseRouter()

log.Infof("Web servers starts on %s", app.GetWebUrl())
Expand Down