Commit 9c50b043 authored by tyoshino@chromium.org's avatar tyoshino@chromium.org

UMA: Add Net.WebSocket.DeflateMode

Counts the number of successful handshake completion with
permessage-deflate enabled for each negotiated context_takeover
parameter value.

BUG=128156,359926

Review URL: https://codereview.chromium.org/244933003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266444 0039d316-1c4b-4281-b951-d872f2087c98
parent 65c1762f
......@@ -14,6 +14,7 @@
#include "base/basictypes.h"
#include "base/bind.h"
#include "base/containers/hash_tables.h"
#include "base/metrics/histogram.h"
#include "base/stl_util.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_piece.h"
......@@ -505,6 +506,11 @@ scoped_ptr<WebSocketStream> WebSocketBasicHandshakeStream::Upgrade() {
extensions_));
DCHECK(extension_params_.get());
if (extension_params_->deflate_enabled) {
UMA_HISTOGRAM_ENUMERATION(
"Net.WebSocket.DeflateMode",
extension_params_->deflate_mode,
WebSocketDeflater::NUM_CONTEXT_TAKEOVER_MODE_TYPES);
return scoped_ptr<WebSocketStream>(
new WebSocketDeflateStream(basic_stream.Pass(),
extension_params_->deflate_mode,
......
......@@ -21,9 +21,12 @@ class IOBufferWithSize;
class NET_EXPORT_PRIVATE WebSocketDeflater {
public:
// Do not reorder or remove entries of this enum. The values of them are used
// in UMA.
enum ContextTakeOverMode {
DO_NOT_TAKE_OVER_CONTEXT,
TAKE_OVER_CONTEXT,
NUM_CONTEXT_TAKEOVER_MODE_TYPES,
};
explicit WebSocketDeflater(ContextTakeOverMode mode);
......
......@@ -13989,6 +13989,18 @@ Therefore, the affected-histogram name has to have at least one dot in it.
<summary>The time spent in closesocket call in UDPSocketWin::Close.</summary>
</histogram>
<histogram name="Net.WebSocket.DeflateMode"
enum="WebSocketNewPerMessageDeflateContextTakeoverMode">
<owner>yhirano@chromium.org</owner>
<owner>ricea@chromium.org</owner>
<owner>tyoshino@chromium.org</owner>
<summary>
Count the number of WebSockets that accepted permessage-deflate extension
for each context take over mode. Used by the new Chromium-based WebSocket
implementation.
</summary>
</histogram>
<histogram name="Net.WebSocket.Duration" units="milliseconds">
<owner>yhirano@chromium.org</owner>
<owner>ricea@chromium.org</owner>
......@@ -29795,10 +29807,13 @@ Therefore, the affected-histogram name has to have at least one dot in it.
<histogram name="WebCore.WebSocket.PerMessageDeflateContextTakeOverMode"
enum="WebSocketPerMessageDeflateContextTakeOverMode">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<owner>yhirano@chromium.org</owner>
<owner>ricea@chromium.org</owner>
<owner>tyoshino@chromium.org</owner>
<summary>
Count the number of WebSockets that accepted permessage-deflate extension
for each context take over mode.
for each context take over mode. Used by the old Blink-based WebSocket
implementation.
</summary>
</histogram>
......@@ -42208,9 +42223,14 @@ Therefore, the affected-histogram name has to have at least one dot in it.
<int value="2" label="FAILED">Failed</int>
</enum>
<enum name="WebSocketNewPerMessageDeflateContextTakeoverMode" type="int">
<int value="0" label="Do not take over"/>
<int value="1" label="Take over"/>
</enum>
<enum name="WebSocketPerMessageDeflateContextTakeOverMode" type="int">
<int value="0" label="DoNotTakeOverContext"/>
<int value="1" label="TakeOverContext"/>
<int value="0" label="Do not take over"/>
<int value="1" label="Take over"/>
</enum>
<enum name="WebSocketSendType" type="int">
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment