blob: d552fc8f2aae486c50ef2ac911d179117139b1f2 [file] [log] [blame]
// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "src/storage/blobfs/verification-metrics.h"
namespace blobfs {
void VerificationMetrics::Increment(uint64_t data_size, uint64_t merkle_size,
fs::Duration duration) {
std::scoped_lock guard(mutex_);
++blobs_verified_;
blobs_verified_total_size_data_ += data_size;
blobs_verified_total_size_merkle_ += merkle_size;
total_verification_time_ticks_ += duration;
}
VerificationMetrics::Snapshot VerificationMetrics::Get() {
std::scoped_lock guard(mutex_);
return Snapshot{
.blobs_verified = blobs_verified_,
.data_size = blobs_verified_total_size_data_,
.merkle_size = blobs_verified_total_size_merkle_,
.verification_time = total_verification_time_ticks_.get(),
};
}
} // namespace blobfs