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
-
Field Summary
Fields inherited from class org.pipservices3.components.count.CachedCounters
_lastResetTime, _resetTimeout
-
Constructor Summary
Constructors Constructor Description LogCounters()
Creates a new instance of the counters. -
Method Summary
Modifier and Type Method Description protected void
save(List<Counter> counters)
Saves the current counters measurements.void
setReferences(org.pipservices3.commons.refer.IReferences references)
Sets references to dependent components.Methods inherited from class org.pipservices3.components.count.CachedCounters
beginTiming, clear, clearAll, configure, dump, endTiming, get, getAll, increment, incrementOne, last, stats, timestamp, timestampNow, update
-
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.ReferenceExceptionSets references to dependent components.- Specified by:
setReferences
in interfaceorg.pipservices3.commons.refer.IReferenceable
- Parameters:
references
- references to locate the component dependencies.- Throws:
org.pipservices3.commons.refer.ReferenceException
-
save
Saves the current counters measurements.- Specified by:
save
in classCachedCounters
- Parameters:
counters
- current counters measurements to be saves.
-