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 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246
|
// Copyright 2014 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/metrics/metrics_pref_names.h"
namespace metrics {
namespace prefs {
// Set once, to the current epoch time, on the first run of chrome on this
// machine. Attached to metrics reports forever thereafter.
// Note: the 'uninstall_metrics' name is a legacy name and doesn't mean much.
const char kInstallDate[] = "uninstall_metrics.installation_date2";
// A provisional metrics client GUID used for field trial group assignments
// before metrics reporting consent is known (i.e., during first run). This GUID
// is never reported directly. However, if the user enables UMA, this
// provisional client GUID becomes the metrics client GUID (see
// |kMetricsClientID|), and this pref is cleared. In that case, the GUID may
// be reported.
// Note: This GUID is stored in prefs because it is possible that the user
// closes Chrome during the FRE. We re-use this GUID in subsequent FRE runs
// until metrics reporting consent is truly known.
const char kMetricsProvisionalClientID[] =
"user_experience_metrics.provisional_client_id";
// The metrics client GUID.
// Note: The name client_id2 is a result of creating
// new prefs to do a one-time reset of the previous values.
const char kMetricsClientID[] = "user_experience_metrics.client_id2";
// An enum value indicating the default value of the enable metrics reporting
// checkbox shown during first-run. If it's opt-in, then the checkbox defaulted
// to unchecked, if it's opt-out, then it defaulted to checked. This value is
// only recorded during first-run, so older clients will not set it. The enum
// used for the value is metrics::MetricsServiceClient::EnableMetricsDefault.
const char kMetricsDefaultOptIn[] = "user_experience_metrics.default_opt_in";
// Array of dictionaries that are each UMA logs that were supposed to be sent in
// the first minute of a browser session. These logs include things like crash
// count info, etc.
const char kMetricsInitialLogs[] = "user_experience_metrics.initial_logs2";
// An dictionary of information about the unsent initial logs, it was
// recorded when the unsent log is persisted and will be written into the
// metrics at the next browser starts up.
const char kMetricsInitialLogsMetadata[] =
"user_experience_metrics.unsent_log_metadata.initial_logs";
// A serialized representation of a base::UnguessableToken, used for randomizing
// limited entropy field trials.
const char kMetricsLimitedEntropyRandomizationSource[] =
"user_experience_metrics.limited_entropy_randomization_source";
// A counter tracking the most recently used finalized log record id. Increment
// this value by one (1) for each finalized log.
const char kMetricsLogFinalizedRecordId[] =
"user_experience_metrics.log_finalized_record_id";
// A counter tracking the most recently used log record id. Increment this value
// by one (1) for each newly created log.
const char kMetricsLogRecordId[] = "user_experience_metrics.log_record_id";
// Low entropy source values. The new source (with suffix "3") was created
// because the old source (with suffix "2") is biased in the wild. Clients which
// have an old source still incorporate it into the high entropy source, to
// avoid reshuffling experiments using high entropy, but use the new source for
// experiments requiring low entropy. Newer clients only have the new source,
// and use it both for low entropy experiments to to incorporate into the high
// entropy source for high entropy experiments. The pseudo low entropy source
// is not used for trial assignment, but only for statistical validation. It
// should be assigned in the same way as the new source (with suffix "3").
const char kMetricsLowEntropySource[] =
"user_experience_metrics.low_entropy_source3";
const char kMetricsOldLowEntropySource[] =
"user_experience_metrics.low_entropy_source2";
const char kMetricsPseudoLowEntropySource[] =
"user_experience_metrics.pseudo_low_entropy_source";
// A machine ID used to detect when underlying hardware changes. It is only
// stored locally and never transmitted in metrics reports.
const char kMetricsMachineId[] = "user_experience_metrics.machine_id";
// Array of dictionaries that are each UMA logs that were not sent because the
// browser terminated before these accumulated metrics could be sent. These
// logs typically include histograms and memory reports, as well as ongoing
// user activities.
const char kMetricsOngoingLogs[] = "user_experience_metrics.ongoing_logs2";
// An dictionary that is same as kUnsentLogMetkMetricsInitialLogsMetadata,
// but for the ongoing logs.
const char kMetricsOngoingLogsMetadata[] =
"user_experience_metrics.unsent_log_metadata.ongoing_logs";
// Boolean that indicates a cloned install has been detected and the metrics
// client id and low entropy source should be reset.
const char kMetricsResetIds[] = "user_experience_metrics.reset_metrics_ids";
#if BUILDFLAG(IS_ANDROID)
// Boolean that determines whether to use the new sampling trial
// "PostFREFixMetricsAndCrashSampling" and feature "PostFREFixMetricsReporting"
// to control sampling on Android Chrome. This is set to true when disabling
// metrics reporting, or on start up if metrics reporting is not consented to
// (including new users going through their first run). As a result, all new UMA
// users should have this pref set to true.
// Note: This exists due to a bug in which the old sampling rate was not being
// applied correctly. In order for the fix to not affect the overall sampling
// rate, this pref controls what trial/feature to use to determine whether the
// client is sampled. See crbug/1306481.
const char kUsePostFREFixSamplingTrial[] =
"user_experience_metrics.use_post_fre_fix_sampling_trial";
#endif // BUILDFLAG(IS_ANDROID)
// Boolean that specifies whether or not crash reporting and metrics reporting
// are sent over the network for analysis.
const char kMetricsReportingEnabled[] =
"user_experience_metrics.reporting_enabled";
// Date/time when the user opted in to UMA and generated the client id most
// recently (local machine time, stored as a 64-bit time_t value).
const char kMetricsReportingEnabledTimestamp[] =
"user_experience_metrics.client_id_timestamp";
// The metrics client session ID.
const char kMetricsSessionID[] = "user_experience_metrics.session_id";
// The prefix of the last-seen timestamp for persistent histogram files.
// Values are named for the files themselves.
const char kMetricsLastSeenPrefix[] = "user_experience_metrics.last_seen.";
// Array of the number of samples in the memory mapped file.
const char kMetricsFileMetricsMetadata[] =
"user_experience_metrics.file_metrics_metadata";
// The number of times the client has been reset due to cloned install.
const char kClonedResetCount[] = "cloned_install.count";
// The first timestamp when we reset a cloned client’s client id. This is only
// set once. Attached to metrics reports forever thereafter.
const char kFirstClonedResetTimestamp[] = "cloned_install.first_timestamp";
// The last timestamp the client is reset due to cloned install. This will be
// updated every time we reset the client due to cloned install.
const char kLastClonedResetTimestamp[] = "cloned_install.last_timestamp";
// The start of the latest session during which the install was detected as
// cloned. Not to be mixed up with the metrics ID reset moment recorded in
// `kLastClonedResetTimestamp`, which requires a restart after the clone
// detection. This one is intended as a reference point to check whether some
// other event happened on the original machine or on the clone. This will be
// updated every time a cloned install is detected, and cleared alongside the
// other `cloned_install` prefs on UMA opt-out.
const char kSessionStartTimestampForLastClonedDetection[] =
"cloned_install.session_start_last_detection_timestamp";
// A time stamp at which time the browser was known to be alive. Used to
// evaluate whether the browser crash was due to a whole system crash.
// At minimum this is updated each time the "exited_cleanly" preference is
// modified, but can also be optionally updated on a slow schedule.
const char kStabilityBrowserLastLiveTimeStamp[] =
"user_experience_metrics.stability.browser_last_live_timestamp";
// Number of times the application exited uncleanly since the last report
// due to a gms core update.
const char kStabilityCrashCountDueToGmsCoreUpdate[] =
"user_experience_metrics.stability.crash_count_due_to_gms_core_update";
// True if the previous run of the program exited cleanly.
const char kStabilityExitedCleanly[] =
"user_experience_metrics.stability.exited_cleanly";
// The total number of samples that will be lost if ASSOCIATE_INTERNAL_PROFILE
// isn't enabled since the previous stability recorded, this is different than
// the previous browser run, because one file was just uploaded before the
// stability is recorded.
const char kStabilityFileMetricsUnsentSamplesCount[] =
"user_experience_metrics.stability.file_metrics_unsent_samples_count";
// The number of the unsent files at the time the stability recorded.
const char kStabilityFileMetricsUnsentFilesCount[] =
"user_experience_metrics.stability.file_metrics_unsent_files_count";
// The GMS core version used in Chrome.
const char kStabilityGmsCoreVersion[] =
"user_experience_metrics.stability.gms_core_version";
#if BUILDFLAG(IS_ANDROID)
// Number of times the application was launched since last report. Used on
// Android platforms as WebView may still be interested in this metric.
const char kStabilityLaunchCount[] =
"user_experience_metrics.stability.launch_count";
// Number of times a page load event occurred since the last report.
const char kStabilityPageLoadCount[] =
"user_experience_metrics.stability.page_load_count";
// Number of times a renderer process successfully launched since the last
// report. Used on Android platforms as WebView may still be interested in this
// metric.
const char kStabilityRendererLaunchCount[] =
"user_experience_metrics.stability.renderer_launch_count";
#endif
// Base64 encoded serialized UMA system profile proto from the previous session.
const char kStabilitySavedSystemProfile[] =
"user_experience_metrics.stability.saved_system_profile";
// SHA-1 hash of the serialized UMA system profile proto (hex encoded).
const char kStabilitySavedSystemProfileHash[] =
"user_experience_metrics.stability.saved_system_profile_hash";
// Build time, in seconds since an epoch, which is used to assure that stability
// metrics reported reflect stability of the same build.
const char kStabilityStatsBuildTime[] =
"user_experience_metrics.stability.stats_buildtime";
// Version string of previous run, which is used to assure that stability
// metrics reported under current version reflect stability of the same version.
const char kStabilityStatsVersion[] =
"user_experience_metrics.stability.stats_version";
// Number of times the application exited uncleanly and the system session
// embedding the browser session ended abnormally since the last report.
// Windows only.
const char kStabilitySystemCrashCount[] =
"user_experience_metrics.stability.system_crash_count";
// Dictionary for measuring cellular data used by UKM service during last 7
// days.
const char kUkmCellDataUse[] = "user_experience_metrics.ukm_cell_datause";
// Dictionary for measuring cellular data used by UMA service during last 7
// days.
const char kUmaCellDataUse[] = "user_experience_metrics.uma_cell_datause";
// Dictionary for measuring cellular data used by user including chrome services
// per day.
const char kUserCellDataUse[] = "user_experience_metrics.user_call_datause";
// String for holding user ID associated with the current ongoing UMA
// log. This pref will be used to determine whether to send metrics in case
// of a crash.
const char kMetricsCurrentUserId[] = "metrics.current_user_id";
} // namespace prefs
} // namespace metrics
|