// Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // Sync protocol for debug info clients can send to the sync server. // If you change or add any fields in this file, update proto_visitors.h and // potentially proto_enum_conversions.{h, cc}. syntax = "proto2"; option go_package = "./sync_pb"; option java_multiple_files = true; option java_package = "org.chromium.components.sync.protocol"; option optimize_for = LITE_RUNTIME; package sync_pb; import "get_updates_caller_info.proto"; import "sync_enums.proto"; // Per-type hint information. message TypeHint { // The data type this hint applied to. optional int32 data_type_id = 1; // Whether or not a valid hint is provided. optional bool has_valid_hint = 2; } // The additional info here is from the StatusController. They get sent when // the event SYNC_CYCLE_COMPLETED is sent. message SyncCycleCompletedEventInfo { reserved 1; reserved "syncer_stuck"; reserved 2; reserved "num_blocking_conflicts"; reserved 3; reserved "num_non_blocking_conflicts"; // These new conflict counters replace the ones above. // TODO(crbug.com/1315573): Deprecated in M103. optional int32 num_encryption_conflicts = 4 [deprecated = true]; optional int32 num_hierarchy_conflicts = 5 [deprecated = true]; optional int32 num_simple_conflicts = 6; // No longer sent since M24. optional int32 num_server_conflicts = 7; // Counts to track the effective usefulness of our GetUpdate requests. optional int32 num_updates_downloaded = 8; // TODO(crbug.com/1315573): Deprecated in M103. optional int32 num_reflected_updates_downloaded = 9 [deprecated = true]; // |caller_info| was mostly replaced by |get_updates_origin|; now it only // contains the |notifications_enabled| flag. optional GetUpdatesCallerInfo caller_info = 10; // Deprecated in M67. reserved 11; reserved "source_info"; optional SyncEnums.GetUpdatesOrigin get_updates_origin = 12; } message DebugEventInfo { // Each of the following fields correspond to different kinds of events. as // a result, only one is set during any single DebugEventInfo. // A singleton event. See enum definition. optional SyncEnums.SingletonDebugEventType singleton_event = 1; // A sync cycle completed. optional SyncCycleCompletedEventInfo sync_cycle_completed_event_info = 2; // A datatype triggered a nudge. optional int32 nudging_datatype = 3; // A notification triggered a nudge. repeated int32 datatypes_notified_from_server = 4; reserved "datatype_association_stats"; reserved 5; } message DebugInfo { repeated DebugEventInfo events = 1; // Whether cryptographer is ready to encrypt and decrypt data. optional bool cryptographer_ready = 2; // Cryptographer has pending keys which indicates the correct passphrase // has not been provided yet. optional bool cryptographer_has_pending_keys = 3; // Indicates client has dropped some events to save bandwidth. optional bool events_dropped = 4; }