MCPcopy Index your code
hub / github.com/riverqueue/river / BenchmarkMiddlewareWorkAppend

Function BenchmarkMiddlewareWorkAppend

riverlog/river_log_benchmark_test.go:15–61  ·  view source on GitHub ↗
(b *testing.B)

Source from the content-addressed store, hash-verified

13)
14
15func BenchmarkMiddlewareWorkAppend(b *testing.B) {
16 if testing.Short() {
17 b.Skip("skipping benchmark in short mode")
18 }
19
20 middleware := NewMiddleware(func(w io.Writer) slog.Handler {
21 return slog.NewTextHandler(w, nil)
22 }, nil)
23
24 cases := []struct {
25 name string
26 size int
27 }{
28 {name: "metadata_256kb", size: 256 * 1024},
29 {name: "metadata_2mb", size: 2 * 1024 * 1024},
30 }
31
32 for _, tc := range cases {
33 b.Run(tc.name, func(b *testing.B) {
34 metadata := makeMetadataWithLogSize(tc.size)
35 appendLogLine := strings.Repeat("x", 2048)
36
37 b.ReportAllocs()
38 b.ResetTimer()
39
40 for range b.N {
41 metadataUpdates := map[string]any{}
42 ctx := context.WithValue(context.Background(), jobexecutor.ContextKeyMetadataUpdates, metadataUpdates)
43 job := &rivertype.JobRow{
44 Attempt: 1,
45 Metadata: metadata,
46 }
47
48 if err := middleware.Work(ctx, job, func(ctx context.Context) error {
49 Logger(ctx).InfoContext(ctx, appendLogLine)
50 return nil
51 }); err != nil {
52 b.Fatalf("work returned error: %v", err)
53 }
54
55 if _, ok := metadataUpdates[metadataKey]; !ok {
56 b.Fatal("missing river:log metadata update")
57 }
58 }
59 })
60 }
61}
62
63func makeMetadataWithLogSize(targetBytes int) []byte {
64 if targetBytes <= 0 {

Callers

nothing calls this directly

Calls 5

WorkMethod · 0.95
NewMiddlewareFunction · 0.85
makeMetadataWithLogSizeFunction · 0.85
LoggerFunction · 0.70
RunMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…