blob: 026678d5a670f110ba20fd16802f4b57e1eae166 [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "redaction_tool/libmetrics_metrics_recorder.h"
#include "base/notreached.h"
#include "base/time/time.h"
namespace {
constexpr char kTimeSpentRedactingHistogram[] =
"Feedback.RedactionTool.TimeSpentRedactingCrash";
}
namespace redaction {
LibMetricsMetricsRecorder::LibMetricsMetricsRecorder(
scoped_refptr<
base::RefCountedData<std::unique_ptr<MetricsLibraryInterface>>>
metrics_library)
: metrics_library_(metrics_library) {
CHECK(metrics_library_);
}
LibMetricsMetricsRecorder::~LibMetricsMetricsRecorder() = default;
void LibMetricsMetricsRecorder::RecordPIIRedactedHistogram(PIIType pii_type) {
metrics_library_->data->SendEnumToUMA(kPIIRedactedHistogram, pii_type);
}
void LibMetricsMetricsRecorder::RecordCreditCardRedactionHistogram(
CreditCardDetection step) {
metrics_library_->data->SendEnumToUMA(kCreditCardRedactionHistogram, step);
}
void LibMetricsMetricsRecorder::RecordRedactionToolCallerHistogram(
RedactionToolCaller step) {
metrics_library_->data->SendEnumToUMA(kRedactionToolCallerHistogram, step);
}
void LibMetricsMetricsRecorder::RecordTimeSpentRedactingHistogram(
base::TimeDelta elapsed_time) {
metrics_library_->data->SendTimeToUMA(kTimeSpentRedactingHistogram,
elapsed_time, base::Milliseconds(1), base::Minutes(3), 50);
}
std::unique_ptr<RedactionToolMetricsRecorder>
RedactionToolMetricsRecorder::Create() {
NOTREACHED() << "Don't use RedactionToolMetricsRecorder::Create() in"
"CrOS code. Instantiate LibMetricsMetricsRecorder explicitly instead.";
}
std::string_view
RedactionToolMetricsRecorder::GetTimeSpentRedactingHistogramNameForTesting() {
return kTimeSpentRedactingHistogram;
}
} // namespace redaction