blob: 1f4b3efc14b88bfa4f884d5d88854b42b4e51034 [file] [log] [blame]
// Copyright 2018 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 = "proto2";
option optimize_for = LITE_RUNTIME;
// Contains the information that we want to track about a given site feature.
// Next Id: 3
message SiteCharacteristicsFeatureProto {
// 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 SiteCharacteristicsPerformanceMeasurement {
// 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 characteristics that we want to track about a given site.
// Next Id: 7
message SiteCharacteristicsProto {
// 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 SiteCharacteristicsFeatureProto updates_favicon_in_background = 2;
optional SiteCharacteristicsFeatureProto updates_title_in_background = 3;
optional SiteCharacteristicsFeatureProto uses_audio_in_background = 4;
optional SiteCharacteristicsFeatureProto 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 SiteCharacteristicsPerformanceMeasurement load_time_estimates = 6;
}