1 // Copyright (c) 2012 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.
5 #ifndef WEBKIT_BROWSER_APPCACHE_APPCACHE_HISTOGRAMS_H_
6 #define WEBKIT_BROWSER_APPCACHE_APPCACHE_HISTOGRAMS_H_
8 #include "base/basictypes.h"
16 class AppCacheHistograms
{
19 INIT_OK
, SQL_DATABASE_ERROR
, DISK_CACHE_ERROR
,
22 static void CountInitResult(InitResultType init_result
);
24 enum CheckResponseResultType
{
25 RESPONSE_OK
, MANIFEST_OUT_OF_DATE
, RESPONSE_OUT_OF_DATE
, ENTRY_NOT_FOUND
,
26 READ_HEADERS_ERROR
, READ_DATA_ERROR
, UNEXPECTED_DATA_SIZE
, CHECK_CANCELED
,
27 NUM_CHECK_RESPONSE_RESULT_TYPES
29 static void CountCheckResponseResult(CheckResponseResultType result
);
31 static void AddTaskQueueTimeSample(const base::TimeDelta
& duration
);
32 static void AddTaskRunTimeSample(const base::TimeDelta
& duration
);
33 static void AddCompletionQueueTimeSample(const base::TimeDelta
& duration
);
34 static void AddCompletionRunTimeSample(const base::TimeDelta
& duration
);
35 static void AddNetworkJobStartDelaySample(const base::TimeDelta
& duration
);
36 static void AddErrorJobStartDelaySample(const base::TimeDelta
& duration
);
37 static void AddAppCacheJobStartDelaySample(const base::TimeDelta
& duration
);
38 static void AddMissingManifestEntrySample();
40 enum MissingManifestCallsiteType
{
41 CALLSITE_0
, CALLSITE_1
, CALLSITE_2
, CALLSITE_3
,
42 NUM_MISSING_MANIFEST_CALLSITE_TYPES
44 static void AddMissingManifestDetectedAtCallsite(
45 MissingManifestCallsiteType type
);
48 DISALLOW_IMPLICIT_CONSTRUCTORS(AppCacheHistograms
);
51 } // namespace appcache
53 #endif // WEBKIT_BROWSER_APPCACHE_APPCACHE_HISTOGRAMS_H_