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
);
23 static void CountReinitAttempt(bool repeated_attempt
);
25 enum CheckResponseResultType
{
26 RESPONSE_OK
, MANIFEST_OUT_OF_DATE
, RESPONSE_OUT_OF_DATE
, ENTRY_NOT_FOUND
,
27 READ_HEADERS_ERROR
, READ_DATA_ERROR
, UNEXPECTED_DATA_SIZE
, CHECK_CANCELED
,
28 NUM_CHECK_RESPONSE_RESULT_TYPES
30 static void CountCheckResponseResult(CheckResponseResultType result
);
32 static void AddTaskQueueTimeSample(const base::TimeDelta
& duration
);
33 static void AddTaskRunTimeSample(const base::TimeDelta
& duration
);
34 static void AddCompletionQueueTimeSample(const base::TimeDelta
& duration
);
35 static void AddCompletionRunTimeSample(const base::TimeDelta
& duration
);
36 static void AddNetworkJobStartDelaySample(const base::TimeDelta
& duration
);
37 static void AddErrorJobStartDelaySample(const base::TimeDelta
& duration
);
38 static void AddAppCacheJobStartDelaySample(const base::TimeDelta
& duration
);
39 static void AddMissingManifestEntrySample();
41 enum MissingManifestCallsiteType
{
42 CALLSITE_0
, CALLSITE_1
, CALLSITE_2
, CALLSITE_3
,
43 NUM_MISSING_MANIFEST_CALLSITE_TYPES
45 static void AddMissingManifestDetectedAtCallsite(
46 MissingManifestCallsiteType type
);
49 DISALLOW_IMPLICIT_CONSTRUCTORS(AppCacheHistograms
);
52 } // namespace appcache
54 #endif // WEBKIT_BROWSER_APPCACHE_APPCACHE_HISTOGRAMS_H_