Memory and cache configuration

These configuration items relate to Caplin Transformer’s core memory and caching functions

add-purge

add-purge specifies how often a particular object, or set of objects, is to be purged (deleted) from Transformer’s object cache. If the Transformer is consuming data from a broadcast feed, it may be useful to remove broadcast objects from the cache that haven’t been updated after a certain period of time.

Syntax: add-purge <symbol-pattern> <purge-time> <purge-days>

Parameter Type Default Description

symbol-pattern

string

[none]

A regular expression that selects the symbols (subject names) of the objects to be purged.

For example:

  • ^/FX selects all the symbols that start with /FX

  • ^/FX/GBPUSD$ selects the symbol /FX/GBPUSD

purge-time

integer

-1

The time, in minutes past midnight, when Transformer attempts to purge the object from its cache.

Set to -1 (default) to disable purge.

If you don’t specify the purge-time parameter or it’s invalid, Transformer ignores this add-purge item, and the affected objects will never be purged.

purge-days

integer

[none]

The selected objects are purged when they are more than purge-days old.

If you don’t specify the purge-days parameter or it’s invalid, Transformer ignores this add-purge item, and the affected objects will never be purged.

memory-file

memory-file specifies the location of the file to which the object cache is saved every write-cache-period and when Transformer shuts down. The cache is restored from this file when Transformer starts up.

You can also instruct Transformer to write its object cache to disk on-demand by issuing the UDP command memory_write to Transformer, or by running the "Write cache to disk" operation under the transformer.server.transformer mbean in the Caplin Management Console.

The path to the memory file can contain any of the following substitution parameters:

Parameter Substitution at run time

%r

The root directory (application-root) under which the Transformer runs

%a

The name of the Transformer (application-name)

%u

The home directory of the account from where the Transformer was started.

%h

The hostname of the machine on which the Transformer is running.

Syntax: memory-file <file-path>

Type: string

Default value: %r/var/memory

memory-hash-size

memory-hash-size specifies the size of Transformer’s object hash table in elements. The hash table is the access mechanism for Transformer’s object cache; each element is a slot for the hash code that identifies an object in the cache. This item is used to tune Transformer’s performance; its value should normally be roughly twice the total number of objects that need to be cached.

Syntax: memory-hash-size <size-in-table-elements>

Type: integer

Default value: 16384 hash table elements

permission-hash-size

permission-hash-size specifies the initial size, in elements, of the hash table that holds updates to permissions data. updates. The table automatically grows past the configured or default size, as required.

Syntax: permission-hash-size <size-in-table-elements>

Type: integer

Default value: 65536 hash table elements

symboluser-hashsize

symboluser-hashsize specifies the size (in elements) of the hash table that holds the details of the C functions used to support caching of data specific to individual Transformer modules. For more about this, see the Transformer C Module API documentation under "Modules > Module caching functionality".

Syntax: symboluser-hashsize <size-in-table-elements>

Type: integer

Default value: 63 hash table elements

write-cache-period

write-cache-period specifies the interval in seconds between writes of Transformer’s object cache to the file specifed by memory-file. Transformer persists its object cache to this file every write-cache-period.

You can also instruct Transformer to write its object cache to disk on-demand by issuing the UDP command memory_write to Transformer, or by running the "Write cache to disk" operation under the transformer.server.transformer mbean in the Caplin Management Console.

Syntax: write-cache-period <interval-in-seconds>

Type: float

Default value: 30.0 seconds


See also: