public class InvocationStageTrace extends Object
important:
all time point is about invocation stage, not java method
all time is nanoTime
not all stage relate to a event, currently, we only have 4 event:
start/finish/startBusiness/finishBusiness
for consumer:
(prepare) (handlerReq) (clientFilterReq)
start --------> startHandlersRequest -----------> startClientFiltersRequest --------------------------------------
<----------------(sendRequest)-----------------> |
(receiveResponse) (writeToBuffer) (getConnection) |
---finishReceiveResponse <----- finishWriteToBuffer <----------- finishGetConnection <-------------- startSend <-
| (wakeConsumer) (clientFiltersResponse) (handlersResponse)
|-----> startClientFiltersResponse -------> finishClientFiltersResponse -------> finishHandlersResponse --> finish
for producer:
(prepare) (threadPoolQueue) (serverFiltersRequest)
start ----> startSchedule -----> startExecution -> startServerFiltersRequest -------> startHandlersRequest -------
(handlersResponse) <-------------(business)-------------> (handlersRequest) |
-----finishHandlersResponse <------ finishBusiness <------- finishBusinessMethod <------ startBusinessMethod------
| (serverFiltersResponse) (sendResponse)
|---> finishServerFiltersResponse ------> finish
for edge:
(prepare) (threadPoolQueue) (serverFiltersRequest)
start ----> startSchedule -----> startExecution -> startServerFiltersRequest ----> startHandlersRequest ----------
<----------(sendRequest)----------> |
(writeToBuffer) (getConnection) (clientFilterReq) (handlersRequest) |
--- finishWriteToBuffer <------ finishGetConnection <------ startSend <------ startClientFiltersRequest <---------
| (receiveResponse) (wakeConsumer) (clientFiltersResponse)
---> finishReceiveResponse ------> startClientFiltersResponse ------> finishClientFiltersResponse ----------------
(sendResponse) (serverFiltersResponse) (handlersResponse) |
finish <------ finishServerFiltersResponse <------ finishHandlersResponse <------------
| Modifier and Type | Field and Description |
|---|---|
static String |
CLIENT_FILTERS_REQUEST |
static String |
CLIENT_FILTERS_RESPONSE |
static String |
CONSUMER_GET_CONNECTION |
static String |
CONSUMER_SEND_REQUEST |
static String |
CONSUMER_WAIT_RESPONSE |
static String |
CONSUMER_WAKE_CONSUMER |
static String |
CONSUMER_WRITE_TO_BUF |
static String |
HANDLERS_REQUEST |
static String |
HANDLERS_RESPONSE |
static String |
PREPARE |
static String |
PRODUCER_SEND_RESPONSE |
static String |
SERVER_FILTERS_REQUEST |
static String |
SERVER_FILTERS_RESPONSE |
static String |
THREAD_POOL_QUEUE |
| Constructor and Description |
|---|
InvocationStageTrace(Invocation invocation) |
public static final String PREPARE
public static final String HANDLERS_REQUEST
public static final String HANDLERS_RESPONSE
public static final String CLIENT_FILTERS_REQUEST
public static final String CONSUMER_SEND_REQUEST
public static final String CONSUMER_GET_CONNECTION
public static final String CONSUMER_WRITE_TO_BUF
public static final String CONSUMER_WAIT_RESPONSE
public static final String CONSUMER_WAKE_CONSUMER
public static final String CLIENT_FILTERS_RESPONSE
public static final String THREAD_POOL_QUEUE
public static final String SERVER_FILTERS_REQUEST
public static final String SERVER_FILTERS_RESPONSE
public static final String PRODUCER_SEND_RESPONSE
public InvocationStageTrace(Invocation invocation)
public void start(long start)
public long getStart()
public long getStartHandlersRequest()
public void startHandlersRequest()
public long getStartClientFiltersRequest()
public void startClientFiltersRequest()
public long getStartSchedule()
public void startSchedule()
public long getStartExecution()
public void startExecution()
public long getStartSend()
public void startSend()
public long getFinishGetConnection()
public void finishGetConnection(long finishGetConnection)
public long getFinishWriteToBuffer()
public void finishWriteToBuffer(long finishWriteToBuffer)
public long getFinishReceiveResponse()
public void finishReceiveResponse()
public long getStartClientFiltersResponse()
public void startClientFiltersResponse()
public long getFinishClientFiltersResponse()
public void finishClientFiltersResponse()
public long getFinishHandlersResponse()
public void finishHandlersResponse()
public long getStartServerFiltersRequest()
public void startServerFiltersRequest()
public long getFinishServerFiltersResponse()
public void finishServerFiltersResponse()
public long getStartBusinessMethod()
public void startBusinessMethod()
public long getFinishBusiness()
public void finishBusiness()
public long getFinish()
public void finish()
public double calcTotalTime()
public double calcInvocationPrepareTime()
public double calcHandlersRequestTime()
public double calcClientFiltersRequestTime()
public double calcServerFiltersRequestTime()
public double calcSendRequestTime()
public double calcGetConnectionTime()
public double calcWriteToBufferTime()
public double calcReceiveResponseTime()
public double calcWakeConsumer()
public double calcClientFiltersResponseTime()
public double calcServerFiltersResponseTime()
public double calcHandlersResponseTime()
public double calcThreadPoolQueueTime()
public double calcBusinessTime()
public double calcSendResponseTime()
Copyright © 2017–2019 The Apache Software Foundation. All rights reserved.