mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 16:55:40 +00:00
bug 1470853 - Add Telemetry::DNS_TRR_REQUEST_PER_CONN r=nwgh
Count number of requests/streams per connection done when the connection was used for TRR. MozReview-Commit-ID: H7X06h8gVZY Differential Revision: https://phabricator.services.mozilla.com/D3589 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
4b85350209
commit
70b6a3456b
@ -121,6 +121,7 @@ Http2Session::Http2Session(nsISocketTransport *aSocketTransport, enum SpdyVersio
|
|||||||
, mTlsHandshakeFinished(false)
|
, mTlsHandshakeFinished(false)
|
||||||
, mCheckNetworkStallsWithTFO(false)
|
, mCheckNetworkStallsWithTFO(false)
|
||||||
, mLastRequestBytesSentTime(0)
|
, mLastRequestBytesSentTime(0)
|
||||||
|
, mTrrStreams(0)
|
||||||
{
|
{
|
||||||
MOZ_ASSERT(OnSocketThread(), "not on socket thread");
|
MOZ_ASSERT(OnSocketThread(), "not on socket thread");
|
||||||
|
|
||||||
@ -179,6 +180,9 @@ Http2Session::~Http2Session()
|
|||||||
|
|
||||||
Shutdown();
|
Shutdown();
|
||||||
|
|
||||||
|
if (mTrrStreams) {
|
||||||
|
Telemetry::Accumulate(Telemetry::DNS_TRR_REQUEST_PER_CONN, mTrrStreams);
|
||||||
|
}
|
||||||
Telemetry::Accumulate(Telemetry::SPDY_PARALLEL_STREAMS, mConcurrentHighWater);
|
Telemetry::Accumulate(Telemetry::SPDY_PARALLEL_STREAMS, mConcurrentHighWater);
|
||||||
Telemetry::Accumulate(Telemetry::SPDY_REQUEST_PER_CONN, (mNextStreamID - 1) / 2);
|
Telemetry::Accumulate(Telemetry::SPDY_REQUEST_PER_CONN, (mNextStreamID - 1) / 2);
|
||||||
Telemetry::Accumulate(Telemetry::SPDY_SERVER_INITIATED_STREAMS,
|
Telemetry::Accumulate(Telemetry::SPDY_SERVER_INITIATED_STREAMS,
|
||||||
@ -400,6 +404,13 @@ Http2Session::RegisterStreamID(Http2Stream *stream, uint32_t aNewID)
|
|||||||
mLastRequestBytesSentTime = PR_IntervalNow();
|
mLastRequestBytesSentTime = PR_IntervalNow();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MOZ_ASSERT(stream->Transaction(), "no transation for the stream!");
|
||||||
|
RefPtr<nsHttpConnectionInfo> ci(stream->Transaction()->ConnectionInfo());
|
||||||
|
if (ci && ci->GetTrrUsed()) {
|
||||||
|
mTrrStreams++;
|
||||||
|
}
|
||||||
|
|
||||||
return aNewID;
|
return aNewID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -574,6 +574,7 @@ private:
|
|||||||
void UnRegisterTunnel(Http2Stream *);
|
void UnRegisterTunnel(Http2Stream *);
|
||||||
uint32_t FindTunnelCount(nsHttpConnectionInfo *);
|
uint32_t FindTunnelCount(nsHttpConnectionInfo *);
|
||||||
nsDataHashtable<nsCStringHashKey, uint32_t> mTunnelHash;
|
nsDataHashtable<nsCStringHashKey, uint32_t> mTunnelHash;
|
||||||
|
uint32_t mTrrStreams;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace net
|
} // namespace net
|
||||||
|
@ -571,6 +571,7 @@ nsHttpChannel::OnBeforeConnect()
|
|||||||
mConnectionInfo->SetNoSpdy(mCaps & NS_HTTP_DISALLOW_SPDY);
|
mConnectionInfo->SetNoSpdy(mCaps & NS_HTTP_DISALLOW_SPDY);
|
||||||
mConnectionInfo->SetBeConservative((mCaps & NS_HTTP_BE_CONSERVATIVE) || mBeConservative);
|
mConnectionInfo->SetBeConservative((mCaps & NS_HTTP_BE_CONSERVATIVE) || mBeConservative);
|
||||||
mConnectionInfo->SetTlsFlags(mTlsFlags);
|
mConnectionInfo->SetTlsFlags(mTlsFlags);
|
||||||
|
mConnectionInfo->SetTrrUsed(mTRR);
|
||||||
|
|
||||||
// notify "http-on-before-connect" observers
|
// notify "http-on-before-connect" observers
|
||||||
gHttpHandler->OnBeforeConnect(this);
|
gHttpHandler->OnBeforeConnect(this);
|
||||||
|
@ -123,6 +123,19 @@ nsHttpConnection::~nsHttpConnection()
|
|||||||
this, mHttp1xTransactionCount));
|
this, mHttp1xTransactionCount));
|
||||||
Telemetry::Accumulate(Telemetry::HTTP_REQUEST_PER_CONN,
|
Telemetry::Accumulate(Telemetry::HTTP_REQUEST_PER_CONN,
|
||||||
mHttp1xTransactionCount);
|
mHttp1xTransactionCount);
|
||||||
|
nsHttpConnectionInfo *ci = nullptr;
|
||||||
|
if (mTransaction) {
|
||||||
|
ci = mTransaction->ConnectionInfo();
|
||||||
|
}
|
||||||
|
if (!ci) {
|
||||||
|
ci = mConnInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
MOZ_ASSERT(ci);
|
||||||
|
if (ci->GetTrrUsed()) {
|
||||||
|
Telemetry::Accumulate(Telemetry::DNS_TRR_REQUEST_PER_CONN,
|
||||||
|
mHttp1xTransactionCount);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mTotalBytesRead) {
|
if (mTotalBytesRead) {
|
||||||
|
@ -89,6 +89,7 @@ nsHttpConnectionInfo::Init(const nsACString &host, int32_t port,
|
|||||||
mNPNToken = npnToken;
|
mNPNToken = npnToken;
|
||||||
mOriginAttributes = originAttributes;
|
mOriginAttributes = originAttributes;
|
||||||
mTlsFlags = 0x0;
|
mTlsFlags = 0x0;
|
||||||
|
mTrrUsed = false;
|
||||||
|
|
||||||
mUsingHttpsProxy = (proxyInfo && proxyInfo->IsHTTPS());
|
mUsingHttpsProxy = (proxyInfo && proxyInfo->IsHTTPS());
|
||||||
mUsingHttpProxy = mUsingHttpsProxy || (proxyInfo && proxyInfo->IsHTTP());
|
mUsingHttpProxy = mUsingHttpsProxy || (proxyInfo && proxyInfo->IsHTTP());
|
||||||
@ -242,6 +243,7 @@ nsHttpConnectionInfo::Clone() const
|
|||||||
clone->SetNoSpdy(GetNoSpdy());
|
clone->SetNoSpdy(GetNoSpdy());
|
||||||
clone->SetBeConservative(GetBeConservative());
|
clone->SetBeConservative(GetBeConservative());
|
||||||
clone->SetTlsFlags(GetTlsFlags());
|
clone->SetTlsFlags(GetTlsFlags());
|
||||||
|
clone->SetTrrUsed(GetTrrUsed());
|
||||||
MOZ_ASSERT(clone->Equals(this));
|
MOZ_ASSERT(clone->Equals(this));
|
||||||
|
|
||||||
return clone;
|
return clone;
|
||||||
|
@ -120,6 +120,9 @@ public:
|
|||||||
void SetTlsFlags(uint32_t aTlsFlags);
|
void SetTlsFlags(uint32_t aTlsFlags);
|
||||||
uint32_t GetTlsFlags() const { return mTlsFlags; }
|
uint32_t GetTlsFlags() const { return mTlsFlags; }
|
||||||
|
|
||||||
|
void SetTrrUsed(bool aUsed) { mTrrUsed = aUsed; }
|
||||||
|
bool GetTrrUsed() const { return mTrrUsed; }
|
||||||
|
|
||||||
const nsCString &GetNPNToken() { return mNPNToken; }
|
const nsCString &GetNPNToken() { return mNPNToken; }
|
||||||
const nsCString &GetUsername() { return mUsername; }
|
const nsCString &GetUsername() { return mUsername; }
|
||||||
|
|
||||||
@ -172,6 +175,7 @@ private:
|
|||||||
OriginAttributes mOriginAttributes;
|
OriginAttributes mOriginAttributes;
|
||||||
|
|
||||||
uint32_t mTlsFlags;
|
uint32_t mTlsFlags;
|
||||||
|
uint16_t mTrrUsed : 1;
|
||||||
|
|
||||||
// for RefPtr
|
// for RefPtr
|
||||||
NS_INLINE_DECL_THREADSAFE_REFCOUNTING(nsHttpConnectionInfo, override)
|
NS_INLINE_DECL_THREADSAFE_REFCOUNTING(nsHttpConnectionInfo, override)
|
||||||
|
@ -3330,6 +3330,16 @@
|
|||||||
"bug_numbers": [1453825],
|
"bug_numbers": [1453825],
|
||||||
"alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"]
|
"alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"]
|
||||||
},
|
},
|
||||||
|
"DNS_TRR_REQUEST_PER_CONN": {
|
||||||
|
"record_in_processes": ["main", "content"],
|
||||||
|
"alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"],
|
||||||
|
"expires_in_version": "never",
|
||||||
|
"kind": "exponential",
|
||||||
|
"high": 5000,
|
||||||
|
"n_buckets": 100,
|
||||||
|
"bug_numbers": [1470853],
|
||||||
|
"description": "Number of DOH requests per connection"
|
||||||
|
},
|
||||||
"DNS_LOOKUP_ALGORITHM": {
|
"DNS_LOOKUP_ALGORITHM": {
|
||||||
"record_in_processes": ["main"],
|
"record_in_processes": ["main"],
|
||||||
"alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"],
|
"alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"],
|
||||||
|
Loading…
Reference in New Issue
Block a user