[Observability Task] Architectural Design Concept of Abstract Indicator System
In order for the indicator system to better serve other modules, we need to abstract and reconstruct the indicator system,Here are some current design ideas
Collectors - Event ->Data Aggregator (Optional) ->Indicator Samples ->Indicator Exporter
--------------------------------------->
[可观测性任务] 抽象指标体系的架构设计概念,
为了指标系统能更好的为其他模块提供服务,我们需要再对指标体系进行抽象重构,下面是目前的一些设计思想
采集器 ----事件 ---> 数据聚合器(可选)-->指标样本--->指标导出器
--------------------------------------->
4条答案
按热度按时间0md85ypi1#
Refactoring code to support business metrics collection
Currently, the indicator collection function of Dubbo is mainly used inside Dubbo. In fact, every application has a requirement for indicator collection, and it is necessary to try to extend the concept of collector samples. At the same time, it is necessary to provide a certain API for the indicator registry that exports indicators to allow users to output their business indicators to the indicator registry
重构代码以支持使用Dubbo的应用程序的外部业务指标采集
目前Dubbo的指标采集功能主要用于Dubbo内部,其实每个应用程序都会有指标采集的需求,需要尝试将采集器样本的概念扩展出去,同时需要将指标导出的指标注册表也提供一定的API可以让用户的业务指标输出到指标注册表中
xxb16uws2#
@jojocodeX@wxbty PATL
sh7euo9m3#
Refactoring code to support business metrics collection Currently, the indicator collection function of Dubbo is mainly used inside Dubbo. In fact, every application has a requirement for indicator collection, and it is necessary to try to extend the concept of collector samples. At the same time, it is necessary to provide a certain API for the indicator registry that exports indicators to allow users to output their business indicators to the indicator registry
重构代码以支持使用Dubbo的应用程序的外部业务指标采集
目前Dubbo的指标采集功能主要用于Dubbo内部,其实每个应用程序都会有指标采集的需求,需要尝试将采集器样本的概念扩展出去,同时需要将指标导出的指标注册表也提供一定的API可以让用户的业务指标输出到指标注册表中
We now support external collector integration. After customizing the collector through spi, GlobalMetricsEventMulticaster will help register to ScopeBeanFactory, and then the initCollectors method of AbstractMetricsReporter gets all internal/external collectors. Users can easily access the indicator system according to the dubbo-metrics-registry or dubbo-metrics-registry project format
vfh0ocws4#
We can add another concept, MertricsKey, which is a whole class. It has the following attributes: key template (such as dubbo.%s.requests.total.aggregate), key type (such as registry subscribe), description, whether to auto-increment key, level (app or service), side (subclass, provider /consumer). There are the following methods: targetKey(), targetDesc(), getTagName(). Now these things exist, but they are scattered and not object-oriented。
我们可以再加一个概念MertricsKey,它是一个整体类。有以下属性:key的模板(如dubbo.%s.requests.total.aggregate),key类型(比如registry的subscribe),描述,是否自增key,级别(app or service),side(子类,provider/consumer)。有以下方法:targetKey()、targetDesc(),getTagName()。现在这些东西都存在,但是比较散,没有面向对象