@@ -38,8 +38,10 @@ type (
3838 debugMode bool
3939 metadata map [string ]interface {}
4040
41- payloadSpans []PayloadSpan
42- payloadEvents []PayloadEvent
41+ payloadSpans []PayloadSpan
42+ payloadEvents []PayloadEvent
43+ maxSpansPerPayload int
44+ maxEventsPerPayload int
4345
4446 flushFrequency time.Duration
4547 url string
@@ -82,6 +84,16 @@ func NewSpanRecorder(agent *Agent) *SpanRecorder {
8284 r .url = agent .getUrl ("api/agent/ingest" )
8385 r .client = & http.Client {}
8486 r .stats = & RecorderStats {}
87+ if cfg .Tracer .Dispatcher .Events .MaxPayloadSize != nil {
88+ r .maxEventsPerPayload = * cfg .Tracer .Dispatcher .Events .MaxPayloadSize
89+ } else {
90+ r .maxEventsPerPayload = 1000
91+ }
92+ if cfg .Tracer .Dispatcher .Spans .MaxPayloadSize != nil {
93+ r .maxSpansPerPayload = * cfg .Tracer .Dispatcher .Spans .MaxPayloadSize
94+ } else {
95+ r .maxSpansPerPayload = 1000
96+ }
8597 r .t .Go (r .loop )
8698 return r
8799}
@@ -142,11 +154,10 @@ func (r *SpanRecorder) loop() error {
142154// Sends the spans in the buffer to Scope
143155func (r * SpanRecorder ) sendSpans () (error , bool ) {
144156 atomic .AddInt64 (& r .stats .sendSpansCalls , 1 )
145- const batchSize = 1000
146157 var lastError error
147158 for {
148- spans , spMore , spTotal := r .popPayloadSpan (batchSize )
149- events , evMore , evTotal := r .popPayloadEvents (batchSize )
159+ spans , spMore , spTotal := r .popPayloadSpan (r . maxSpansPerPayload )
160+ events , evMore , evTotal := r .popPayloadEvents (r . maxEventsPerPayload )
150161
151162 payload := map [string ]interface {}{
152163 "metadata" : r .metadata ,
0 commit comments