diff --git a/common/constant/default.go b/common/constant/default.go
index 685e1c2eff1c293b39bdfb72ab2146121644da22..ed947d5ce0b9078666c7ce4e4ab53d09d9ad1a12 100644
--- a/common/constant/default.go
+++ b/common/constant/default.go
@@ -12,5 +12,5 @@ const (
 )
 
 const (
-	ECHO = "$ECHO"
+	ECHO = "$echo"
 )
diff --git a/filter/imp/echo_filter.go b/filter/imp/echo_filter.go
index 6e0ae860e9c0a12ced98fffefb99667133e192dd..74e2ed913d3a4bde27127d8b938e9f3a2b5569da 100644
--- a/filter/imp/echo_filter.go
+++ b/filter/imp/echo_filter.go
@@ -2,9 +2,17 @@ package imp
 
 import (
 	"github.com/dubbo/dubbo-go/common/constant"
+	"github.com/dubbo/dubbo-go/common/extension"
+	"github.com/dubbo/dubbo-go/filter"
 	"github.com/dubbo/dubbo-go/protocol"
 )
 
+const ECHO = "echo"
+
+func init() {
+	extension.SetFilter(ECHO, GetFilter)
+}
+
 type EchoFilter struct {
 }
 
@@ -20,3 +28,7 @@ func (ef *EchoFilter) Invoke(invoker protocol.Invoker, invocation protocol.Invoc
 func (ef *EchoFilter) OnResponse(result protocol.Result, invoker protocol.Invoker, invocation protocol.Invocation) protocol.Result {
 	return result
 }
+
+func GetFilter() filter.Filter {
+	return &EchoFilter{}
+}