You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by fl...@apache.org on 2020/01/07 11:13:20 UTC

[dubbo-go] branch feature/metrics updated (3fe96d3 -> 2ce0708)

This is an automated email from the ASF dual-hosted git repository.

flycash pushed a change to branch feature/metrics
in repository https://gitbox.apache.org/repos/asf/dubbo-go.git.


    from 3fe96d3  Merge pull request #277 from xujianhai666/fix-dep
     new e885bc3  Define many interfaces
     new 0b3238d  Impl metrics_filter
     new 6db26ea  Tested metrics filter
     new d84776a  Add Counter,Bucket...interfaces and Implement the Counter, Clock interface
     new 8d62d00  impl bucket queue and tested
     new 33786be  impl bucket_counter_impl and ManualClock & tested them
     new 673996b  impl FastCompass and tested
     new a78e280  define MetricRegistry & import prometheus dependiencies
     new ac581fd  Merge branch 'develop' of https://github.com/apache/dubbo-go into feature/MetricsFilter
     new 1399fd7  impl MetricRegistry & DefaultMetricManager & NopXXXX
     new b9407cf  Finish coding and tests
     new c378d55  Format the import
     new 9b3ec29  Add UT for metric config
     new a966fc1  Merge branch 'develop' of https://github.com/apache/dubbo-go into feature/MetricsFilter
     new 525d83d  Fix BUG: create the NopFastCompass when we are over max metric count limitation in MetricRegistryImpl
     new 720def0  Ftr: replace func(rate, interval) with TpsStrategyCreator interface
     new eb434b6  Merge pull request #280 from flycash/feature/StrategyCreator
     new d024a3c  Fix BUG: The RegistryConfigurationListener will be closed twice sometimes
     new d65659f  Merge pull request #281 from flycash/bug/negativeWGC
     new 02031fe  Merge branch 'develop' of https://github.com/apache/dubbo-go into feature/MetricsFilter
     new 1300821  define the EWMA
     new 09dd27c  implementing EWMA
     new 638150a  Add ewma_test
     new f5d4a9a  Finish ewma testing
     new 4552d20  define the snapshot interface
     new a5c2bc6  implements BucketSnapshot
     new 8a9c212  Finish testing
     new 7fb327e  consistent hash load balance
     new 80e5bf5  fix comment.
     new c27f733  Merge pull request #261 from imxyb/consistent-hash-lb
     new 222a036  Update README.md
     new a8e6de6  Update README_CN.md
     new 81fb648  Update README.md
     new 39f9052  Update README_CN.md
     new 8703390  Merge branch 'master' into develop
     new 23a25a7  Merge branch 'master-dubbo-go-apache' into feature/addAsyncCall
     new 4a49f8c  add async callback
     new 64815e8  fix case
     new 0020ac4  fix case
     new df36097  Merge branch 'master-dubbo-go-apache' into feature/addAsyncCall
     new d0f16d2  add async callback
     new 5bf5fc1  fix case
     new ae50c05  fix case
     new dba634e  Merge remote-tracking branch 'origin/feature/addAsyncCall' into feature/addAsyncCall
     new 498453c  modify async callback
     new f89f642  fix case
     new ce62359  fix case
     new 13f15ea  fix review problems
     new 25d2c23  add test case for async call
     new 9c83f5e  Merge pull request #272 from zouyx/feature/addAsyncCall
     new c0839f0  support zkpath urlencoder
     new 5a50da7  Merge pull request #283 from xujianhai666/feat-urlencoder
     new 56cb00a  Merge branch 'develop' of https://github.com/apache/dubbo-go into develop
     new 3c1a96f  support sticky connection
     new 9604e7a  Merge pull request #270 from CodingSinger/sticky
     new d1da7ba  change the position of the lock
     new 16aff1f  fix bug for reverseRegistryProtocol
     new e6e0e14  Modify code according to code review
     new 8d46ac0  Merge pull request #286 from pantianying/develop_gettyPool_lock
     new 4ce2ea8  Mod: modify README
     new 944e6dc  add lock for invocation attachment
     new 382169c  Merge pull request #288 from xujianhai666/fix-map-attach
     new be1dba2  Merge branch 'develop' of https://github.com/apache/dubbo-go into feature/MetricsFilter
     new b0d4a50  Fix Review
     new 3edfbda  Merge branch 'feature/MetricsFilter' of https://github.com/flycash/dubbo-go into feature/Compass
     new 6da0bb2  re-arrange imports
     new addb7ff  Add error as result type for Snapshot interface
     new 2927fdb  Fix UT
     new 89982f6  Implementing SlidingWindowReservoir
     new 282124c  Implemented uniform_snapshot
     new 1632d5a  Add uniform reservoir
     new f1b5d12  Fix: receive heartbeat from server
     new 4409354  optimize code style
     new b74bb2f  fix code
     new ba0b1a3  bug fix
     new c6f6377  Merge pull request #293 from pantianying/develop_generic_code_fix
     new e0e015c  Merge branch 'develop' into heartbeat_for_server
     new 53bb7fb  add notes
     new 01f84dc  Merge pull request #302 from fangyincheng/heartbeat_for_server
     new 11b6141  Merge branch 'develop' of https://github.com/apache/dubbo-go into feature/MetricsFilter
     new 88f696a  Implement Compass & tested
     new b4d116a  generic service filter
     new 131ad2d  go.mod modify
     new 1ac170a  reponse fix
     new 5ef93c3  optimize code
     new fe314db  fix
     new 6aca4f5  modify error log info
     new f96a30b  modify test
     new 8064687  split import block and add some blank lines
     new af31400  split import packages
     new a7a7926  add license
     new b786517  modify generic_service filter name
     new 527f21e  fix
     new 1c5cca4  modify filter package
     new 8eaeb96  Merge branch 'develop' into generic-service
     new bd7989a  fix
     new 8394520  Merge pull request #291 from Patrick0308/generic-service
     new 1ba337b  Merge branch 'develop' of https://github.com/apache/dubbo-go into feature/MetricsFilter
     new f82e6bd  format codes
     new 2ce0708  Merge pull request #278 from flycash/feature/MetricsFilter

The 1235 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 README.md                                          |  10 +-
 README_CN.md                                       |  10 +-
 cluster/cluster_impl/base_cluster_invoker.go       |  39 ++-
 ...luster_test.go => base_cluster_invoker_test.go} |  43 ++--
 cluster/cluster_impl/failback_cluster_test.go      |   2 +-
 cluster/cluster_impl/failfast_cluster_test.go      |   4 +-
 cluster/cluster_impl/failsafe_cluster_test.go      |   4 +-
 cluster/loadbalance/consistent_hash.go             | 165 +++++++++++++
 cluster/loadbalance/consistent_hash_test.go        | 110 +++++++++
 common/constant/default.go                         |   6 +-
 common/constant/key.go                             |   1 +
 common/constant/{env.go => metrics.go}             |   8 +-
 common/extension/filter.go                         |   7 +-
 common/extension/{cluster.go => metrics.go}        |  20 +-
 common/extension/tps_limit.go                      |  14 +-
 common/proxy/proxy.go                              |   4 +
 common/proxy/proxy_factory.go                      |   1 +
 common/proxy/proxy_factory/default.go              |   7 +-
 common/proxy/proxy_factory/default_test.go         |  16 ++
 common/rpc_service.go                              |  12 +
 common/url.go                                      |  31 ++-
 common/url_test.go                                 |  12 +
 config/base_config.go                              |   1 +
 config/consumer_config.go                          |  10 +-
 config/method_config.go                            |   1 +
 config/metric_config.go                            | 145 +++++++++++
 config/metric_config_test.go                       |  98 ++++++++
 config/provider_config.go                          |  12 +-
 config/reference_config.go                         |  14 +-
 config/reference_config_test.go                    |  57 +++++
 config/service.go                                  |   8 +
 .../{impl => }/rejected_execution_handler_mock.go  |   2 +-
 .../rejected_execution_handler_only_log.go         |   6 +-
 .../rejected_execution_handler_only_log_test.go    |   2 +-
 filter/{impl => filter}/access_log_filter.go       |   2 +-
 filter/{impl => filter}/access_log_filter_test.go  |   2 +-
 filter/{impl => filter}/active_filter.go           |   2 +-
 filter/{impl => filter}/echo_filter.go             |   2 +-
 filter/{impl => filter}/echo_filter_test.go        |   2 +-
 filter/{impl => filter}/execute_limit_filter.go    |   4 +-
 .../{impl => filter}/execute_limit_filter_test.go  |   2 +-
 filter/{impl => filter}/generic_filter.go          |  23 +-
 filter/{impl => filter}/generic_filter_test.go     |   2 +-
 filter/filter/generic_service_filter.go            | 126 ++++++++++
 filter/filter/generic_service_filter_test.go       | 148 ++++++++++++
 .../{impl => filter}/graceful_shutdown_filter.go   |   5 +-
 .../graceful_shutdown_filter_test.go               |  10 +-
 filter/{impl => filter}/hystrix_filter.go          |   2 +-
 filter/{impl => filter}/hystrix_filter_test.go     |   2 +-
 filter/filter/metrics_filter.go                    | 107 +++++++++
 .../metrics_filter_test.go}                        |  26 +-
 filter/{impl => filter}/token_filter.go            |   2 +-
 filter/{impl => filter}/token_filter_test.go       |   2 +-
 filter/{impl => filter}/tps_limit_filter.go        |   6 +-
 filter/{impl => filter}/tps_limit_filter_test.go   |  21 +-
 filter/{common => }/rejected_execution_handler.go  |   2 +-
 .../impl => tps}/tps_limit_fix_window_strategy.go  |  13 +-
 .../tps_limit_fix_window_strategy_test.go          |   7 +-
 .../tps_limit_sliding_window_strategy.go           |  10 +-
 .../tps_limit_sliding_window_strategy_test.go      |   7 +-
 .../tps/impl => tps}/tps_limit_strategy_mock.go    |   2 +-
 .../tps_limit_thread_safe_fix_window_strategy.go   |  16 +-
 ...s_limit_thread_safe_fix_window_strategy_test.go |   7 +-
 .../tps/impl => tps}/tps_limiter_method_service.go |  12 +-
 .../tps_limiter_method_service_test.go             |  47 ++--
 filter/{impl/tps/impl => tps}/tps_limiter_mock.go  |   2 +-
 filter/{impl/tps => }/tps_limit_strategy.go        |   6 +-
 filter/{impl/tps => }/tps_limiter.go               |   2 +-
 go.mod                                             |   4 +
 go.sum                                             |  12 +
 registry/event.go => metrics/bucket_counter.go     |  43 ++--
 registry/event.go => metrics/clock.go              |  38 +--
 registry/event.go => metrics/compass.go            |  42 ++--
 .../consul/listener_test.go => metrics/counter.go  |  37 ++-
 .../configurator.go => metrics/counting.go         |  15 +-
 metrics/ewma.go                                    | 118 +++++++++
 metrics/ewma_test.go                               | 114 +++++++++
 metrics/fast_compass.go                            |  67 ++++++
 metrics/impl/bucket_counter_impl.go                | 169 +++++++++++++
 metrics/impl/bucket_counter_impl_test.go           | 264 +++++++++++++++++++++
 metrics/impl/bucket_queue.go                       | 104 ++++++++
 metrics/impl/bucket_queue_test.go                  | 154 ++++++++++++
 metrics/impl/bucket_reservoir.go                   |  79 ++++++
 metrics/impl/bucket_reservoir_test.go              |  82 +++++++
 metrics/impl/bucket_snapshot.go                    |  93 ++++++++
 .../impl/counter_impl.go                           |  51 ++--
 .../impl/counter_impl_test.go                      |  19 +-
 metrics/impl/default_compass.go                    | 237 ++++++++++++++++++
 metrics/impl/default_compass_test.go               | 183 ++++++++++++++
 metrics/impl/default_metric_manager.go             |  76 ++++++
 .../impl/default_metric_manager_test.go            |  28 ++-
 metrics/impl/default_registry_impl.go              |  92 +++++++
 metrics/impl/default_registry_impl_test.go         |  62 +++++
 metrics/impl/fast_compass_impl.go                  | 174 ++++++++++++++
 metrics/impl/fast_compass_test.go                  |  94 ++++++++
 .../impl/manual_clock.go                           |  31 ++-
 .../impl/manual_clock_test.go                      |  16 +-
 metrics/impl/nop_fast_compass.go                   |  77 ++++++
 .../impl/nop_metric_manager.go                     |  30 ++-
 metrics/impl/uniform_reservoir.go                  |  96 ++++++++
 .../impl/uniform_reservoir_test.go                 |  24 +-
 metrics/impl/uniform_snapshot.go                   | 174 ++++++++++++++
 metrics/impl/uniform_snapshot_test.go              | 115 +++++++++
 registry/event.go => metrics/interval.go           |  40 ++--
 common/node.go => metrics/metered.go               |  14 +-
 common/constant/version.go => metrics/metric.go    |  16 +-
 .../constant/version.go => metrics/metric_level.go |  19 +-
 common/node.go => metrics/metric_manager.go        |  11 +-
 metrics/metric_name.go                             |  75 ++++++
 .../metric_name_test.go                            |  19 +-
 .../loadbalance.go => metrics/metric_registry.go   |  15 +-
 cluster/router.go => metrics/metric_set.go         |  33 +--
 common/constant/env.go => metrics/reservoir.go     |  19 +-
 common/node.go => metrics/sampling.go              |   8 +-
 metrics/snapshot.go                                |  62 +++++
 protocol/dubbo/client.go                           |  10 +-
 protocol/dubbo/client_test.go                      |   5 +-
 protocol/dubbo/codec.go                            |  21 +-
 protocol/dubbo/dubbo_invoker.go                    |   2 +-
 protocol/dubbo/dubbo_invoker_test.go               |   6 +-
 protocol/dubbo/listener.go                         |  24 +-
 protocol/dubbo/pool.go                             |  17 +-
 protocol/dubbo/readwriter.go                       |   6 +-
 protocol/invocation/rpcinvocation.go               |   6 +
 registry/protocol/protocol.go                      |   6 +-
 registry/protocol/protocol_test.go                 |   5 -
 registry/zookeeper/listener.go                     |  19 +-
 registry/zookeeper/registry.go                     |  16 +-
 remoting/zookeeper/listener_test.go                |   7 +
 129 files changed, 4522 insertions(+), 486 deletions(-)
 copy cluster/cluster_impl/{registry_aware_cluster_test.go => base_cluster_invoker_test.go} (60%)
 create mode 100644 cluster/loadbalance/consistent_hash.go
 create mode 100644 cluster/loadbalance/consistent_hash_test.go
 copy common/constant/{env.go => metrics.go} (82%)
 copy common/extension/{cluster.go => metrics.go} (57%)
 create mode 100644 config/metric_config.go
 create mode 100644 config/metric_config_test.go
 rename filter/common/{impl => }/rejected_execution_handler_mock.go (99%)
 rename filter/common/{impl => }/rejected_execution_handler_only_log.go (93%)
 copy filter/common/{impl => }/rejected_execution_handler_only_log_test.go (98%)
 rename filter/{impl => filter}/access_log_filter.go (99%)
 rename filter/{impl => filter}/access_log_filter_test.go (99%)
 rename filter/{impl => filter}/active_filter.go (99%)
 rename filter/{impl => filter}/echo_filter.go (99%)
 copy filter/{impl => filter}/echo_filter_test.go (98%)
 rename filter/{impl => filter}/execute_limit_filter.go (98%)
 rename filter/{impl => filter}/execute_limit_filter_test.go (99%)
 rename filter/{impl => filter}/generic_filter.go (90%)
 rename filter/{impl => filter}/generic_filter_test.go (99%)
 create mode 100644 filter/filter/generic_service_filter.go
 create mode 100644 filter/filter/generic_service_filter_test.go
 rename filter/{impl => filter}/graceful_shutdown_filter.go (95%)
 rename filter/{impl => filter}/graceful_shutdown_filter_test.go (89%)
 rename filter/{impl => filter}/hystrix_filter.go (99%)
 rename filter/{impl => filter}/hystrix_filter_test.go (99%)
 create mode 100644 filter/filter/metrics_filter.go
 copy filter/{impl/echo_filter_test.go => filter/metrics_filter_test.go} (56%)
 rename filter/{impl => filter}/token_filter.go (99%)
 rename filter/{impl => filter}/token_filter_test.go (99%)
 rename filter/{impl => filter}/tps_limit_filter.go (95%)
 rename filter/{impl => filter}/tps_limit_filter_test.go (84%)
 rename filter/{common => }/rejected_execution_handler.go (98%)
 rename filter/{impl/tps/impl => tps}/tps_limit_fix_window_strategy.go (87%)
 rename filter/{impl/tps/impl => tps}/tps_limit_fix_window_strategy_test.go (91%)
 rename filter/{impl/tps/impl => tps}/tps_limit_sliding_window_strategy.go (89%)
 rename filter/{impl/tps/impl => tps}/tps_limit_sliding_window_strategy_test.go (91%)
 rename filter/{impl/tps/impl => tps}/tps_limit_strategy_mock.go (99%)
 rename filter/{impl/tps/impl => tps}/tps_limit_thread_safe_fix_window_strategy.go (77%)
 rename filter/{impl/tps/impl => tps}/tps_limit_thread_safe_fix_window_strategy_test.go (90%)
 rename filter/{impl/tps/impl => tps}/tps_limiter_method_service.go (95%)
 rename filter/{impl/tps/impl => tps}/tps_limiter_method_service_test.go (83%)
 rename filter/{impl/tps/impl => tps}/tps_limiter_mock.go (99%)
 rename filter/{impl/tps => }/tps_limit_strategy.go (92%)
 rename filter/{impl/tps => }/tps_limiter.go (98%)
 copy registry/event.go => metrics/bucket_counter.go (60%)
 copy registry/event.go => metrics/clock.go (60%)
 copy registry/event.go => metrics/compass.go (55%)
 copy registry/consul/listener_test.go => metrics/counter.go (67%)
 copy config_center/configurator.go => metrics/counting.go (83%)
 create mode 100644 metrics/ewma.go
 create mode 100644 metrics/ewma_test.go
 create mode 100644 metrics/fast_compass.go
 create mode 100644 metrics/impl/bucket_counter_impl.go
 create mode 100644 metrics/impl/bucket_counter_impl_test.go
 create mode 100644 metrics/impl/bucket_queue.go
 create mode 100644 metrics/impl/bucket_queue_test.go
 create mode 100644 metrics/impl/bucket_reservoir.go
 create mode 100644 metrics/impl/bucket_reservoir_test.go
 create mode 100644 metrics/impl/bucket_snapshot.go
 copy filter/impl/echo_filter_test.go => metrics/impl/counter_impl.go (56%)
 copy config_center/parser/configuration_parser_test.go => metrics/impl/counter_impl_test.go (69%)
 create mode 100644 metrics/impl/default_compass.go
 create mode 100644 metrics/impl/default_compass_test.go
 create mode 100644 metrics/impl/default_metric_manager.go
 rename filter/impl/echo_filter_test.go => metrics/impl/default_metric_manager_test.go (59%)
 create mode 100644 metrics/impl/default_registry_impl.go
 create mode 100644 metrics/impl/default_registry_impl_test.go
 create mode 100644 metrics/impl/fast_compass_impl.go
 create mode 100644 metrics/impl/fast_compass_test.go
 copy filter/common/impl/rejected_execution_handler_only_log_test.go => metrics/impl/manual_clock.go (66%)
 copy config_center/configurator.go => metrics/impl/manual_clock_test.go (79%)
 create mode 100644 metrics/impl/nop_fast_compass.go
 rename filter/common/impl/rejected_execution_handler_only_log_test.go => metrics/impl/nop_metric_manager.go (65%)
 create mode 100644 metrics/impl/uniform_reservoir.go
 copy config_center/parser/configuration_parser_test.go => metrics/impl/uniform_reservoir_test.go (66%)
 create mode 100644 metrics/impl/uniform_snapshot.go
 create mode 100644 metrics/impl/uniform_snapshot_test.go
 copy registry/event.go => metrics/interval.go (62%)
 copy common/node.go => metrics/metered.go (79%)
 copy common/constant/version.go => metrics/metric.go (72%)
 copy common/constant/version.go => metrics/metric_level.go (85%)
 copy common/node.go => metrics/metric_manager.go (78%)
 create mode 100644 metrics/metric_name.go
 copy config_center/parser/configuration_parser_test.go => metrics/metric_name_test.go (69%)
 copy cluster/loadbalance.go => metrics/metric_registry.go (80%)
 copy cluster/router.go => metrics/metric_set.go (67%)
 copy common/constant/env.go => metrics/reservoir.go (67%)
 copy common/node.go => metrics/sampling.go (90%)
 create mode 100644 metrics/snapshot.go