// 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;
package content.devtools.proto;
// The background service we are logging events for.
// Do not change the tags since these are persisted.
// Add a corresponding entry in `enums.xml` if a new value is introduced.
enum BackgroundService {
UNKNOWN = 0;
TEST_BACKGROUND_SERVICE = 1;
BACKGROUND_FETCH = 2;
BACKGROUND_SYNC = 3;
PUSH_MESSAGING = 4;
NOTIFICATIONS = 5;
PAYMENT_HANDLER = 6;
PERIODIC_BACKGROUND_SYNC = 7;
// Keep as last, must have the largest tag value.
COUNT = 8;
}
// A proto for storing the background service event with common metadata for
// all events.
//
// Next Tag: 9
message BackgroundServiceEvent {
// Microseconds since windows epoch.
optional int64 timestamp = 1;
// The origin's URL spec.
optional string origin = 2;
optional int64 service_worker_registration_id = 3;
optional BackgroundService background_service = 4;
// A descriptive name for the event that is being logged.
optional string event_name = 5;
// The instance this event belongs to. This is for grouping related events.
// For example for Background Fetch and Background Sync, this would be the
// developer provided ID to create the fetch/sync.
optional string instance_id = 6;
// Additional custom information related to this event.
map<string, string> event_metadata = 7;
// Storage key the background service belongs to.
optional string storage_key = 8;
}