You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by li...@apache.org on 2021/02/21 02:00:50 UTC

[skywalking-satellite] branch polish-codes created (now 7541f70)

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

liujiapeng pushed a change to branch polish-codes
in repository https://gitbox.apache.org/repos/asf/skywalking-satellite.git.


      at 7541f70  plish timer fallbacker

This branch includes the following new commits:

     new 7541f70  plish timer fallbacker

The 1 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.



[skywalking-satellite] 01/01: plish timer fallbacker

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujiapeng pushed a commit to branch polish-codes
in repository https://gitbox.apache.org/repos/asf/skywalking-satellite.git

commit 7541f706bb62f59a75548a2e22c4f18b59e74b4d
Author: Evan <ev...@outlook.com>
AuthorDate: Sun Feb 21 10:00:32 2021 +0800

    plish timer fallbacker
---
 .../setup/plugins/fallbacker_timer-fallbacker.md   | 13 ++++++-----
 plugins/fallbacker/timer/timer_fallbacker.go       | 27 +++++++++++-----------
 plugins/fallbacker/timer/timer_fallbacker_test.go  | 16 ++++++-------
 3 files changed, 29 insertions(+), 27 deletions(-)

diff --git a/docs/en/setup/plugins/fallbacker_timer-fallbacker.md b/docs/en/setup/plugins/fallbacker_timer-fallbacker.md
index 29f5ebd..e3cbacd 100755
--- a/docs/en/setup/plugins/fallbacker_timer-fallbacker.md
+++ b/docs/en/setup/plugins/fallbacker_timer-fallbacker.md
@@ -3,11 +3,12 @@
 This is a timer fallback trigger to process the forward failure data.
 ## DefaultConfig
 ```yaml
-# The forwarder max retry times.
-max_times: 3
-# The latency_factor is the standard retry duration, and the time for each retry is expanded by 2 times until the number 
-# of retries reaches the maximum.(Time unit is millisecond.)
-latency_factor: 2000
-# The max retry latency time.(Time unit is millisecond.)
+# The forwarder max attempt times.
+max_attempts: 3
+# The exponential_backoff is the standard retry duration, and the time for each retry is expanded
+# by 2 times until the number of retries reaches the maximum.(Time unit is millisecond.)
+exponential_backoff: 2000
+# The max latency time used in retrying, which would override the latency time when the latency time
+# with exponential increasing larger than it.(Time unit is millisecond.)
 max_latency_time: 5000
 ```
diff --git a/plugins/fallbacker/timer/timer_fallbacker.go b/plugins/fallbacker/timer/timer_fallbacker.go
index 06e4a95..7362def 100644
--- a/plugins/fallbacker/timer/timer_fallbacker.go
+++ b/plugins/fallbacker/timer/timer_fallbacker.go
@@ -30,9 +30,9 @@ const Name = "timer-fallbacker"
 // Fallbacker is a timer fallbacker when forward fails.
 type Fallbacker struct {
 	config.CommonFields
-	MaxTimes       int `mapstructure:"max_times"`
-	LatencyFactor  int `mapstructure:"latency_factor"`
-	MaxLatencyTIme int `mapstructure:"max_latency_time"`
+	MaxAttempts        int `mapstructure:"max_attempts"`
+	ExponentialBackoff int `mapstructure:"exponential_backoff"`
+	MaxLatencyTime     int `mapstructure:"max_latency_time"`
 }
 
 func (t *Fallbacker) Name() string {
@@ -45,24 +45,25 @@ func (t *Fallbacker) Description() string {
 
 func (t *Fallbacker) DefaultConfig() string {
 	return `
-# The forwarder max retry times.
-max_times: 3
-# The latency_factor is the standard retry duration, and the time for each retry is expanded by 2 times until the number 
-# of retries reaches the maximum.(Time unit is millisecond.)
-latency_factor: 2000
-# The max retry latency time.(Time unit is millisecond.)
+# The forwarder max attempt times.
+max_attempts: 3
+# The exponential_backoff is the standard retry duration, and the time for each retry is expanded
+# by 2 times until the number of retries reaches the maximum.(Time unit is millisecond.)
+exponential_backoff: 2000
+# The max latency time used in retrying, which would override the latency time when the latency time
+# with exponential increasing larger than it.(Time unit is millisecond.)
 max_latency_time: 5000
 `
 }
 
 func (t *Fallbacker) FallBack(batch event.BatchEvents, forward api.ForwardFunc) bool {
-	currentLatency := t.LatencyFactor
-	for i := 1; i < t.MaxTimes; i++ {
+	currentLatency := t.ExponentialBackoff
+	for i := 1; i < t.MaxAttempts; i++ {
 		time.Sleep(time.Duration(currentLatency) * time.Millisecond)
 		if err := forward(batch); err != nil {
 			currentLatency *= 2
-			if currentLatency > t.MaxLatencyTIme {
-				currentLatency = t.MaxLatencyTIme
+			if currentLatency > t.MaxLatencyTime {
+				currentLatency = t.MaxLatencyTime
 			}
 		} else {
 			return true
diff --git a/plugins/fallbacker/timer/timer_fallbacker_test.go b/plugins/fallbacker/timer/timer_fallbacker_test.go
index d294eb3..286114c 100644
--- a/plugins/fallbacker/timer/timer_fallbacker_test.go
+++ b/plugins/fallbacker/timer/timer_fallbacker_test.go
@@ -63,21 +63,21 @@ func TestFallbacker_FallBack1(t1 *testing.T) {
 			wantCount: 2,
 		},
 		{
-			name: "test-recach-max_times",
+			name: "test-recach-max_attempts",
 			args: plugin.Config{
-				"max_times":        5,
-				"latency_factor":   200,
-				"max_latency_time": 3000,
+				"max_attempts":        5,
+				"exponential_backoff": 200,
+				"max_latency_time":    3000,
 			},
 			want:      true,
 			wantCount: 4,
 		},
 		{
-			name: "test-unrecach-max_times",
+			name: "test-unrecach-max_attempts",
 			args: plugin.Config{
-				"max_times":        10,
-				"latency_factor":   20,
-				"max_latency_time": 30000000,
+				"max_attempts":        10,
+				"exponential_backoff": 20,
+				"max_latency_time":    30000000,
 			},
 			want:      true,
 			wantCount: 4,