@Override
    public SofaResponse invoke(FilterInvoker invoker, SofaRequest request) throws SofaRpcException {
        // consumer side, if in provider side,loadTest always false
        SofaTracerSpan currentSpan = SofaTraceContextHolder.getSofaTraceContext().getCurrentSpan();
        boolean loadTest = TracerUtils.isLoadTest(currentSpan);
        if (loadTest) {
            RpcInvokeContext.getContext().addCustomHeader(HEAD_KEY_TRAFFIC_TYPE.name(), PRESSURE);
        }

        // provider side ,if in consumer side, metadata == null
        Metadata metadata = TracingContextKey.getKeyMetadata().get();
        if (metadata != null) {
            String s = metadata.get(HEAD_KEY_TRAFFIC_TYPE);
            if (PRESSURE.equals(s)) {
                currentSpan.getSofaTracerSpanContext().setBizBaggageItem(MARK, T);
            }
        }
        return invoker.invoke(request);
    }
@Test
    public void testNoConsumerPressure() {
        SofaTracerSpan currentSpan = SofaTraceContextHolder.getSofaTraceContext().getCurrentSpan();
        Assert.assertFalse(TracerUtils.isLoadTest(currentSpan));

        PressureMarkTransformFilter filter = new PressureMarkTransformFilter();
        filter.invoke(invoker, request);

        Assert.assertNull(invoker.getMetaHolder().get(HEAD_KEY_TRAFFIC_TYPE.name()));
    }