[ https://issues.apache.org/jira/browse/SCB-132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16315746#comment-16315746 ]
ASF GitHub Bot commented on SCB-132: ------------------------------------ zhengyangyong commented on a change in pull request #24: [SCB-132] Metrics MD URL: https://github.com/apache/incubator-servicecomb-website/pull/24#discussion_r160082220 ########## File path: _users/cn/metrics-in-1.0.0-m1.md ########## @@ -31,82 +31,87 @@ redirect_from: 4. 没有提供通用数据发布接口,难以和更多的第三方监控系统做集成; 5. 由于foundation-metrics模块过于底层,用户无法以可选的方式决定是否启用; -因此,从0.5.0版本升级到1.0.0-m1版本,我们进行了一次全面的重构,重构后的Metrics将分为三个模块 +因此,从0.5.0版本升级到1.0.0-m1版本,我们进行了一次全面的重构,重构后的Metrics将分为如下几个模块 -| Module名 | 描述 | -| :------------------ | :------------------------------ | -| metrics-core | Metric核心模块,引入后即启用Metrics数据收集功能 | -| metrics-common | Metric通用模块,主要包含Metric DTO用于数据发布 | -| metrics-extension | 包含Metric的一些扩展功能 | -| metrics-integration | 包含Metric与其它三方系统集成 | -| metrics-sample | 包含Metric的一些示例 | +| Module名 | 描述 | +| :------------------ | :------------------------------- | +| metrics-core | Metrics核心模块,引入后即启用Metrics数据收集功能 | +| metrics-common | Metrics通用模块,主要包含Metric DTO用于数据发布 | +| metrics-extension | 包含Metrics的一些扩展功能 | +| metrics-integration | 包含Metrics与其它三方系统集成 | +| metrics-sample | 包含Metrics的一些示例 | 它们的依赖关系如下图所示: ![MetricsDependency.png](/assets/images/MetricsDependency.png) ### 数据采集不再依赖Hystrix(handler-bizkeeper),使用事件埋点收集与调用相关的所有数据 -1.0.0-m1版本不再从Hystrix获取调用的TPS和Latency,避免了不配置Java Chassis Bizkeeper Handler就不会输出这两项数据的问题;使用foundation-common中的EventBus作为事件总线,metrics-core中的DefaultEventListenerManager初始化后会立即注入三个事件监听处理类: - +1.0.0-m1版本不再从Hystrix获取调用的TPS和Latency,避免了不配置Java Chassis Bizkeeper Handler就不会输出这两项数据的问题;使用foundation-common中的EventBus作为事件总线,metrics-core中的DefaultEventListenerManager初始化后会立即注册三个事件监听处理类: + | 事件监听处理类名 | 功能 | | :------------------------------------- | :------------------------ | | InvocationStartedEventListener | Consumer调用或Producer接收开始 | | InvocationStartProcessingEventListener | Producer从队列中取出调用开始处理 | | InvocationFinishedEventListener | Consumer调用返回或Producer处理完毕 | -*特别说明,Java Chassis的Reactor框架基于Vertx,微服务Producer端收到Invocation后,并不会马上同步处理请求,而是将它放入一个处理队列中,Invocation在队列中的时间称为LifeTimeInQueue,队列的长度称为waitInQueue,这是衡量微服务压力的两个重要指标,可以参考操作系统磁盘读写队列的概念;Consumer端并不会有队列,因此永远不会触发InvocationStartProcessingEvent。* +*特别说明,Java Chassis的Reactor框架基于[Vertx](http://vertx.io/),微服务Producer端收到Invocation后,并不会马上同步处理请求,而是将它放入一个处理队列中,Invocation在队列中的时间称为**LifeTimeInQueue**,队列的长度称为**waitInQueue**,这是衡量微服务压力的两个重要指标,可以参考操作系统磁盘读写队列的概念;Consumer端并不会有队列,因此永远不会触发InvocationStartProcessingEvent。* -事件触发的代码广泛分布在Java Chassis的RestInvocation、HighwayServerInvoke、HighwayClient和VertxHttpMethod中,如果微服务没有启用Metrics,EventBus中不会注入事件监听处理类,因此对性能的影响微乎其微。 +事件触发的代码分布在Java Chassis的RestInvocation、HighwayServerInvoke和InvokerUtils中,如果微服务没有启用Metrics,EventBus中就不会注册Metrics事件监听处理器,因此对性能的影响微乎其微。 ### 使用Netflix Servo作为Metric的计数器 Review comment: Done ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > User Guide and Quick Start for Metrics 1.0.0-m1 > ----------------------------------------------- > > Key: SCB-132 > URL: https://issues.apache.org/jira/browse/SCB-132 > Project: Apache ServiceComb > Issue Type: Sub-task > Components: Java-Chassis > Reporter: yangyongzheng > Assignee: yangyongzheng > Fix For: java-chassis-1.0.0-m1 > > > Write User Guide and Quick Start for Metrics 1.0.0-m1 : > 1.User Guide : describe the Architecture and update change from 0.5.0 > 2.Quick Start : describe how to use metrics in java chassis , include > publish,consume and integration -- This message was sent by Atlassian JIRA (v6.4.14#64029)