msys.counter.open — Create a counter object
counter_path: string semantics: number, optional
For performance it is always recommended that counter handles be used rather than strings.
Momentum counters are generic counters that may be associated with a name in the counter namespace. This namespace may be exported to other facilities for visualization, analysis and more. The namespace hierarchy is defined as follows.
/reserved for Message Systems use.
/sievereserved for Sieve counters.
/vendor/<name>reserved for vendors. For example, vendor
/site/<name>reserved for clients. For example, client
Sieve counters are integrated into this system. A Sieve counter is an alias to
/sieve/type/[phase/]name where "type" may have the values 5xx, 4xx or informational. The phase field is optional and represents the SMTP phase the counter is associated with. The name field is the name of the Sieve counter. For example, the Sieve counter
spool_phase1:ec_reject spool (5xx) is an alias to
Counters may be opened with either
msys.counter.RELAXED semantics. If a counter value is updated mostly in a single thread on one processor then the STRICT semantics are recommended. Also, for policy-level logic, STRICT semantics are recommended as the counters may later be augmented to support atomic fetch and phi operations. If the counter is often updated across different threads or processors then RELAXED semantics are recommended. STRICT semantics provide almost perfect read scalability and RELAXED semantics provide almost perfect update scalability.
For a code example see “msys.counter.read example”.
Enable this function with the statement