<!-- 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()`

when(configManager.getMetrics()).thenReturn(Optional.of(metricsConfig));
        when(metricsConfig.getAggregation()).thenReturn(aggregationConfig);
        when(aggregationConfig.getEnabled()).thenReturn(Boolean.TRUE);
        AggregateMetricsCollector collector = new AggregateMetricsCollector(applicationModel);
        MethodMetric methodMetric = getTestMethodMetric();
        TimeWindowCounter qpsCounter = new TimeWindowCounter(10, 120);
        for (int i = 0; i < 10000; i++) {
            qpsCounter.increment();
        }
        @SuppressWarnings("unchecked")
        ConcurrentHashMap<MethodMetric, TimeWindowCounter> qps = (ConcurrentHashMap<MethodMetric, TimeWindowCounter>) ReflectionUtils.getField(collector, "qps");
        qps.put(methodMetric, qpsCounter);
        List<MetricSample> collectedQPS = new ArrayList<>();
        ReflectionUtils.invoke(collector, "collectQPS", collectedQPS);
        Assertions.assertFalse(collectedQPS.isEmpty());
        Assertions.assertEquals(1, collectedQPS.size());
        MetricSample sample = collectedQPS.get(0);
        Assertions.assertEquals(MetricsKey.METRIC_QPS.getNameByType("PROVIDER"), sample.getName());
        Assertions.assertEquals(MetricsKey.METRIC_QPS.getDescription(), sample.getDescription());
        Assertions.assertEquals(QPS, sample.getCategory());
        Assertions.assertEquals(10000, ((TimeWindowCounter) ((GaugeMetricSample<?>) sample).getValue()).get());
    }
    @Test
    void testP95AndP99() throws InterruptedException {
        AggregateMetricsCollector collector = getTestCollector();
        MethodMetric methodMetric = getTestMethodMetric();
        List<Double> requestTimes = new ArrayList<>(10000);
        for (int i = 0; i < 300; i++) {
            requestTimes.add(1000 * Math.random());
        }