public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
        return invoke(invoker, invocation, PROVIDER.equals(MetricsSupport.getSide(invocation)));
    }
@Test
    void testThrowable() {
        invocation.setTargetServiceUniqueName(INTERFACE_NAME);
        invocation.setMethodName(METHOD_NAME);
        invocation.setParameterTypes(new Class[] {String.class});
        given(invoker.invoke(invocation)).willReturn(new AppResponse("success"));
        Result result = filter.invoke(invoker, invocation);
        result.setException(new RuntimeException("failed"));
        Object eventObj = invocation.get(METRIC_FILTER_EVENT);
        if (eventObj != null) {
            Assertions.assertDoesNotThrow(() -> MetricsEventBus.after((RequestEvent) eventObj, result));
        }
    }