// Copyright 2020 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. syntax = "proto3"; package org.chromium.android_webview.proto; option optimize_for = LITE_RUNTIME; // TODO(crbug/800281): Remove this after proto 4.0 option java_package = "org.chromium.android_webview.proto"; // WebView uses HistogramRecord to serialize a histogram record that // MetricsBridgeService receives to a file and retrieve it back. These // histogram records are recorded in non-embedded WebView processes. // // Next tag: 9 message HistogramRecord { // Next tag: 5 enum RecordType { HISTOGRAM_BOOLEAN = 0; HISTOGRAM_EXPONENTIAL = 1; HISTOGRAM_LINEAR = 2; HISTOGRAM_SPARSE = 3; USER_ACTION = 4; } RecordType record_type = 1; // The name of the histogram string histogram_name = 2; // The sample to be recorded, for HISTOGRAM_BOOLEAN it's either 0 for false // and 1 for true. int32 sample = 3; // The following fields are only used by HISTOGRAM_EXPONENTIAL and // HISTOGRAM_LINEAR See the docs for // org.chromium.base.metrics.UmaRecorder#recordExponentialHistogram // and recordLinearHistogram for more info on these fields. // the smallest value recorded in the first bucket; should be greater than // zero. int32 min = 4; // the smallest value recorded in the overflow bucket. int32 max = 5; // number of histogram buckets: Two buckets are used for underflow and // overflow, and the remaining buckets cover the range [min, max); // numBuckets should be 100 or less. int32 num_buckets = 6; // Metadata for the histogram record. // Next tag: 2 message Metadata { // The time in millis when the histogram is received by the // AwNonEmbeddedUmaRecorder int64 time_recorded = 1; } Metadata metadata = 7; // Used for |record_type| == USER_ACTION only. int64 elapsed_realtime_millis = 8; }