Version 0.1, free and open source

Same events in, same sequence out

Inorderly takes events that arrive late, twice or out of order and releases them as one sequence. Feed it the same events again, shuffled and repeated, and it writes the same output, byte for byte, with a hash to prove it.

200,000

Shuffled arrival orders of 10,000 tangled event sets, with repeats and restores; every set gave one output

30 kills

SIGKILL at random moments in one checkpointed run; the output matched an uninterrupted run byte for byte

344,000

Arriving events a second on two cores, two-thirds of them repeats, put in order

Apache 2.0

License for all of the code

Measured on a two-core Linux cloud machine with Go 1.24. The test logs are on GitHub.

Guides and notes

the name

Where the Name Inorderly Comes From

Inorderly is two phrases run together. “In order” is the job: events lined up one after another, the way they should be. “Orderly” is the manner: …

Questions or ideas?

If Inorderly nearly fits your pipeline, or you'd like it to do something it doesn't yet, write in.

Contact