Skip to content

Commit e1e7ac3

Browse files
committed
k6runner: create spans for sending logs and metrics
1 parent 36b2396 commit e1e7ac3

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

internal/k6runner/k6runner.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
"github.com/rs/zerolog"
1919
"github.com/spf13/afero"
2020
"go.opentelemetry.io/otel/attribute"
21+
"go.opentelemetry.io/otel/trace"
2122
)
2223

2324
// Script is a k6 script that a runner is able to run, with some added instructions for that runner to act on.
@@ -147,32 +148,42 @@ func (r Processor) Run(ctx context.Context, registry *prometheus.Registry, logge
147148
}()
148149
}
149150

151+
_, sendLogsSpan := trace.SpanFromContext(ctx).TracerProvider().Tracer("").Start(ctx, "send logs")
150152
// Send logs before metrics to make sure logs are submitted even if the metrics output is not parsable.
151153
if err := k6LogsToLogger(result.Logs, logger); err != nil {
152154
internalLogger.Debug().
153155
Err(err).
154156
Msg("cannot load logs to logger")
157+
sendLogsSpan.RecordError(err)
158+
sendLogsSpan.End()
155159
return false, err
156160
}
161+
sendLogsSpan.End()
157162

158163
var (
159164
collector sampleCollector
160165
resultCollector checkResultCollector
161166
)
162167

168+
_, sendMetricsSpan := trace.SpanFromContext(ctx).TracerProvider().Tracer("").Start(ctx, "send metrics")
163169
if err := extractMetricSamples(result.Metrics, internalLogger, collector.process, resultCollector.process); err != nil {
164170
internalLogger.Debug().
165171
Err(err).
166172
Msg("cannot extract metric samples")
173+
sendMetricsSpan.RecordError(err)
174+
sendMetricsSpan.End()
167175
return false, err
168176
}
169177

170178
if err := registry.Register(&collector.collector); err != nil {
171179
internalLogger.Error().
172180
Err(err).
173181
Msg("cannot register collector")
182+
sendMetricsSpan.RecordError(err)
183+
sendMetricsSpan.End()
174184
return false, err
175185
}
186+
sendMetricsSpan.End()
176187

177188
// https://github.com/grafana/sm-k6-runner/blob/b811839d444a7e69fd056b0a4e6ccf7e914197f3/internal/mq/runner.go#L51
178189
switch result.ErrorCode {

0 commit comments

Comments
 (0)