You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ha...@apache.org on 2025/08/28 14:26:05 UTC

(skywalking-banyandb) 03/09: Add trace service subscription in standalone setup

This is an automated email from the ASF dual-hosted git repository.

hanahmily pushed a commit to branch trace/liaison
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git

commit 58bd798dc4ea985ae3109b0013559f337e68493b
Author: Gao Hongtao <ha...@gmail.com>
AuthorDate: Thu Aug 28 10:32:26 2025 +0800

    Add trace service subscription in standalone setup
    
    - Integrated a write callback handler for the trace service in the standalone PreRun method.
    - Initialized the trace service within the standalone command setup, ensuring proper error handling during service initiation.
---
 banyand/trace/svc_standalone.go | 10 ++++++++++
 pkg/cmdsetup/standalone.go      |  6 ++++++
 2 files changed, 16 insertions(+)

diff --git a/banyand/trace/svc_standalone.go b/banyand/trace/svc_standalone.go
index a2c101bd..fe0e9fc9 100644
--- a/banyand/trace/svc_standalone.go
+++ b/banyand/trace/svc_standalone.go
@@ -24,6 +24,7 @@ import (
 
 	"github.com/pkg/errors"
 
+	"github.com/apache/skywalking-banyandb/api/data"
 	commonv1 "github.com/apache/skywalking-banyandb/api/proto/banyandb/common/v1"
 	databasev1 "github.com/apache/skywalking-banyandb/api/proto/banyandb/database/v1"
 	"github.com/apache/skywalking-banyandb/banyand/metadata"
@@ -128,6 +129,15 @@ func (s *standalone) PreRun(_ context.Context) error {
 	// Initialize snapshot directory
 	s.snapshotDir = filepath.Join(s.dataPath, "snapshot")
 
+	// Set up write callback handler
+	if s.pipeline != nil {
+		writeListener := setUpWriteCallback(s.l, &s.schemaRepo, s.maxDiskUsagePercent)
+		err := s.pipeline.Subscribe(data.TopicTraceWrite, writeListener)
+		if err != nil {
+			return err
+		}
+	}
+
 	s.l.Info().
 		Str("root", s.root).
 		Str("dataPath", s.dataPath).
diff --git a/pkg/cmdsetup/standalone.go b/pkg/cmdsetup/standalone.go
index 90b9293e..fb6c2028 100644
--- a/pkg/cmdsetup/standalone.go
+++ b/pkg/cmdsetup/standalone.go
@@ -35,6 +35,7 @@ import (
 	"github.com/apache/skywalking-banyandb/banyand/query"
 	"github.com/apache/skywalking-banyandb/banyand/queue"
 	"github.com/apache/skywalking-banyandb/banyand/stream"
+	"github.com/apache/skywalking-banyandb/banyand/trace"
 	"github.com/apache/skywalking-banyandb/pkg/logger"
 	"github.com/apache/skywalking-banyandb/pkg/run"
 	"github.com/apache/skywalking-banyandb/pkg/version"
@@ -58,6 +59,10 @@ func newStandaloneCmd(runners ...run.Unit) *cobra.Command {
 	if err != nil {
 		l.Fatal().Err(err).Msg("failed to initiate stream service")
 	}
+	traceSvc, err := trace.NewService(metaSvc, dataPipeline, metricSvc, pm)
+	if err != nil {
+		l.Fatal().Err(err).Msg("failed to initiate trace service")
+	}
 	var srvMetrics *grpcprom.ServerMetrics
 	srvMetrics.UnaryServerInterceptor()
 	srvMetrics.UnaryServerInterceptor()
@@ -88,6 +93,7 @@ func newStandaloneCmd(runners ...run.Unit) *cobra.Command {
 		propertySvc,
 		measureSvc,
 		streamSvc,
+		traceSvc,
 		q,
 		grpcServer,
 		httpServer,