Collectors

class uwsgiconf.options.monitoring_collectors.Collector(*args, **kwargs)
class uwsgiconf.options.monitoring_collectors.CollectorPointer(*args, **kwargs)

The value is collected from memory pointer.

class uwsgiconf.options.monitoring_collectors.CollectorFile(fpath, *, get_slot=None)

The value is collected from a file.

Parameters:
  • fpath (str) – File path.
  • get_slot (int) – Get value from the given slot number. Slots: the content is split (using n, t, spaces, r and zero as separator) and the item (the returned array is zero-based) used as the return value.
class uwsgiconf.options.monitoring_collectors.CollectorFunction(func)

The value is computed calling a specific C function every time.

Note

  • The argument it takes is a uwsgi_metric pointer. You generally do not need to parse the metric, so just casting to void will avoid headaches.
  • The function must returns an int64_t value.
Parameters:func (str) – Function to call.
class uwsgiconf.options.monitoring_collectors.CollectorSum(what)

The value is the sum of other metrics.

class uwsgiconf.options.monitoring_collectors.CollectorAvg(what)

The value is the algebraic average of the children.

Note

Since 1.9.20

class uwsgiconf.options.monitoring_collectors.CollectorAccumulator(what)

Always add the sum of children to the final value.

Example:

  • Round 1: child1 = 22, child2 = 17 -> metric_value = 39
  • Round 2: child1 = 26, child2 = 30 -> metric_value += 56
class uwsgiconf.options.monitoring_collectors.CollectorAdder(what, value)

Add the specified argument (arg1n) to the sum of children.

Parameters:value (int) – Value to add (multiply if it is CollectorMultiplier).
class uwsgiconf.options.monitoring_collectors.CollectorMultiplier(what, value)

Multiply the sum of children by the specified argument.

Example:

  • child1 = 22, child2 = 17, arg1n = 3 -> metric_value = (22+17)*3
Parameters:value (int) – Value to add (multiply if it is CollectorMultiplier).