summaryrefslogtreecommitdiffstats
path: root/tools/metrics
diff options
context:
space:
mode:
authordgrogan@chromium.org <dgrogan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-03 05:55:36 +0000
committerdgrogan@chromium.org <dgrogan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-03 05:55:36 +0000
commitf394b44314dc3177174bca62a018d5a2f6426a10 (patch)
treeb263b8687bcef8291fc3364e306abca9570f2ffd /tools/metrics
parentf8687bea8f2ea4d18e8075d712de1e167397b66b (diff)
downloadchromium_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.xml45
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>