public void onStart(HttpServletRequestEx requestEx, long start) { this.requestEx = requestEx; onStart(start); }
/** * it's a internal API, caller make sure already invoked SCBEngine.ensureStatusUp * @param invocation * @return servicecomb response object */ public static Response innerSyncInvoke(Invocation invocation) { try { invocation.onStart(null, System.nanoTime()); SyncResponseExecutor respExecutor = new SyncResponseExecutor(); invocation.setResponseExecutor(respExecutor); invocation.getInvocationStageTrace().startHandlersRequest(); invocation.next(respExecutor::setResponse); Response response = respExecutor.waitResponse(); invocation.getInvocationStageTrace().finishHandlersResponse(); invocation.onFinish(response); return response; } catch (Throwable e) { String msg = String.format("invoke failed, %s", invocation.getOperationMeta().getMicroserviceQualifiedName()); LOGGER.error(msg, e); Response response = Response.createConsumerFail(e); invocation.onFinish(response); return response; } }
public void onStart(HttpServletRequestEx requestEx, long start) { this.requestEx = requestEx; onStart(start); }
/** * start time in queue. */ public void execute() { try { invocation = InvocationFactory.forProvider(endpoint, operationProtobuf.getOperationMeta(), null); invocation.onStart(null, start); invocation.getInvocationStageTrace().startSchedule(); // copied from HighwayCodec#decodeRequest() // for temporary qps enhance purpose, we'll remove it when handler mechanism is refactored invocation.mergeContext(header.getContext()); Holder<Boolean> qpsFlowControlReject = checkQpsFlowControl(operationMeta); if (qpsFlowControlReject.value) { return; } operationMeta.getExecutor().execute(this::runInExecutor); } catch (IllegalStateException e) { sendResponse(header.getContext(), Response.providerFailResp(e)); } }
invocation.onStart(requestEx, start); invocation.getInvocationStageTrace().startSchedule(); OperationMeta operationMeta = restOperationMeta.getOperationMeta();
invocation.onStart(null, System.nanoTime()); invocation.setSync(false);
/** * start time in queue. */ public void execute() { try { invocation = InvocationFactory.forProvider(endpoint, operationProtobuf.getOperationMeta(), null); invocation.onStart(null, start); invocation.getInvocationStageTrace().startSchedule(); operationMeta.getExecutor().execute(() -> runInExecutor()); } catch (IllegalStateException e) { sendResponse(header.getContext(), Response.providerFailResp(e)); } } }
/** * it's a internal API, caller make sure already invoked SCBEngine.ensureStatusUp * @param invocation * @return servicecomb response object */ public static Response innerSyncInvoke(Invocation invocation) { try { invocation.onStart(null, System.nanoTime()); SyncResponseExecutor respExecutor = new SyncResponseExecutor(); invocation.setResponseExecutor(respExecutor); invocation.getInvocationStageTrace().startHandlersRequest(); invocation.next(respExecutor::setResponse); Response response = respExecutor.waitResponse(); invocation.getInvocationStageTrace().finishHandlersResponse(); invocation.onFinish(response); return response; } catch (Throwable e) { String msg = String.format("invoke failed, %s", invocation.getOperationMeta().getMicroserviceQualifiedName()); LOGGER.error(msg, e); Response response = Response.createConsumerFail(e); invocation.onFinish(response); return response; } }
invocation.onStart(requestEx, start); invocation.getInvocationStageTrace().startSchedule(); OperationMeta operationMeta = restOperationMeta.getOperationMeta();
invocation.onStart(null, System.nanoTime()); invocation.setSync(false);