4.2   Dynamic Ring Buffer

The WindView dynamic ring buffer (rBuff) is designed to provide the most effective use of memory resources during event logging. You set limiting parameters, and WindView automatically expands or shrinks the ring depending on how much data is stored in it at a particular time. For a detailed discussion of how the rBuff works and how to configure buffer parameters, see 7.7 Dynamic Buffer Allocation.

The rBuff is configured in the Buffer Configuration section of the Control Properties dialog box.

4.2.1   Parameters

This section provides rules of thumb for changing buffer parameters. For a detailed discussion of dynamic buffer allocation with examples, see 7.7 Dynamic Buffer Allocation.

Minimum Buffer Count

The minimum buffer count has a default of two, and this value is usually appropriate. Since the upload threshold for continuous mode is calculated from this value, if you find that your system is thrashing in continuous mode (allocating and deallocating buffers), you may tune it by increasing this value to three, or even to four.

Maximum Buffer Count

The maximum buffer count has a default of ten. For continuous upload mode this should be appropriate unless your system generates occasional very large bursts of data. If it happens that the ring of buffers occasionally fills during one of these bursts, causing logging to stop, you can increase the maximum number of buffers.

For deferred upload mode, you probably want to utilize all system memory that is not needed for VxWorks and your applications for the log buffer. Set the maximum number of buffers to 0xffffffff. WindView adds buffers to the ring until the maximum is reached or all memory is exhausted and then stops logging.

Buffer Size

The default buffer size is 32KB. This is usually appropriate for either deferred mode or continuous mode. If you select post-mortem mode, WindView automatically specifies small buffers. (For more information on post-mortem mode, see Post-Mortem Mode.)

4.2.2   Buffer-Full Behavior

In both deferred and continuous modes, when the ring of buffers fills, logging stops and a warning message is generated. This is more likely to happen in deferred mode, where a very large log may consume all available memory. It may also happen in continuous mode if a very large burst of data fills the entire ring of buffers before it can be uploaded. This behavior can not be configured; in other words, you can't tell WindView to keep logging after the ring of buffers is full. To prevent premature termination of logging, adjust the maximum number of buffers or use triggering to limit the amount of data collected.

In post-mortem mode you are collecting data to analyze a system failure. You may have to run your system for an extended period of time before the failure occurs, but when it does, the log data collected just before the failure is probably the most useful. For this reason, in post-mortem mode, WindView continues logging, automatically wrapping around and overwriting the oldest data if the dynamic ring buffer fills.