diff --git a/filter/filter_impl/active_filter.go b/filter/filter_impl/active_filter.go index ab406462e3aefdc8072655db5220534ed6746b00..01ee00d7a3d9cf7843a36caf7cf5699c83a297cf 100644 --- a/filter/filter_impl/active_filter.go +++ b/filter/filter_impl/active_filter.go @@ -30,8 +30,8 @@ import ( ) const ( - active = "active" - dubbo_invoke_start_time = "dubbo_invoke_start_time" + active = "active" + dubboInvokeStartTime = "dubboInvokeStartTime" ) func init() { @@ -44,16 +44,17 @@ type ActiveFilter struct { func (ef *ActiveFilter) Invoke(invoker protocol.Invoker, invocation protocol.Invocation) protocol.Result { logger.Infof("invoking active filter. %v,%v", invocation.MethodName(), len(invocation.Arguments())) - invocation.(*invocation2.RPCInvocation).SetAttachments(dubbo_invoke_start_time, strconv.FormatInt(protocol.CurrentTimeMillis(), 10)) + invocation.(*invocation2.RPCInvocation).SetAttachments(dubboInvokeStartTime, strconv.FormatInt(protocol.CurrentTimeMillis(), 10)) protocol.BeginCount(invoker.GetUrl(), invocation.MethodName()) return invoker.Invoke(invocation) } func (ef *ActiveFilter) OnResponse(result protocol.Result, invoker protocol.Invoker, invocation protocol.Invocation) protocol.Result { - startTime, err := strconv.ParseInt(invocation.(*invocation2.RPCInvocation).AttachmentsByKey(dubbo_invoke_start_time, "0"), 10, 64) + startTime, err := strconv.ParseInt(invocation.(*invocation2.RPCInvocation).AttachmentsByKey(dubboInvokeStartTime, "0"), 10, 64) if err != nil { - panic("parse dubbo_invoke_start_time to int64 failed") + result.SetError(err) + logger.Errorf("parse dubbo_invoke_start_time to int64 failed") } elapsed := protocol.CurrentTimeMillis() - startTime protocol.EndCount(invoker.GetUrl(), invocation.MethodName(), elapsed, result.Error() == nil) diff --git a/filter/filter_impl/active_filter_test.go b/filter/filter_impl/active_filter_test.go index 9849e7c30defdfb51f00aff7e101bdc219599b19..54afa98e1d796d81327783504a30f82f3893f13c 100644 --- a/filter/filter_impl/active_filter_test.go +++ b/filter/filter_impl/active_filter_test.go @@ -29,7 +29,7 @@ func TestActiveFilter_Invoke(t *testing.T) { invoker.EXPECT().Invoke(gomock.Any()).Return(nil) invoker.EXPECT().GetUrl().Return(url).Times(1) filter.Invoke(invoker, invoc) - assert.True(t, invoc.AttachmentsByKey(dubbo_invoke_start_time, "") != "") + assert.True(t, invoc.AttachmentsByKey(dubboInvokeStartTime, "") != "") } @@ -37,7 +37,7 @@ func TestActiveFilter_OnResponse(t *testing.T) { c := protocol.CurrentTimeMillis() elapsed := 100 invoc := invocation.NewRPCInvocation("test", []interface{}{"OK"}, map[string]string{ - dubbo_invoke_start_time: strconv.FormatInt(c-int64(elapsed), 10), + dubboInvokeStartTime: strconv.FormatInt(c-int64(elapsed), 10), }) url, _ := common.NewURL(context.TODO(), "dubbo://192.168.10.10:20000/com.ikurento.user.UserProvider") filter := ActiveFilter{}