| // Copyright 2021 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; |
| |
| package metrics.structured; |
| |
| import "structured_data.proto"; |
| |
| // These protos are used for storing key and event information for structured |
| // metrics. All changes should be backwards-compatible. This file is manually |
| // synced between chromium and platform2. Any changes should first be made to |
| // chromium and then copied to platform2. |
| // |
| // chromium path: components/metrics/structured/storage.proto |
| // platform2 path: metrics/structured/proto/storage.proto |
| |
| // All information about the key for a single project. |
| message KeyProto { |
| // The key itself. |
| optional string key = 1; |
| |
| // When the key was last rotated, in days since the unix epoch. |
| optional int64 last_rotation = 2; |
| |
| // The maximum number of days between rotations. |
| optional int64 rotation_period = 3; |
| } |
| |
| // Stores keys for all projects. |
| message KeyDataProto { |
| // Maps the first 8 bytes of the MD5 hash of the project name to that |
| // project's key. |
| map<fixed64, KeyProto> keys = 1; |
| } |
| |
| // On-device storage for events that have been recorded but not yet uploaded. |
| message EventsProto { |
| // Events not associated with the UMA client_id. |
| repeated StructuredEventProto non_uma_events = 1; |
| |
| // Events associated with the UMA client_id. |
| repeated StructuredEventProto uma_events = 2; |
| } |