MCPcopy
hub / github.com/grafana/tempo / writeValidationTrace

Method writeValidationTrace

cmd/tempo-vulture/validation.go:264–286  ·  view source on GitHub ↗
(
	_ context.Context,
	writer TraceWriter,
)

Source from the content-addressed store, hash-verified

262}
263
264func (vs *ValidationService) writeValidationTrace(
265 _ context.Context,
266 writer TraceWriter,
267) (*util.TraceInfo, *tempopb.Trace, error) {
268 traceInfo := util.NewTraceInfoWithMaxLongWrites(
269 vs.clock.Now(),
270 0,
271 vs.config.TempoOrgID,
272 )
273
274 // Construct the trace structure BEFORE writing
275 traceStructure, err := traceInfo.ConstructTraceFromEpoch()
276 if err != nil {
277 return nil, nil, err
278 }
279
280 writeErr := traceInfo.EmitAllBatches(writer)
281 if writeErr != nil {
282 return nil, nil, fmt.Errorf("failed to write trace, error: %w", writeErr) // Any write failure is critical
283 }
284
285 return traceInfo, traceStructure, nil
286}
287
288func (vs *ValidationService) validateTraceRetrieval(
289 ctx context.Context,

Callers 2

TestWriteValidationTraceFunction · 0.95
RunValidationMethod · 0.95

Calls 4

EmitAllBatchesMethod · 0.80
NowMethod · 0.65

Tested by 1

TestWriteValidationTraceFunction · 0.76