1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/power_bookmarks/common/power_bookmark_metrics.h"
#include "base/metrics/histogram_functions.h"
#include "base/metrics/histogram_macros.h"
namespace {
const int kBytesPerKB = 1024;
} // namespace
namespace power_bookmarks::metrics {
void RecordPowerCreated(sync_pb::PowerBookmarkSpecifics::PowerType power_type,
bool success) {
base::UmaHistogramBoolean("PowerBookmarks.PowerCreated.Success", success);
if (success) {
// Here and below - using macros are necessary to record enums coming
// generated protobuf code. This is because ARRAYSIZE is used as the max
// (MAX isn't the correct value) which is incompatible with the histogram
// functions because it's an int and doesn't pass the type checking.
UMA_HISTOGRAM_ENUMERATION(
"PowerBookmarks.PowerCreated.PowerType", power_type,
sync_pb::PowerBookmarkSpecifics::PowerType_ARRAYSIZE);
}
}
void RecordPowerUpdated(sync_pb::PowerBookmarkSpecifics::PowerType power_type,
bool success) {
base::UmaHistogramBoolean("PowerBookmarks.PowerUpdated.Success", success);
if (success) {
UMA_HISTOGRAM_ENUMERATION(
"PowerBookmarks.PowerUpdated.PowerType", power_type,
sync_pb::PowerBookmarkSpecifics::PowerType_ARRAYSIZE);
}
}
void RecordPowerDeleted(bool success) {
base::UmaHistogramBoolean("PowerBookmarks.PowerDeleted.Success", success);
}
void RecordPowersDeletedForURL(
sync_pb::PowerBookmarkSpecifics::PowerType power_type,
bool success) {
base::UmaHistogramBoolean("PowerBookmarks.PowersDeletedForURL.Success",
success);
if (success) {
UMA_HISTOGRAM_ENUMERATION(
"PowerBookmarks.PowersDeletedForURL.PowerType", power_type,
sync_pb::PowerBookmarkSpecifics::PowerType_ARRAYSIZE);
}
}
void RecordDatabaseError(int error) {
base::UmaHistogramSparse("PowerBookmarks.Storage.DatabaseError", error);
}
void RecordDatabaseSizeAtStartup(int64_t size_in_bytes) {
int size_in_kb = base::saturated_cast<int>(size_in_bytes / kBytesPerKB);
base::UmaHistogramCounts1M("PowerBookmarks.Storage.DatabaseDirSizeAtStartup",
size_in_kb);
}
} // namespace power_bookmarks::metrics
|