in util/common/traces/xray/generator.go [62:92]
func (g *XrayTracesGenerator) Generate(ctx context.Context) error {
rootCtx, root := xray.BeginSegment(ctx, "load-generator")
g.SegmentsGenerationCount++
defer func() {
root.Close(nil)
g.SegmentsEndedCount++
}()
for key, value := range g.Cfg.Annotations {
if err := root.AddAnnotation(key, value); err != nil {
return err
}
}
for namespace, metadata := range g.Cfg.Metadata {
for key, value := range metadata {
if err := root.AddMetadataToNamespace(namespace, key, value); err != nil {
return err
}
}
}
_, subSeg := xray.BeginSubsegment(rootCtx, "with-error")
defer subSeg.Close(nil)
if err := subSeg.AddError(generatorError); err != nil {
return err
}
return nil
}