Skip to content

Remove helpers/trace redundant io.Pipe use

Arran Walker requested to merge ajwalker/trace-buffer-pipe-fix into master

What does this MR do?

  • Removes io.Pipe redundant to synchronize writes.
  • Fixes an off-by-one bug on the buffer limit.
  • Moves where lock is performed, so that it doesn't occur on every rune write.

Why was this MR needed?

As part of an incremental change for improved trace performance. A simple benchmark has been added to monitor this progress.

What's the best way to test this MR?

The existing tests in buffer_test.go.

The behaviour of not returning any Write() errors is now far more apparent, but we're duplicating the old behaviour. This will be fixed in later MRs.

What are the relevant issue numbers?

closes #27070 (closed)

Edited by Arran Walker

Merge request reports