diff options
author | dgrogan@chromium.org <dgrogan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-03 05:55:36 +0000 |
---|---|---|
committer | dgrogan@chromium.org <dgrogan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-03 05:55:36 +0000 |
commit | f394b44314dc3177174bca62a018d5a2f6426a10 (patch) | |
tree | b263b8687bcef8291fc3364e306abca9570f2ffd /tools/metrics | |
parent | f8687bea8f2ea4d18e8075d712de1e167397b66b (diff) | |
download | chromium_src-f394b44314dc3177174bca62a018d5a2f6426a10.zip chromium_src-f394b44314dc3177174bca62a018d5a2f6426a10.tar.gz chromium_src-f394b44314dc3177174bca62a018d5a2f6426a10.tar.bz2 |
Parse and histogram LevelDB corruption errors.
When LevelDB returns a corruption error, no error code is
included, just a descriptive string. This CL parses that
string for key phrases in order to determine the type of
corruption that was found.
Manually tested by
(1) open an IndexedDB
(2) close the browser
(3) echo -n "no new line" > http_localhost_0.indexeddb.leveldb/CURRENT
(4) reopen the IndexedDB
(5) check chrome://histograms/LevelDBOpenErrors.Corruption for the value 13
BUG=225051
Review URL: https://chromiumcodereview.appspot.com/18243003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209904 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/metrics')
-rw-r--r-- | tools/metrics/histograms/histograms.xml | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index 8757e36..8dc525a 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml @@ -12542,6 +12542,11 @@ other types of suffix sets. </summary> </histogram> +<histogram name="WebCore.IndexedDB.LevelDBOpenErrors.Corruption" + enum="LevelDBCorruptionTypes"> + Types of corruption that LevelDB encounters when opening a database. +</histogram> + <histogram name="WebCore.IndexedDB.LevelDBOpenErrors.EnvMethod" enum="LevelDBIOErrorMethods"> <summary> @@ -12571,6 +12576,11 @@ other types of suffix sets. </summary> </histogram> +<histogram name="WebCore.IndexedDB.LevelDBWriteErrors.Corruption" + enum="LevelDBCorruptionTypes"> + Types of corruption returned by LevelDB when it failed to write to a database. +</histogram> + <histogram name="WebCore.IndexedDB.LevelDBWriteErrors.EnvMethod" enum="LevelDBIOErrorMethods"> <summary> @@ -16484,6 +16494,41 @@ other types of suffix sets. <int value="8026721" label="Zaza"/> </enum> +<enum name="LevelDBCorruptionTypes" type="int"> + <int value="0" label="other"/> + <int value="1" label="missing files"/> + <int value="2" label="log record too small"/> + <int value="3" label="corrupted internal key"/> + <int value="4" label="partial record"/> + <int value="5" label="missing start of fragmented record"/> + <int value="6" label="error in middle of record"/> + <int value="7" label="unknown record type"/> + <int value="8" label="truncated record at end"/> + <int value="9" label="bad record length"/> + <int value="10" label="VersionEdit"/> + <int value="11" label="FileReader invoked with unexpected value"/> + <int value="12" label="corrupted key"/> + <int value="13" label="CURRENT file does not end with newline"/> + <int value="14" label="no meta-nextfile entry"/> + <int value="15" label="no meta-lognumber entry"/> + <int value="16" label="no last-sequence-number entry"/> + <int value="17" label="malformed WriteBatch"/> + <int value="18" label="bad WriteBatch Put"/> + <int value="19" label="bad WriteBatch Delete"/> + <int value="20" label="unknown WriteBatch tag"/> + <int value="21" label="WriteBatch has wrong count"/> + <int value="22" label="bad entry in block"/> + <int value="23" label="bad block contents"/> + <int value="24" label="bad block handle"/> + <int value="25" label="truncated block read"/> + <int value="26" label="block checksum mismatch"/> + <int value="27" label="checksum mismatch"/> + <int value="28" label="corrupted compressed block contents"/> + <int value="29" label="bad block type"/> + <int value="30" label="bad magic number"/> + <int value="31" label="file is too short"/> +</enum> + <enum name="LevelDBErrorCount" type="int"> <int value="1" label="Failure"/> </enum> |