File: plus_address_metrics.cc

package info (click to toggle)
chromium 120.0.6099.224-1~deb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 6,112,112 kB
  • sloc: cpp: 32,907,025; ansic: 8,148,123; javascript: 3,679,536; python: 2,031,248; asm: 959,718; java: 804,675; xml: 617,256; sh: 111,417; objc: 100,835; perl: 88,443; cs: 53,032; makefile: 29,579; fortran: 24,137; php: 21,162; tcl: 21,147; sql: 20,809; ruby: 17,735; pascal: 12,864; yacc: 8,045; lisp: 3,388; lex: 1,323; ada: 727; awk: 329; jsp: 267; csh: 117; exp: 43; sed: 37
file content (84 lines) | stat: -rw-r--r-- 3,058 bytes parent folder | download
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// 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 "components/plus_addresses/plus_address_metrics.h"

#include "base/metrics/histogram_functions.h"
#include "base/strings/string_util.h"
#include "components/plus_addresses/plus_address_types.h"
#include "google_apis/gaia/google_service_auth_error.h"

namespace plus_addresses {
// static
void PlusAddressMetrics::RecordModalEvent(
    PlusAddressModalEvent plus_address_modal_event) {
  base::UmaHistogramEnumeration("Autofill.PlusAddresses.Modal.Events",
                                plus_address_modal_event);
}

// static
void PlusAddressMetrics::RecordAutofillSuggestionEvent(
    PlusAddressAutofillSuggestionEvent plus_address_autofill_suggestion_event) {
  base::UmaHistogramEnumeration("Autofill.PlusAddresses.Suggestion.Events",
                                plus_address_autofill_suggestion_event);
}
// static
void PlusAddressMetrics::RecordNetworkRequestLatency(
    PlusAddressNetworkRequestType type,
    base::TimeDelta request_latency) {
  base::UmaHistogramTimes(
      base::ReplaceStringPlaceholders(
          "Autofill.PlusAddresses.NetworkRequest.$1.Latency",
          {PlusAddressNetworkRequestTypeToString(type)},
          /*offsets=*/nullptr),
      request_latency);
}
// static
void PlusAddressMetrics::RecordNetworkRequestResponseCode(
    PlusAddressNetworkRequestType type,
    int response_code) {
  // Mapped to "HttpErrorCodes" in histograms.xml.
  base::UmaHistogramSparse(
      base::ReplaceStringPlaceholders(
          "Autofill.PlusAddresses.NetworkRequest.$1.ResponseCode",
          {PlusAddressNetworkRequestTypeToString(type)},
          /*offsets=*/nullptr),
      response_code);
}
// static
void PlusAddressMetrics::RecordNetworkRequestResponseSize(
    PlusAddressNetworkRequestType type,
    int response_size) {
  base::UmaHistogramCounts10000(
      base::ReplaceStringPlaceholders(
          "Autofill.PlusAddresses.NetworkRequest.$1.ResponseByteSize",
          {PlusAddressNetworkRequestTypeToString(type)},
          /*offsets=*/nullptr),
      response_size);
}
// static
void PlusAddressMetrics::RecordNetworkRequestOauthError(
    GoogleServiceAuthError error) {
  base::UmaHistogramEnumeration(
      "Autofill.PlusAddresses.NetworkRequest.OauthError", error.state(),
      GoogleServiceAuthError::NUM_STATES);
}
// static
std::string PlusAddressMetrics::PlusAddressNetworkRequestTypeToString(
    PlusAddressNetworkRequestType type) {
  // Make sure to keep "AutofillPlusAddressNetworkRequestType" in
  // tools/metrics/histograms/metadata/autofill/histograms.xml in sync with
  // this.
  switch (type) {
    case PlusAddressNetworkRequestType::kCreate:
      return "Create";
    case PlusAddressNetworkRequestType::kGetOrCreate:
      return "GetOrCreate";
    case PlusAddressNetworkRequestType::kList:
      return "List";
    case PlusAddressNetworkRequestType::kReserve:
      return "Reserve";
  }
}
}  // namespace plus_addresses