chromium/components/feature_engagement/internal/proto/feature_event.proto

// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// feature_engagement::EventModel content.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package feature_engagement;

// Event stores state for a specific event a count per day it has happened.
message Event {
  // Count stores a day, how many times something happened that
  // day, and how many time it has been snoozed.
  message Count {
    optional uint32 day = 1;
    optional uint32 count = 2;
    optional uint32 snooze_count = 3;
  }

  // The descriptive name of the event.
  optional string name = 1;

  // Per-day aggregation of event details.
  repeated Count events = 2;

  // The most recent timestamp of when this feature was snoozed.
  optional int64 last_snooze_time_us = 3;

  // Whether the user has explicitly dismissed the snooze.
  optional bool snooze_dismissed = 4;
}