// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
// Contains the information that we want to track about a given site feature.
// Next Id: 3
message SiteDataFeatureProto {
// The cumulative observation time for this feature in seconds, set to 0 once
// this feature has been observed.
optional int64 observation_duration = 1;
// The time at which this feature has been used (set to 0 if it hasn't been
// used), in seconds since epoch.
optional int64 use_timestamp = 2;
}
// Contains decaying average performance measurement estimates.
// Next Id: 4
message SiteDataPerformanceMeasurement {
// A decaying average of the CPU usage measurements. Units: microseconds.
optional float avg_cpu_usage_us = 1;
// A decaying average of the process footprint measurements. Units: kilobytes.
optional float avg_footprint_kb = 2;
// A decaying average of the duration from navigation commit to "loaded".
// Units: microseconds.
optional float avg_load_duration_us = 3;
};
// Defines the data that we want to track about a given site.
// Next Id: 7
message SiteDataProto {
// The last time this site has been in the loaded state, in seconds since
// epoch.
optional uint32 last_loaded = 1;
// List of features that we're tracking.
optional SiteDataFeatureProto updates_favicon_in_background = 2;
optional SiteDataFeatureProto updates_title_in_background = 3;
optional SiteDataFeatureProto uses_audio_in_background = 4;
optional SiteDataFeatureProto deprecated_uses_notifications_in_background = 5;
// Load time performance measurement estimates. This maintains a decaying
// average of the resource usage of a page until shortly after it becomes
// idle.
optional SiteDataPerformanceMeasurement load_time_estimates = 6;
}