This is an automated email from the ASF dual-hosted git repository. hanahmily pushed a commit to branch feat/liasion in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git
commit 4834d500998e24fa3bc92328e0c722edaf01b7f4 Author: Qiuxia Fan <[email protected]> AuthorDate: Thu Jun 17 21:46:41 2021 +0800 write traces --- api/fbs/v1/write.fbs | 2 ++ banyand/liaison/grpc/grpc.go | 47 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/api/fbs/v1/write.fbs b/api/fbs/v1/write.fbs index 57e1378..794bbbd 100644 --- a/api/fbs/v1/write.fbs +++ b/api/fbs/v1/write.fbs @@ -70,3 +70,5 @@ table WriteEntity { } table WriteResponse {} + +root_type WriteEntity; diff --git a/banyand/liaison/grpc/grpc.go b/banyand/liaison/grpc/grpc.go index cdf7e71..ae3457d 100644 --- a/banyand/liaison/grpc/grpc.go +++ b/banyand/liaison/grpc/grpc.go @@ -25,6 +25,7 @@ import ( grpclib "google.golang.org/grpc" "google.golang.org/grpc/encoding" + v1 "github.com/apache/skywalking-banyandb/api/fbs/v1" "github.com/apache/skywalking-banyandb/banyand/queue" "github.com/apache/skywalking-banyandb/pkg/logger" "github.com/apache/skywalking-banyandb/pkg/run" @@ -72,3 +73,49 @@ func (s *Server) GracefulStop() { s.log.Info("stopping") s.ser.GracefulStop() } + +func (s *Server) WriteTraces(context context.Context, in *v1.WriteEntity) (*flatbuffers.Builder, error) { + s.log.Info("Write called...") + builder := flatbuffers.NewBuilder(0) + // Serialize MetaData + name := builder.CreateString("name") + group := builder.CreateString("group") + v1.MetadataStart(builder) + v1.MetadataAddGroup(builder, group) + v1.MetadataAddName(builder, name) + v1.MetadataEnd(builder) + // Serialize Field + v1.FieldStart(builder) + v1.FieldAddValueType(builder, v1.ValueTypeString) + field := builder.CreateString("test") + v1.FieldAddValue(builder, field) + v1.FieldEnd(builder) + // Serialize WriteEntity + dataBinaryLength := v1.EntityValue.DataBinaryLength(v1.EntityValue{}) + v1.EntityStartDataBinaryVector(builder, dataBinaryLength) + for i := dataBinaryLength; i >= 0; i-- { + builder.PrependByte(byte(i)) + } + dataBinary := builder.EndVector(dataBinaryLength) + entityId := builder.CreateString("id") + v1.EntityValueStart(builder) + v1.EntityValueAddEntityId(builder, entityId) + v1.EntityValueAddTimestampNanoseconds(builder, 1613526708000) + v1.EntityValueAddDataBinary(builder, dataBinary) + v1.EntityValueStartFieldsVector(builder, 1) + builder.PrependUOffsetT(field) + fields := builder.EndVector(1) + v1.EntityValueAddFields(builder, fields) + v1.EntityValueEnd(builder) + + builder.Finish(v1.WriteResponseEnd(builder)) + + return builder, nil +} + +func (s *Server) FetchTraces(ctx context.Context, in *v1.EntityCriteria) (*flatbuffers.Builder, error) { + s.log.Info("Fetch called...") + builder := flatbuffers.NewBuilder(0) + + return builder, nil +}
