incubator-pegasus
incubator-pegasus copied to clipboard
Feature(new_metrics): introduce data sink to collect snapshot from each metric periodically
This is the sub-issue of https://github.com/apache/incubator-pegasus/issues/922.
As a part of the framework of new metrics, the data sink, just as its name implies, is the destination where the metric data will go. One of the most important usage of metric system, is to collect the metrics it maintains to the external monitoring system to be observed.
The implementation adopted by new metrics is to periodically take snapshot from each metric of the registry. All data needed by external monitoring systems will be used to build the snapshot. There are abstract interfaces for data sink to accept the snapshot of each metric. The concrete monitoring system must implement these interfaces to collect the snapshots. The framework supports multiple external monitoring systems.