Class PrometheusCounters
- All Implemented Interfaces:
org.pipservices4.components.config.IConfigurable,org.pipservices4.components.config.IReconfigurable,org.pipservices4.components.refer.IReferenceable,org.pipservices4.components.run.IClosable,org.pipservices4.components.run.IOpenable,org.pipservices4.observability.count.ICounters,org.pipservices4.observability.count.ICounterTimingCallback
The component is normally used in passive mode conjunction with PrometheusMetricsController.
Alternatively when connection parameters are set it can push metrics to Prometheus PushGateway.
### Configuration parameters ###
- connection(s):
- discovery_key: (optional) a key to retrieve the connection from IDiscovery
- protocol: connection protocol: http or https
- host: host name or IP address
- port: port number
- uri: resource URI or connection string with all parameters in it
- options:
- retries: number of retries (default: 3)
- connect_timeout: connection timeout in milliseconds (default: 10 sec)
- timeout: invocation timeout in milliseconds (default: 10 sec)
### References ###
- *:logger:*:*:1.0 (optional) ILogger components to pass log messages
- *:counters:*:*:1.0 (optional) ICounters components to pass collected measurements
- *:discovery:*:*:1.0 (optional) IDiscovery services to resolve connection
### Example ###
var counters = new PrometheusCounters(); counters.configure(ConfigParams.fromTuples( "connection.protocol", "http", "connection.host", "localhost", "connection.port", 8080 ));
counters.open("123");
counters.increment("mycomponent.mymethod.calls"); var timing = counters.beginTiming("mycomponent.mymethod.exec_time"); try { ... } finally { timing.endTiming(); }
counters.dump();
-
Field Summary
Fields inherited from class org.pipservices4.observability.count.CachedCounters
_lastResetTime, _resetTimeout -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose(org.pipservices4.components.context.IContext context) Closes component and frees used resources.voidconfigure(org.pipservices4.components.config.ConfigParams config) Configures component by passing configuration parameters.booleanisOpen()Checks if the component is opened.voidopen(org.pipservices4.components.context.IContext context) Opens the component.protected voidSaves the current counters measurements.voidsetReferences(org.pipservices4.components.refer.IReferences references) Sets references to dependent components.Methods inherited from class org.pipservices4.observability.count.CachedCounters
beginTiming, clear, clearAll, dump, endTiming, get, getAll, getInterval, increment, incrementOne, last, setInterval, stats, timestamp, timestampNow, update
-
Constructor Details
-
PrometheusCounters
public PrometheusCounters()
-
-
Method Details
-
configure
public void configure(org.pipservices4.components.config.ConfigParams config) Configures component by passing configuration parameters.- Specified by:
configurein interfaceorg.pipservices4.components.config.IConfigurable- Overrides:
configurein classorg.pipservices4.observability.count.CachedCounters- Parameters:
config- configuration parameters to be set.
-
setReferences
public void setReferences(org.pipservices4.components.refer.IReferences references) Sets references to dependent components.- Specified by:
setReferencesin interfaceorg.pipservices4.components.refer.IReferenceable- Parameters:
references- references to locate the component dependencies.
-
isOpen
public boolean isOpen()Checks if the component is opened.- Specified by:
isOpenin interfaceorg.pipservices4.components.run.IOpenable- Returns:
- true if the component has been opened and false otherwise.
-
open
public void open(org.pipservices4.components.context.IContext context) Opens the component.- Specified by:
openin interfaceorg.pipservices4.components.run.IOpenable- Parameters:
context- (optional) a context to trace execution through call chain.
-
close
public void close(org.pipservices4.components.context.IContext context) Closes component and frees used resources.- Specified by:
closein interfaceorg.pipservices4.components.run.IClosable- Parameters:
context- (optional) a context to trace execution through call chain.
-
save
Saves the current counters measurements.- Specified by:
savein classorg.pipservices4.observability.count.CachedCounters- Parameters:
counters- current counters measurements to be saves.
-