class SentinelMicrometerMetricExtension implements MetricExtension {
    @Override
    public void addPass(String resource, int n, Object... args) {
        Environment environment = PluginContextAware.getStaticEnvironment();
        Boolean metricSentinelPassQpsOutputEnabled = environment.getProperty(SentinelMicrometerMetricConstant.SPRING_APPLICATION_STRATEGY_METRIC_SENTINEL_PASS_QPS_OUTPUT_ENABLED, Boolean.class, Boolean.TRUE);
        if (metricSentinelPassQpsOutputEnabled) {
            Metrics.counter(SentinelMetricType.PASS_QPS.toString(), SentinelMicrometerMetricConstant.RESOURCE, resource).increment(n);
        }
    }

    @Override
    public void addBlock(String resource, int n, String origin, BlockException blockException, Object... args) {<FILL_FUNCTION_BODY>}

    @Override
    public void addSuccess(String resource, int n, Object... args) {
        Environment environment = PluginContextAware.getStaticEnvironment();
        Boolean metricSentinelSuccessQpsOutputEnabled = environment.getProperty(SentinelMicrometerMetricConstant.SPRING_APPLICATION_STRATEGY_METRIC_SENTINEL_SUCCESS_QPS_OUTPUT_ENABLED, Boolean.class, Boolean.TRUE);
        if (metricSentinelSuccessQpsOutputEnabled) {
            Metrics.counter(SentinelMetricType.SUCCESS_QPS.toString(), SentinelMicrometerMetricConstant.RESOURCE, resource).increment(n);
        }
    }

    @Override
    public void addException(String resource, int n, Throwable throwable) {
        Environment environment = PluginContextAware.getStaticEnvironment();
        Boolean metricSentinelExceptionQpsOutputEnabled = environment.getProperty(SentinelMicrometerMetricConstant.SPRING_APPLICATION_STRATEGY_METRIC_SENTINEL_EXCEPTION_QPS_OUTPUT_ENABLED, Boolean.class, Boolean.TRUE);
        if (metricSentinelExceptionQpsOutputEnabled) {
            Metrics.counter(SentinelMetricType.EXCEPTION_QPS.toString(), SentinelMicrometerMetricConstant.RESOURCE, resource).increment(n);
        }
    }

    @Override
    public void addRt(String resource, long rt, Object... args) {

    }

    @Override
    public void increaseThreadNum(String resource, Object... args) {

    }

    @Override
    public void decreaseThreadNum(String resource, Object... args) {

    }
}

        Environment environment = PluginContextAware.getStaticEnvironment();
        Boolean metricSentinelBlockQpsOutputEnabled = environment.getProperty(SentinelMicrometerMetricConstant.SPRING_APPLICATION_STRATEGY_METRIC_SENTINEL_BLOCK_QPS_OUTPUT_ENABLED, Boolean.class, Boolean.TRUE);
        if (metricSentinelBlockQpsOutputEnabled) {
            Metrics.counter(SentinelMetricType.BLOCK_QPS.toString(), SentinelMicrometerMetricConstant.RESOURCE, resource).increment(n);
        }
    
<no_super_class>