xtd.core.stat.manager module

class xtd.core.stat.manager.StatManager[source]

Bases: xtd.core.tools.thread.SafeThreadGroup

__init__()[source]
exists(p_ns, p_name)[source]
register_counter(p_ns, p_counter)[source]

Register a counter in global statistics

Parameters:
  • p_ns (str) – namespace
  • p_counter (BaseCounter) – counter object to add
Raises:
  • XtdError – counter already defined for this namespace
  • XtdErrorp_counter is not a valid BaseCounter object
register_handler(p_handler)[source]

Register an counter output handler

Parameters:p_handler (BaseHandler) – new handler to add
Raises:XtdError – given p_handler is not a valid BaseHandler
get(p_ns, p_name)[source]

Get a counter in a particular namespace

Returns:

requests counter

Return type:

BaseCounter

Raises:
  • XtdError – undefined namespace p_ns
  • XtdError – undefined counter p_name for given namespace
write()[source]

Output counter is all registered handlers

get_all()[source]

Get registered counters

Example

{
  "name.space.1" : [ <counter-object-1>, <counter-object-2>, ... ],
  ...
  "name.space.N" : [ <counter-object-N>, <counter-object-N+1>, ... ],
}
Returns:dictionary containing raw counters
Return type:dict
get_json()[source]

Get counter data in a dictionary

Example

{
  "name.space.1" : {
    "counter1" : <value1>,
    "counter2" : <value2>
  },
  ...
  "name.space" : {
    "counterN" : <valueN>
  }
}
Returns:counter’s name and value organized by namespace
Return type:dict
__module__ = 'xtd.core.stat.manager'