Roux.Test.BlobStress (roux v0.2.2)

Copy Markdown View Source

Loops run in peer VMs (separate OS processes) against one store, for Roux.Blob.ReplaceTest and Roux.Blob.VersionsTest: each runs for ms milliseconds and reports what it saw.

Summary

Functions

Adopts a fresh empty output over and over: the bytes of the empty entry.

A link of digest to dest, and a read of it: {link result, get result}.

Links the empty entry into a scratch directory, and reads it, over and over: %{links: n, failed_links: [reason], misses: n}.

Looks up the trace :cell and recalls :key, over and over: %{lookups: n, misses: n}.

Puts the empty bytes over and over.

Puts a new value in the trace :cell (no observations) and remembers one under :key, over and over, each value {tag, n}: the count.

Functions

adopt_loop(store, ms)

Adopts a fresh empty output over and over: the bytes of the empty entry.

lookup_loop(store, ms)

Looks up the trace :cell and recalls :key, over and over: %{lookups: n, misses: n}.

put_loop(store, ms)

Puts the empty bytes over and over.

rewrite_loop(store, tag, ms)

Puts a new value in the trace :cell (no observations) and remembers one under :key, over and over, each value {tag, n}: the count.