|
|
Emits log messages at a configurable rate, severity mix and shape, to put the logging path (LogSender -> IceStorm "Log" topic -> LogViewer GUI) under a reproducible load. More...
Classes | |
| class | LogSpamTest |
| Generates configurable log load for testing the logging path. More... | |
Emits log messages at a configurable rate, severity mix and shape, to put the logging path (LogSender -> IceStorm "Log" topic -> LogViewer GUI) under a reproducible load.
Every message is unique: the text is assembled from random words plus a per-thread counter and a random id. That matters because the viewer deduplicates nothing and because identical lines would not exercise its per-entry work realistically.
The knobs are chosen to reach the parts of the path that actually cost something:
WarningPercent / ErrorPercent – messages at WARN and above carry a full backtrace (see LogSender::log), which dominates both payload size and sender cost.MultilinePercent – multi-line messages are what give the viewer's table rows individual heights.TagCount – spreads messages over several tags.ThreadCount – concurrent senders, so the global console mutex in LogSender is contended as it is in a real component.BurstEveryMs / BurstSize – periodic bursts on top of the steady rate, to exercise the viewer's staging queue rather than only its steady-state throughput.The component name shown in the viewer is the application name, so a scenario runs several instances of this app to produce several distinct log sources.