撰写于 2023
  • 4-指标转换与导出

    Friday, April 28, 2023 在 dubbo-metrics 指标模块源码浅析

    四、指标转换与导出 本章主要梳理指标收集完成后,向外部收集器导出的流程。 通过之前的分析,我们知道不同类型指标的收集分别由各个 Collector 实现进行。它们底层的 MetricsCollector 接口定义了指标导出的操作。 @SPI public interface MetricsCollector<E extends TimeCounterEvent> extends MetricsLifeListener<E> { default boolean …

    更多

  • 3-指标监听注册梳理

    Friday, April 28, 2023 在 dubbo-metrics 指标模块源码浅析

    三、指标监听注册梳理 在前一章中,我们了解了不同收集器中的指标样本是如何被监听器添加进去的。接下来,我们将归纳指标监听器 的创建位置,及它们对应统计的指标。 通过之前的分析,我们已经知道指标 注册事件多播器(RegistryMetricsEventMulticaster)中定义了并绑定了服务注册相关的指标。这种绑定操作同样存在于其它几个简单指标事件多播器(SimpleMetricsEventMulticaster)的几个实现中。 转发器注册 RegistrySubDispatcher (服务注册 …

    更多

  • 2-指标收集器的指标采集流程

    Friday, April 28, 2023 在 dubbo-metrics 指标模块源码浅析

    二、指标收集器的指标采集流程 在前文中,我们了解了指标收集器(Collector)最终收集的数据只有三个来源: 实现自混合指标收集器(CombMetricsCollector) 的元数据指标收集器(MetadataMetricsCollector)和注册中心指标收集器(RegistryMetricsCollector),它们的样本均存储在内置的基本数据聚合器中。具体来说,是基本数据聚合器下的四个子数据聚合器中: DefaultMetricsCollector 默认指标收集器,它的样本不仅来自于指 …

    更多

  • 1-指标样本的收集与存储

    Friday, April 28, 2023 在 dubbo-metrics 指标模块源码浅析

    一、指标样本的收集与存储 指标样本收集 指标收集器(Collector)是指标对外导出的入口。最终导出到指标统计中心的指标采样实际均直接来源于各个指标采样器。因此,我们将从各个收集器实现开始,分析 dubbo-metrics 模块是如何工作的。 指标收集操作定义在 MetricsCollector (指标采集器,SPI)接口中,可以通过它的实现收集某一类的指标样本(MetricSample)。它主要有以下实现,对应着不同类型的指标: ConfigCenterMetricsCollector 配置 …

    更多

  • 引言

    Friday, April 28, 2023 在 dubbo-metrics 指标模块源码浅析

    引言 服务指标统计体系是 Dubbo 可观测能力的重要组成部分。 dubbo-metrics 指标模块旨在将 dubbo 内部零散的 Metrics 相关类综合到一个单独的模块中,提供一套更加完善、全面、可拓展、解耦合的指标采样-统计-导出解决方案。 dubbo-metrics 模块包括: dubbo-metrics-api 公用接口包 dubbo-metrics-prometheus 普罗米修斯适配包 dubbo-metrics-metadata …

    更多