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{}