Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 package org.chromium.net.impl; | |
| 6 | |
| 7 import android.support.annotation.Nullable; | |
| 8 | |
| 9 import org.chromium.base.VisibleForTesting; | |
| 10 import org.chromium.net.RequestFinishedInfo; | |
| 11 | |
| 12 import java.util.Date; | |
| 13 | |
| 14 @VisibleForTesting | |
| 15 public final class CronetMetrics extends RequestFinishedInfo.Metrics { | |
| 16 private final long mProxyStartMs; | |
| 17 private final long mProxyEndMs; | |
| 18 private final long mDnsStartMs; | |
| 19 private final long mDnsEndMs; | |
| 20 private final long mConnectStartMs; | |
| 21 private final long mConnectEndMs; | |
| 22 private final long mSslStartMs; | |
| 23 private final long mSslEndMs; | |
| 24 private final long mSendingStartMs; | |
| 25 private final long mSendingEndMs; | |
| 26 private final long mPushStartMs; | |
| 27 private final long mPushEndMs; | |
| 28 private final long mResponseStartMs; | |
| 29 private final long mResponseEndMs; | |
| 30 private final boolean mSocketReused; | |
| 31 | |
| 32 @Nullable | |
| 33 private final Long mTtfbMs; | |
| 34 @Nullable | |
| 35 private final Long mTotalTimeMs; | |
| 36 @Nullable | |
| 37 private final Long mSentBytesCount; | |
| 38 @Nullable | |
| 39 private final Long mReceivedBytesCount; | |
| 40 | |
| 41 @Nullable | |
| 42 private static Date toDate(long timestamp) { | |
| 43 if (timestamp != 0) { | |
| 44 return new Date(timestamp); | |
| 45 } | |
| 46 return null; | |
| 47 } | |
| 48 | |
| 49 /** | |
| 50 * Old-style constructor | |
|
xunjieli
2016/09/01 22:17:42
Is this going away?
Should we add a TODO here so i
mgersh
2016/09/02 19:32:08
Done.
| |
| 51 */ | |
| 52 public CronetMetrics(@Nullable Long ttfbMs, @Nullable Long totalTimeMs, | |
| 53 @Nullable Long sentBytesCount, @Nullable Long receivedBytesCount) { | |
| 54 mTtfbMs = ttfbMs; | |
| 55 mTotalTimeMs = totalTimeMs; | |
| 56 mSentBytesCount = sentBytesCount; | |
| 57 mReceivedBytesCount = receivedBytesCount; | |
| 58 | |
| 59 // Everything else is 0 for now | |
| 60 mProxyStartMs = 0; | |
| 61 mProxyEndMs = 0; | |
| 62 mDnsStartMs = 0; | |
| 63 mDnsEndMs = 0; | |
| 64 mConnectStartMs = 0; | |
| 65 mConnectEndMs = 0; | |
| 66 mSslStartMs = 0; | |
| 67 mSslEndMs = 0; | |
| 68 mSendingStartMs = 0; | |
| 69 mSendingEndMs = 0; | |
| 70 mPushStartMs = 0; | |
| 71 mPushEndMs = 0; | |
| 72 mResponseStartMs = 0; | |
| 73 mResponseEndMs = 0; | |
| 74 mSocketReused = false; | |
| 75 } | |
| 76 | |
| 77 /** | |
| 78 * New-style constructor | |
| 79 */ | |
| 80 public CronetMetrics(long proxyStartMs, long proxyEndMs, long dnsStartMs, lo ng dnsEndMs, | |
| 81 long connectStartMs, long connectEndMs, long sslStartMs, long sslEnd Ms, | |
| 82 long sendingStartMs, long sendingEndMs, long pushStartMs, long pushE ndMs, | |
| 83 long responseStartMs, long responseEndMs, boolean socketReused, long sentBytesCount, | |
| 84 long receivedBytesCount) { | |
|
xunjieli
2016/09/01 22:17:42
Might worth doing some assertions in the construct
mgersh
2016/09/02 19:32:08
Yeah, I was worried about that too. Done.
| |
| 85 mProxyStartMs = proxyStartMs; | |
| 86 mProxyEndMs = proxyEndMs; | |
| 87 mDnsStartMs = dnsStartMs; | |
| 88 mDnsEndMs = dnsEndMs; | |
| 89 mConnectStartMs = connectStartMs; | |
| 90 mConnectEndMs = connectEndMs; | |
| 91 mSslStartMs = sslStartMs; | |
| 92 mSslEndMs = sslEndMs; | |
| 93 mSendingStartMs = sendingStartMs; | |
| 94 mSendingEndMs = sendingEndMs; | |
| 95 mPushStartMs = pushStartMs; | |
| 96 mPushEndMs = pushEndMs; | |
| 97 mResponseStartMs = responseStartMs; | |
| 98 mResponseEndMs = responseEndMs; | |
| 99 mSocketReused = socketReused; | |
| 100 mSentBytesCount = sentBytesCount; | |
| 101 mReceivedBytesCount = receivedBytesCount; | |
| 102 | |
| 103 // Don't care about these anymore | |
|
xunjieli
2016/09/01 22:17:42
Why do we not care about these anymore? Could you
mgersh
2016/09/02 19:32:08
Done.
| |
| 104 mTtfbMs = null; | |
| 105 mTotalTimeMs = null; | |
| 106 } | |
| 107 | |
| 108 @Nullable | |
| 109 public Date getProxyStart() { | |
| 110 return toDate(mProxyStartMs); | |
| 111 } | |
| 112 | |
| 113 @Nullable | |
| 114 public Date getProxyEnd() { | |
| 115 return toDate(mProxyEndMs); | |
| 116 } | |
| 117 | |
| 118 @Nullable | |
| 119 public Date getDnsStart() { | |
| 120 return toDate(mDnsStartMs); | |
| 121 } | |
| 122 | |
| 123 @Nullable | |
| 124 public Date getDnsEnd() { | |
| 125 return toDate(mDnsEndMs); | |
| 126 } | |
| 127 | |
| 128 @Nullable | |
| 129 public Date getConnectStart() { | |
| 130 return toDate(mConnectStartMs); | |
| 131 } | |
| 132 | |
| 133 @Nullable | |
| 134 public Date getConnectEnd() { | |
| 135 return toDate(mConnectEndMs); | |
| 136 } | |
| 137 | |
| 138 @Nullable | |
| 139 public Date getSslStart() { | |
| 140 return toDate(mSslStartMs); | |
| 141 } | |
| 142 | |
| 143 @Nullable | |
| 144 public Date getSslEnd() { | |
| 145 return toDate(mSslEndMs); | |
| 146 } | |
| 147 | |
| 148 @Nullable | |
| 149 public Date getSendingStart() { | |
| 150 return toDate(mSendingStartMs); | |
| 151 } | |
| 152 | |
| 153 @Nullable | |
| 154 public Date getSendingEnd() { | |
| 155 return toDate(mSendingEndMs); | |
| 156 } | |
| 157 | |
| 158 @Nullable | |
| 159 public Date getPushStart() { | |
| 160 return toDate(mPushStartMs); | |
| 161 } | |
| 162 | |
| 163 @Nullable | |
| 164 public Date getPushEnd() { | |
| 165 return toDate(mPushEndMs); | |
| 166 } | |
| 167 | |
| 168 @Nullable | |
| 169 public Date getResponseStart() { | |
| 170 return toDate(mResponseStartMs); | |
| 171 } | |
| 172 | |
| 173 @Nullable | |
| 174 public Date getResponseEnd() { | |
| 175 return toDate(mResponseEndMs); | |
| 176 } | |
| 177 | |
| 178 @Nullable | |
| 179 public boolean getSocketReused() { | |
| 180 return mSocketReused; | |
| 181 } | |
| 182 | |
| 183 @Nullable | |
| 184 public Long getTtfbMs() { | |
| 185 return mTtfbMs; | |
| 186 } | |
| 187 | |
| 188 @Nullable | |
| 189 public Long getTotalTimeMs() { | |
| 190 return mTotalTimeMs; | |
| 191 } | |
| 192 | |
| 193 @Nullable | |
| 194 public Long getSentBytesCount() { | |
| 195 return mSentBytesCount; | |
| 196 } | |
| 197 | |
| 198 @Nullable | |
| 199 public Long getReceivedBytesCount() { | |
| 200 return mReceivedBytesCount; | |
| 201 } | |
| 202 } | |
| OLD | NEW |