Changeset 146950 in webkit


Ignore:
Timestamp:
Mar 26, 2013 5:12:31 PM (11 years ago)
Author:
dgrogan@chromium.org
Message:

IndexedDB: Histogram cause of LevelDB write errors
https://bugs.webkit.org/show_bug.cgi?id=113350

Reviewed by Tony Chang.

Add histogram for source of LevelDB errors on Write in addition to
Open.

No new tests - no good way to test histogram code.

  • platform/leveldb/LevelDBDatabase.cpp:

(WebCore::histogramLevelDBError):
(WebCore):
(WebCore::LevelDBDatabase::open):
(WebCore::LevelDBDatabase::write):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r146949 r146950  
     12013-03-26  David Grogan  <dgrogan@chromium.org>
     2
     3        IndexedDB: Histogram cause of LevelDB write errors
     4        https://bugs.webkit.org/show_bug.cgi?id=113350
     5
     6        Reviewed by Tony Chang.
     7
     8        Add histogram for source of LevelDB errors on Write in addition to
     9        Open.
     10
     11        No new tests - no good way to test histogram code.
     12
     13        * platform/leveldb/LevelDBDatabase.cpp:
     14        (WebCore::histogramLevelDBError):
     15        (WebCore):
     16        (WebCore::LevelDBDatabase::open):
     17        (WebCore::LevelDBDatabase::write):
     18
    1192013-03-26  Chris Fleizach  <cfleizach@apple.com>
    220
  • trunk/Source/WebCore/platform/leveldb/LevelDBDatabase.cpp

    r146628 r146950  
    160160}
    161161
     162static void histogramLevelDBError(const char* histogramName, const leveldb::Status& s)
     163{
     164    ASSERT(!s.ok());
     165    enum {
     166        LevelDBNotFound,
     167        LevelDBCorruption,
     168        LevelDBIOError,
     169        LevelDBOther,
     170        LevelDBMaxError
     171    };
     172    int levelDBError = LevelDBOther;
     173    if (s.IsNotFound())
     174        levelDBError = LevelDBNotFound;
     175    else if (s.IsCorruption())
     176        levelDBError = LevelDBCorruption;
     177    else if (s.IsIOError())
     178        levelDBError = LevelDBIOError;
     179    HistogramSupport::histogramEnumeration(histogramName, levelDBError, LevelDBMaxError);
     180}
     181
    162182PassOwnPtr<LevelDBDatabase> LevelDBDatabase::open(const String& fileName, const LevelDBComparator* comparator)
    163183{
     
    168188
    169189    if (!s.ok()) {
    170         enum {
    171             LevelDBNotFound,
    172             LevelDBCorruption,
    173             LevelDBIOError,
    174             LevelDBOther,
    175             LevelDBMaxError
    176         };
    177         int levelDBError = LevelDBOther;
    178         if (s.IsNotFound())
    179             levelDBError = LevelDBNotFound;
    180         else if (s.IsCorruption())
    181             levelDBError = LevelDBCorruption;
    182         else if (s.IsIOError())
    183             levelDBError = LevelDBIOError;
    184         HistogramSupport::histogramEnumeration("WebCore.IndexedDB.LevelDBOpenErrors", levelDBError, LevelDBMaxError);
    185 
     190        histogramLevelDBError("WebCore.IndexedDB.LevelDBOpenErrors", s);
    186191        histogramFreeSpace("Failure", fileName);
    187192
     
    277282    if (s.ok())
    278283        return true;
     284    histogramLevelDBError("WebCore.IndexedDB.LevelDBWriteErrors", s);
    279285    LOG_ERROR("LevelDB write failed: %s", s.ToString().c_str());
    280286    return false;
Note: See TracChangeset for help on using the changeset viewer.