chromium/chrome/browser/k_anonymity_service/k_anonymity_service_metrics.h

// 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.

#ifndef CHROME_BROWSER_K_ANONYMITY_SERVICE_K_ANONYMITY_SERVICE_METRICS_H_
#define CHROME_BROWSER_K_ANONYMITY_SERVICE_K_ANONYMITY_SERVICE_METRICS_H_

#include "base/time/time.h"

// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
enum class KAnonymityServiceJoinSetAction {};

// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
enum class KAnonymityServiceQuerySetAction {};

// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
enum class KAnonymityTrustTokenGetterAction {};

void RecordJoinSetAction(KAnonymityServiceJoinSetAction action);

void RecordQuerySetAction(KAnonymityServiceQuerySetAction action);

void RecordQuerySetSize(size_t size);

void RecordTrustTokenGetterAction(KAnonymityTrustTokenGetterAction action);

void RecordJoinSetLatency(base::TimeTicks request_start,
                          base::TimeTicks request_end);

void RecordQuerySetLatency(base::TimeTicks request_start,
                           base::TimeTicks request_end);

void RecordTrustTokenGet(base::TimeTicks request_start,
                         base::TimeTicks request_end);

#endif  // CHROME_BROWSER_K_ANONYMITY_SERVICE_K_ANONYMITY_SERVICE_METRICS_H_