<!-- If you need to report a security issue please visit https://github.com/apache/dubbo/security/policy -->

- [ ] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.

## Describe the proposal
<!-- Please use this for a concrete design proposal for functionality. -->
<!-- If you just want to request a new feature and discuss the possible business value, create a Feature Request. -->

We should collect the count of no provider available exception in MetricsFilter.

With: `RpcException.isNoInvokerAvailableAfterFilter()`

Collections.sort(requestTimes);
        double p95Index = 0.95 * (requestTimes.size() - 1);
        double p99Index = 0.99 * (requestTimes.size() - 1);
        double manualP95 = requestTimes.get((int) Math.round(p95Index));
        double manualP99 = requestTimes.get((int) Math.round(p99Index));
        for (Double requestTime : requestTimes) {
            collector.onEvent(new RTEvent(applicationModel, methodMetric, requestTime.longValue()));
        }
        Thread.sleep(4000L);
        List<MetricSample> samples = collector.collect();
        GaugeMetricSample<?> p95Sample = samples.stream()
            .filter(sample -> sample.getName().endsWith("p95"))
            .map(sample -> (GaugeMetricSample<?>) sample)
            .findFirst()
            .orElse(null);
        GaugeMetricSample<?> p99Sample = samples.stream()
            .filter(sample -> sample.getName().endsWith("p99"))
            .map(sample -> (GaugeMetricSample<?>) sample)
            .findFirst()
            .orElse(null);
        Assertions.assertNotNull(p95Sample);
        Assertions.assertNotNull(p99Sample);
        double p95 = p95Sample.applyAsDouble();
        double p99 = p99Sample.applyAsDouble();
        
        Assertions.assertTrue(Math.abs(1 - p95 / manualP95) < 0.05);
        Assertions.assertTrue(Math.abs(1 - p99 / manualP99) < 0.05);
    }
}