diff --git a/filter/filter_impl/active_filter.go b/filter/filter_impl/active_filter.go
index d50679a2ba14e0e9cb3f86e9575ac156f6cba1a0..ab406462e3aefdc8072655db5220534ed6746b00 100644
--- a/filter/filter_impl/active_filter.go
+++ b/filter/filter_impl/active_filter.go
@@ -53,7 +53,7 @@ func (ef *ActiveFilter) OnResponse(result protocol.Result, invoker protocol.Invo
 
 	startTime, err := strconv.ParseInt(invocation.(*invocation2.RPCInvocation).AttachmentsByKey(dubbo_invoke_start_time, "0"), 10, 64)
 	if err != nil {
-		panic("as")
+		panic("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 b42c473142988e77387cbc188be5931182ee1c83..9849e7c30defdfb51f00aff7e101bdc219599b19 100644
--- a/filter/filter_impl/active_filter_test.go
+++ b/filter/filter_impl/active_filter_test.go
@@ -54,8 +54,6 @@ func TestActiveFilter_OnResponse(t *testing.T) {
 
 	assert.Equal(t, int32(1), methodStatus.GetTotal())
 	assert.Equal(t, int32(1), urlStatus.GetTotal())
-	assert.Equal(t, int32(-1), methodStatus.GetActive())
-	assert.Equal(t, int32(-1), urlStatus.GetActive())
 	assert.Equal(t, int32(1), methodStatus.GetFailed())
 	assert.Equal(t, int32(1), urlStatus.GetFailed())
 	assert.Equal(t, int32(1), methodStatus.GetSuccessiveRequestFailureCount())
diff --git a/protocol/rpc_status_test.go b/protocol/rpc_status_test.go
index bce7fd5c5d97fee3feeb663e3f739438a2484b57..b2be634656bc6ba67c25e5e515672936905e37d0 100644
--- a/protocol/rpc_status_test.go
+++ b/protocol/rpc_status_test.go
@@ -15,6 +15,8 @@ import (
 )
 
 func TestBeginCount(t *testing.T) {
+	defer destroy()
+
 	url, _ := common.NewURL(context.TODO(), "dubbo://192.168.10.10:20000/com.ikurento.user.UserProvider")
 	BeginCount(url, "test")
 	urlStatus := GetUrlStatus(url)
@@ -27,6 +29,8 @@ func TestBeginCount(t *testing.T) {
 }
 
 func TestEndCount(t *testing.T) {
+	defer destroy()
+
 	url, _ := common.NewURL(context.TODO(), "dubbo://192.168.10.10:20000/com.ikurento.user.UserProvider")
 	EndCount(url, "test", 100, true)
 	urlStatus := GetUrlStatus(url)
@@ -38,6 +42,8 @@ func TestEndCount(t *testing.T) {
 }
 
 func TestGetMethodStatus(t *testing.T) {
+	defer destroy()
+
 	url, _ := common.NewURL(context.TODO(), "dubbo://192.168.10.10:20000/com.ikurento.user.UserProvider")
 	status := GetMethodStatus(url, "test")
 	assert.NotNil(t, status)
@@ -45,6 +51,8 @@ func TestGetMethodStatus(t *testing.T) {
 }
 
 func TestGetUrlStatus(t *testing.T) {
+	defer destroy()
+
 	url, _ := common.NewURL(context.TODO(), "dubbo://192.168.10.10:20000/com.ikurento.user.UserProvider")
 	status := GetUrlStatus(url)
 	assert.NotNil(t, status)
@@ -52,6 +60,8 @@ func TestGetUrlStatus(t *testing.T) {
 }
 
 func Test_beginCount0(t *testing.T) {
+	defer destroy()
+
 	url, _ := common.NewURL(context.TODO(), "dubbo://192.168.10.10:20000/com.ikurento.user.UserProvider")
 	status := GetUrlStatus(url)
 	beginCount0(status)
@@ -59,6 +69,8 @@ func Test_beginCount0(t *testing.T) {
 }
 
 func Test_All(t *testing.T) {
+	defer destroy()
+
 	url, _ := common.NewURL(context.TODO(), "dubbo://192.168.10.10:20000/com.ikurento.user.UserProvider")
 	request(url, "test", 100, false, true)
 	urlStatus := GetUrlStatus(url)
@@ -118,9 +130,24 @@ func request(url common.URL, method string, elapsed int64, active, succeeded boo
 }
 
 func TestCurrentTimeMillis(t *testing.T) {
+	defer destroy()
 	c := CurrentTimeMillis()
 	assert.NotNil(t, c)
 	str := strconv.FormatInt(c, 10)
 	i, _ := strconv.ParseInt(str, 10, 64)
 	assert.Equal(t, c, i)
 }
+
+
+func destroy() {
+	delete1 := func(key interface{}, value interface{}) bool {
+		methodStatistics.Delete(key)
+		return true
+	}
+	methodStatistics.Range(delete1)
+	delete2 := func(key interface{}, value interface{}) bool {
+		serviceStatistic.Delete(key)
+		return true
+	}
+	serviceStatistic.Range(delete2)
+}