-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding Transport client request life cycle timeline on diagnostics #7500
Adding Transport client request life cycle timeline on diagnostics #7500
Conversation
/azp run java - cosmos - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Could you please share a sample for diagnostics string toString() at the end?
- Could you please run ReadThroughput workload on the azure-vm to measure what's the impact of the perf?
sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/ClientSideRequestStatistics.java
Outdated
Show resolved
Hide resolved
sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RequestTimeline.java
Show resolved
Hide resolved
sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxGatewayStoreModel.java
Show resolved
Hide resolved
/azp run java - cosmos - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please merge feature/cosmos/v4 to your branch.
- High level this PR looks good to me.
- Please fix the CIs, and let's run perf,
also I comment on the merging ReactorNettyRequestRecord into HttpResponse. what are your thoughts on that.
...smos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/http/ReactorNettyClient.java
Outdated
Show resolved
Hide resolved
/azp run java - cosmos - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Just it is worth if @David-Noble-at-work also could take a look too. as David did some work in both rntbd and diagnostics his input will be valuable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, let' wait for @David-Noble-at-work 's review on this.
sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/BridgeInternal.java
Outdated
Show resolved
Hide resolved
sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/BridgeInternal.java
Show resolved
Hide resolved
...c/main/java/com/azure/cosmos/implementation/directconnectivity/rntbd/RntbdRequestRecord.java
Show resolved
Hide resolved
issue have been open as an extention to this PR #8035 |
This will add timeline for various stage of transport client request on diagnostics, both on Direct mode(Rntbd) or in Gateway (ReactorNettyHttp).
Below how it looks on diagnostics string
Rntbd protocol -
"transportRequestTimeline": [
{
"eventName": "created",
"startTime": "2020-02-04T14:54:59.488-05:00",
"durationInMicroSec": "51000"
},
{
"eventName": "queued",
"startTime": "2020-02-04T14:54:59.539-05:00",
"durationInMicroSec": "266000"
},
{
"eventName": "pipelined",
"startTime": "2020-02-04T14:54:59.805-05:00",
"durationInMicroSec": "9990000"
},
{
"eventName": "transitTime",
"startTime": "2020-02-04T14:55:09.795-05:00",
"durationInMicroSec": "50000"
},
{
"eventName": "received",
"startTime": "2020-02-04T14:55:09.845-05:00",
"durationInMicroSec": "20000"
},
{
"eventName": "completed",
"startTime": "2020-02-04T14:55:09.865-05:00",
"durationInMicroSec": "0"
}
]
Http protocol -
"transportRequestTimeline": [
{
"eventName": "connectionCreated",
"startTime": "2020-02-04T14:53:47.932-05:00",
"durationInMicroSec": "78000"
},
{
"eventName": "connectionConfigured",
"startTime": "2020-02-04T14:53:48.010-05:00",
"durationInMicroSec": "1000"
},
{
"eventName": "requestSent",
"startTime": "2020-02-04T14:53:48.011-05:00",
"durationInMicroSec": "2000"
},
{
"eventName": "transitTime",
"startTime": "2020-02-04T14:53:48.013-05:00",
"durationInMicroSec": "51000"
},
{
"eventName": "received",
"startTime": "2020-02-04T14:53:48.064-05:00",
"durationInMicroSec": "1000"
}
]