@@ -87,9 +87,9 @@ type Rule struct {
8787 // Id is the unique id
8888 Id string
8989 // Resource is the resource name
90- Resource string
91- MetricType MetricType
92- Behavior ControlBehavior
90+ Resource string
91+ MetricType MetricType
92+ ControlBehavior ControlBehavior
9393 // ParamIndex is the index in context arguments slice.
9494 ParamIndex int
9595 Threshold float64
@@ -102,27 +102,27 @@ type Rule struct {
102102}
103103
104104func (r * Rule ) String () string {
105- return fmt .Sprintf ("{Id:%s, Resource:%s, MetricType:%+v, Behavior :%+v, ParamIndex:%d, Threshold:%f, MaxQueueingTimeMs:%d, BurstCount:%d, DurationInSec:%d, ParamsMaxCapacity:%d, SpecificItems:%+v}" ,
106- r .Id , r .Resource , r .MetricType , r .Behavior , r .ParamIndex , r .Threshold , r .MaxQueueingTimeMs , r .BurstCount , r .DurationInSec , r .ParamsMaxCapacity , r .SpecificItems )
105+ return fmt .Sprintf ("{Id:%s, Resource:%s, MetricType:%+v, ControlBehavior :%+v, ParamIndex:%d, Threshold:%f, MaxQueueingTimeMs:%d, BurstCount:%d, DurationInSec:%d, ParamsMaxCapacity:%d, SpecificItems:%+v}" ,
106+ r .Id , r .Resource , r .MetricType , r .ControlBehavior , r .ParamIndex , r .Threshold , r .MaxQueueingTimeMs , r .BurstCount , r .DurationInSec , r .ParamsMaxCapacity , r .SpecificItems )
107107}
108108func (r * Rule ) ResourceName () string {
109109 return r .Resource
110110}
111111
112112// IsStatReusable checks whether current rule is "statistically" equal to the given rule.
113113func (r * Rule ) IsStatReusable (newRule * Rule ) bool {
114- return r .Resource == newRule .Resource && r .Behavior == newRule .Behavior && r .ParamsMaxCapacity == newRule .ParamsMaxCapacity && r .DurationInSec == newRule .DurationInSec
114+ return r .Resource == newRule .Resource && r .ControlBehavior == newRule .ControlBehavior && r .ParamsMaxCapacity == newRule .ParamsMaxCapacity && r .DurationInSec == newRule .DurationInSec
115115}
116116
117117// IsEqualsTo checks whether current rule is consistent with the given rule.
118118func (r * Rule ) Equals (newRule * Rule ) bool {
119- baseCheck := r .Resource == newRule .Resource && r .MetricType == newRule .MetricType && r .Behavior == newRule .Behavior && r .ParamsMaxCapacity == newRule .ParamsMaxCapacity && r .ParamIndex == newRule .ParamIndex && r .Threshold == newRule .Threshold && r .DurationInSec == newRule .DurationInSec && reflect .DeepEqual (r .SpecificItems , newRule .SpecificItems )
119+ baseCheck := r .Resource == newRule .Resource && r .MetricType == newRule .MetricType && r .ControlBehavior == newRule .ControlBehavior && r .ParamsMaxCapacity == newRule .ParamsMaxCapacity && r .ParamIndex == newRule .ParamIndex && r .Threshold == newRule .Threshold && r .DurationInSec == newRule .DurationInSec && reflect .DeepEqual (r .SpecificItems , newRule .SpecificItems )
120120 if ! baseCheck {
121121 return false
122122 }
123- if r .Behavior == Reject {
123+ if r .ControlBehavior == Reject {
124124 return r .BurstCount == newRule .BurstCount
125- } else if r .Behavior == Throttling {
125+ } else if r .ControlBehavior == Throttling {
126126 return r .MaxQueueingTimeMs == newRule .MaxQueueingTimeMs
127127 } else {
128128 return false
@@ -140,7 +140,7 @@ func parseSpecificItems(source map[SpecificValue]int64) map[interface{}]int64 {
140140 case KindInt :
141141 realVal , err := strconv .Atoi (k .ValStr )
142142 if err != nil {
143- logger .Errorf ("Fail to parse value for int specific item. paramKind: %+v, value: %s, err: %+v" , k .ValKind , k .ValStr , err )
143+ logger .Errorf ("Failed to parse value for int specific item. paramKind: %+v, value: %s, err: %+v" , k .ValKind , k .ValStr , err )
144144 continue
145145 }
146146 ret [realVal ] = v
@@ -151,26 +151,25 @@ func parseSpecificItems(source map[SpecificValue]int64) map[interface{}]int64 {
151151 case KindBool :
152152 realVal , err := strconv .ParseBool (k .ValStr )
153153 if err != nil {
154- logger .Errorf ("Fail to parse value for int specific item. value: %s, err: %+v" , k .ValStr , err )
154+ logger .Errorf ("Failed to parse value for bool specific item. value: %s, err: %+v" , k .ValStr , err )
155155 continue
156156 }
157157 ret [realVal ] = v
158158
159159 case KindFloat64 :
160160 realVal , err := strconv .ParseFloat (k .ValStr , 64 )
161161 if err != nil {
162- logger .Errorf ("Fail to parse value for int specific item. value: %s, err: %+v" , k .ValStr , err )
162+ logger .Errorf ("Failed to parse value for float specific item. value: %s, err: %+v" , k .ValStr , err )
163163 continue
164164 }
165165 realVal , err = strconv .ParseFloat (fmt .Sprintf ("%.5f" , realVal ), 64 )
166166 if err != nil {
167- logger .Errorf ("Fail to parse value for int specific item. value: %s, err: %+v" , k .ValStr , err )
167+ logger .Errorf ("Failed to parse value for float specific item. value: %s, err: %+v" , k .ValStr , err )
168168 continue
169169 }
170170 ret [realVal ] = v
171-
172171 default :
173- logger .Errorf ("Unsupported kind(%d) for specific item. " , k .ValKind )
172+ logger .Errorf ("Unsupported kind for specific item: %d " , k .ValKind )
174173 }
175174 }
176175 return ret
0 commit comments