Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

    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.

...

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.