MCPcopy Create free account
hub / github.com/buggregator/server / handleSpansItem

Method handleSpansItem

modules/sentry/handler.go:241–262  ·  view source on GitHub ↗

handleSpansItem processes a "spans" envelope item (Span v2 format).

(item EnvelopeItem)

Source from the content-addressed store, hash-verified

239
240// handleSpansItem processes a "spans" envelope item (Span v2 format).
241func (h *handler) handleSpansItem(item EnvelopeItem) {
242 if h.db == nil {
243 return
244 }
245
246 // Spans v2 can be either {"items": [...]} or a bare array [...].
247 var envelope SpansEnvelope
248 if err := json.Unmarshal(item.Payload, &envelope); err == nil && len(envelope.Items) > 0 {
249 if err := storeSpansV2(h.db, envelope.Items, nil); err != nil {
250 slog.Warn("sentry: failed to store spans v2", "err", err)
251 }
252 return
253 }
254
255 // Try as bare array.
256 var spans []RawSpan
257 if err := json.Unmarshal(item.Payload, &spans); err == nil && len(spans) > 0 {
258 if err := storeSpansV2(h.db, spans, nil); err != nil {
259 slog.Warn("sentry: failed to store spans v2 (array)", "err", err)
260 }
261 }
262}
263
264// handleLogItem processes a "log" envelope item.
265func (h *handler) handleLogItem(item EnvelopeItem) {

Callers 1

handleEnvelopeMethod · 0.95

Calls 1

storeSpansV2Function · 0.85

Tested by

no test coverage detected