Open songxiaosheng opened 8 months ago
Please add some details. Do you want to separate the code of the dubbo-metrics module?
Please add some details. Do you want to separate the code of the dubbo-metrics module?
Yes, the current Dubbo application is forced to include the Dubbo metrics module internally. Is it possible to extract this module to reduce the coupling with the core code?
Please add some details. Do you want to separate the code of the dubbo-metrics module?
Yes, the current Dubbo application is forced to include the Dubbo metrics module internally. Is it possible to extract this module to reduce the coupling with the core code?
Can it be assigned to me, thanks.
Please add some details. Do you want to separate the code of the dubbo-metrics module?
Yes, the current Dubbo application is forced to include the Dubbo metrics module internally. Is it possible to extract this module to reduce the coupling with the core code?
Can it be assigned to me, thanks.
okay You can take a look at this piece of code to see where there is room for optimization.
Hello everyone,
Through reading the source code of Spring Boot, I've observed that configuring monitoring exports seems to only require setting up XXXXMeterRegistry, such as InfluxMeterRegistry or OtlpMeterRegistry. In contrast, with Dubbo, our current initialization process involves setting up the complete AbstractMetricsReporter, which includes many complex implementations like addJvmMetrics, initCollectors, and even operations like registerDubboShutdownHook. I believe this approach is not quite reasonable. Instead, we should use composition over inheritance to clarify developers' tasks and implementation goals. This also aligns with the principle of least knowledge in design patterns. We should differentiate the management of metric collection/exposure and metric service lifecycle.
Additionally, we need to consider how to integrate and merge the monitoring of both Spring Boot Actuator and Dubbo in the same application. It's worth noting that this may not require specific attention within Dubbo, as we should differentiate between Dubbo and Dubbo-SpringBoot.
Hello everyone,
Through reading the source code of Spring Boot, I've observed that configuring monitoring exports seems to only require setting up XXXXMeterRegistry, such as InfluxMeterRegistry or OtlpMeterRegistry. In contrast, with Dubbo, our current initialization process involves setting up the complete AbstractMetricsReporter, which includes many complex implementations like addJvmMetrics, initCollectors, and even operations like registerDubboShutdownHook. I believe this approach is not quite reasonable. Instead, we should use composition over inheritance to clarify developers' tasks and implementation goals. This also aligns with the principle of least knowledge in design patterns. We should differentiate the management of metric collection/exposure and metric service lifecycle.
Additionally, we need to consider how to integrate and merge the monitoring of both Spring Boot Actuator and Dubbo in the same application. It's worth noting that this may not require specific attention within Dubbo, as we should differentiate between Dubbo and Dubbo-SpringBoot.
Noticed you made the same suggestion in 'Refector Metric export'.
The indicator monitoring code is separated. The Dubbo core warehouse is only responsible for initializing and automatically opening the corresponding functions based on whether the SPI exists.