You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

1.Backgorund

1.1 Problems

    As IoTDB becomes more and more complex, some system operating metric need to be monitored to improve the operational viability and robustness of the system. IoTDB does not have a relatively complete metric collector to support the collection of some system operating metric now, so it is necessary to design a set of metric acquisition system.

    There are some widely used metric acquisition library in the open source community, such as Dropwizard metrics, micrometer, and dubbo metrics, that can be considered for adaptation. Considering that IoTDB is a real-time online system, according to the experience of previously collected metrics leading to a significant drop in performance, these metrics library may not be able to meet the needs of IoTDB in terms of performance.

    Therefore, we develop a set of metric acquisition interfaces and adapt it to other mature acquisition libraries to achieve the benefits of flexible switching and easy target optimization.

1.2Targets

Provides a set of metric collector interfaces.

A set of adaptation implementations based on micrometer.

A set of adaptation implementations based on dropwizard.

Test metric creation and query performance on miceometer and dropwizard.

2.Overall Design

2.1 Acquisition system

The acquisition system consists of following four parts.

1. metrics

Provide tools for collecting metric in different scenarios, including Counter, Gauge, Meter, Histogram, Timer, each with tags.

2.metricManager

a. Provides functions such as creating, finding, updating, and deleting metrics.

b. Provides management of reporter, including starting and stopping reporter.

c. Provides the ability to introduce default metrics(Known Metric).

d.Provides its own start and stop methods.

3.MetricReporter

Push the collector's data to other systems, such as Prometheus, JMX, IoTDB, etc.

4.MetricService

Provides metricManager start-up, acquisition, and shutdown functions that can be used in the future after being registered as Iservice.

  • No labels