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