pip_services3_components.count.LogCounters module

pip_services3_components.counters.LogCounters

Log counters implementation

copyright

Conceptual Vision Consulting LLC 2018-2019, see AUTHORS for more details.

license

MIT, see LICENSE for more details.

class pip_services3_components.count.LogCounters.LogCounters

Bases: pip_services3_components.count.CachedCounters.CachedCounters, pip_services3_commons.refer.IReferenceable.IReferenceable

Performance counters that periodically dumps counters measurements to logger.

### Configuration parameters ###
  • options:
    • interval: interval in milliseconds to save current counters measurements (default: 5 mins)

    • reset_timeout: timeout in milliseconds to reset the counters. 0 disables the reset (default: 0)

### References ###
  • *:logger:*:*:1.0 ILogger components to dump the captured counters

  • *:context-info:*:*:1.0 (optional) ContextInfo to detect the context id and specify counters source

Example:

counters = LogCounters()
counters.set_references(References.from_tuples(
            Descriptor("pip-services", "logger", "console", "default", "1.0"), ConsoleLogger()))

counters.increment("mycomponent.mymethod.calls")
timing = counters.begin_timing("mycomponent.mymethod.exec_time")
# do something
timing.end_timing()
set_references(references: pip_services3_commons.refer.IReferences.IReferences)

Sets references to dependent components.

Parameters

references – references to locate the component dependencies.