@@ -10,6 +10,7 @@ import (
1010
1111 "github.com/RandomCodeSpace/Project-Argus/internal/config"
1212 "github.com/RandomCodeSpace/Project-Argus/internal/storage"
13+ "github.com/RandomCodeSpace/Project-Argus/internal/telemetry"
1314 collogspb "go.opentelemetry.io/proto/otlp/collector/logs/v1"
1415 coltracepb "go.opentelemetry.io/proto/otlp/collector/trace/v1"
1516 commonpb "go.opentelemetry.io/proto/otlp/common/v1"
@@ -18,6 +19,7 @@ import (
1819
1920type TraceServer struct {
2021 repo * storage.Repository
22+ metrics * telemetry.Metrics
2123 logCallback func (storage.Log )
2224 minSeverity int
2325 allowedServices map [string ]bool
@@ -27,16 +29,18 @@ type TraceServer struct {
2729
2830type LogsServer struct {
2931 repo * storage.Repository
32+ metrics * telemetry.Metrics
3033 logCallback func (storage.Log )
3134 minSeverity int
3235 allowedServices map [string ]bool
3336 excludedServices map [string ]bool
3437 collogspb.UnimplementedLogsServiceServer
3538}
3639
37- func NewTraceServer (repo * storage.Repository , cfg * config.Config ) * TraceServer {
40+ func NewTraceServer (repo * storage.Repository , metrics * telemetry. Metrics , cfg * config.Config ) * TraceServer {
3841 return & TraceServer {
3942 repo : repo ,
43+ metrics : metrics ,
4044 minSeverity : parseSeverity (cfg .IngestMinSeverity ),
4145 allowedServices : parseServiceList (cfg .IngestAllowedServices ),
4246 excludedServices : parseServiceList (cfg .IngestExcludedServices ),
@@ -48,9 +52,10 @@ func (s *TraceServer) SetLogCallback(cb func(storage.Log)) {
4852 s .logCallback = cb
4953}
5054
51- func NewLogsServer (repo * storage.Repository , cfg * config.Config ) * LogsServer {
55+ func NewLogsServer (repo * storage.Repository , metrics * telemetry. Metrics , cfg * config.Config ) * LogsServer {
5256 return & LogsServer {
5357 repo : repo ,
58+ metrics : metrics ,
5459 minSeverity : parseSeverity (cfg .IngestMinSeverity ),
5560 allowedServices : parseServiceList (cfg .IngestAllowedServices ),
5661 excludedServices : parseServiceList (cfg .IngestExcludedServices ),
@@ -106,6 +111,7 @@ func (s *TraceServer) Export(ctx context.Context, req *coltracepb.ExportTraceSer
106111 StartTime : startTime ,
107112 EndTime : endTime ,
108113 Duration : duration ,
114+ ServiceName : serviceName ,
109115 AttributesJSON : string (attrs ),
110116 }
111117 spansToInsert = append (spansToInsert , sModel )
@@ -226,6 +232,9 @@ func (s *TraceServer) Export(ctx context.Context, req *coltracepb.ExportTraceSer
226232 return nil , err
227233 }
228234 // slog.Debug("✅ Successfully persisted spans", "count", len(spansToInsert))
235+ if s .metrics != nil {
236+ s .metrics .RecordIngestion (len (spansToInsert ))
237+ }
229238 }
230239
231240 return & coltracepb.ExportTraceServiceResponse {}, nil
@@ -304,6 +313,9 @@ func (s *LogsServer) Export(ctx context.Context, req *collogspb.ExportLogsServic
304313 return nil , err
305314 }
306315 // slog.Debug("✅ Successfully persisted logs", "count", len(logsToInsert))
316+ if s .metrics != nil {
317+ s .metrics .RecordIngestion (len (logsToInsert ))
318+ }
307319 }
308320
309321 // Notify listener
0 commit comments