Class LogCounters

java.lang.Object
org.pipservices3.components.count.CachedCounters
org.pipservices3.components.count.LogCounters
All Implemented Interfaces:
org.pipservices3.commons.config.IConfigurable, org.pipservices3.commons.config.IReconfigurable, org.pipservices3.commons.refer.IReferenceable, ICounters, ITimingCallback

public class LogCounters
extends CachedCounters
implements org.pipservices3.commons.refer.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 ###

 
 LogCounters counters = new LogCounters();
 counters.setReferences(References.fromTuples(
     new Descriptor("pip-services3", "logger", "console", "default", "1.0"), new ConsoleLogger()
 ));
 
 counters.increment("mycomponent.mymethod.calls");
 Timing timing = counters.beginTiming("mycomponent.mymethod.exec_time");
 try {
     ...
 } finally {
     timing.endTiming();
 }
 
 counters.dump();
 
 
See Also:
Counter, CachedCounters, CompositeLogger
  • Constructor Details

    • LogCounters

      public LogCounters()
      Creates a new instance of the counters.
  • Method Details

    • setReferences

      public void setReferences​(org.pipservices3.commons.refer.IReferences references) throws org.pipservices3.commons.refer.ReferenceException
      Sets references to dependent components.
      Specified by:
      setReferences in interface org.pipservices3.commons.refer.IReferenceable
      Parameters:
      references - references to locate the component dependencies.
      Throws:
      org.pipservices3.commons.refer.ReferenceException
    • save

      protected void save​(List<Counter> counters)
      Saves the current counters measurements.
      Specified by:
      save in class CachedCounters
      Parameters:
      counters - current counters measurements to be saves.