• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 
6 package software.amazon.awssdk.crt.http;
7 
8 /**
9  * Holds tracing metrics for an HTTP stream. Maps to `struct aws_http_stream_metrics` in **aws-c-http**'s
10  * **request_response.h**.
11  */
12 public class HttpStreamMetrics {
13     private final long sendStartTimestampNs;
14     private final long sendEndTimestampNs;
15     private final long sendingDurationNs;
16     private final long receiveStartTimestampNs;
17     private final long receiveEndTimestampNs;
18     private final long receivingDurationNs;
19     private final int streamId;
20 
HttpStreamMetrics( long sendStartTimestampNs, long sendEndTimestampNs, long sendingDurationNs, long receiveStartTimestampNs, long receiveEndTimestampNs, long receivingDurationNs, int streamId )21     HttpStreamMetrics(
22             long sendStartTimestampNs,
23             long sendEndTimestampNs,
24             long sendingDurationNs,
25             long receiveStartTimestampNs,
26             long receiveEndTimestampNs,
27             long receivingDurationNs,
28             int streamId
29     ) {
30         this.sendStartTimestampNs = sendStartTimestampNs;
31         this.sendEndTimestampNs = sendEndTimestampNs;
32         this.sendingDurationNs = sendingDurationNs;
33         this.receiveStartTimestampNs = receiveStartTimestampNs;
34         this.receiveEndTimestampNs = receiveEndTimestampNs;
35         this.receivingDurationNs = receivingDurationNs;
36         this.streamId = streamId;
37     }
38 
getSendStartTimestampNs()39     public long getSendStartTimestampNs() {
40         return sendStartTimestampNs;
41     }
42 
getSendEndTimestampNs()43     public long getSendEndTimestampNs() {
44         return sendEndTimestampNs;
45     }
46 
getSendingDurationNs()47     public long getSendingDurationNs() {
48         return sendingDurationNs;
49     }
50 
getReceiveStartTimestampNs()51     public long getReceiveStartTimestampNs() {
52         return receiveStartTimestampNs;
53     }
54 
getReceiveEndTimestampNs()55     public long getReceiveEndTimestampNs() {
56         return receiveEndTimestampNs;
57     }
58 
getReceivingDurationNs()59     public long getReceivingDurationNs() {
60         return receivingDurationNs;
61     }
62 
getStreamId()63     public int getStreamId() {
64         return streamId;
65     }
66 
67     @Override
toString()68     public String toString() {
69         return "HttpStreamMetrics{" +
70                 "sendStartTimestampNs=" + sendStartTimestampNs +
71                 ", sendEndTimestampNs=" + sendEndTimestampNs +
72                 ", sendingDurationNs=" + sendingDurationNs +
73                 ", receiveStartTimestampNs=" + receiveStartTimestampNs +
74                 ", receiveEndTimestampNs=" + receiveEndTimestampNs +
75                 ", receivingDurationNs=" + receivingDurationNs +
76                 ", streamId=" + streamId +
77                 '}';
78     }
79 }
80