### Environment

* Dubbo version: 2.7.3
* Operating System version: linux
* Java version:1.8

### Steps to reproduce this issue
带"monitor"参数进行回声测试时抛返回异常
ause: org.apache.dubbo.remoting.RemotingException: java.util.concurrent.CompletionException: java.lang.NumberFormatException: null java.util.concurrent.CompletionException: java.lang.NumberFormatException: null at 

抛异常的位置在MonitorFilter的onResponse
![image](https://user-images.githubusercontent.com/7105269/85144468-c4c32180-b27d-11ea-8472-69aaab4ea72c.png)

大致原因：
EchoFilter在MonitorFilter之前执行并终止Invoker链，导致MonitorFilter没有执行，invocation没有设置key“monitor_filter_start_time” 
private void collect(Invoker<?> invoker, Invocation invocation, Result result, String remoteHost, long start, boolean error) {
        try {
            Object monitorUrl;
            monitorUrl = invoker.getUrl().getAttribute(MONITOR_KEY);
            if(monitorUrl instanceof URL) {
                Monitor monitor = monitorFactory.getMonitor((URL) monitorUrl);
                if (monitor == null) {
                    return;
                }
                URL statisticsURL = createStatisticsUrl(invoker, invocation, result, remoteHost, start, error);
                monitor.collect(statisticsURL.toSerializableURL());
            }
        } catch (Throwable t) {
            logger.warn("Failed to monitor count service " + invoker.getUrl() + ", cause: " + t.getMessage(), t);
        }
    }
    /**
     * Create statistics url
     *
     * @param invoker
     * @param invocation
     * @param result
     * @param remoteHost
     * @param start
     * @param error
     * @return
     */
    private URL createStatisticsUrl(Invoker<?> invoker, Invocation invocation, Result result, String remoteHost, long start, boolean error) {
        
        long elapsed = System.currentTimeMillis() - start;