diff options
Diffstat (limited to 'protos/perfetto/trace/track_event/track_event.proto')
-rw-r--r-- | protos/perfetto/trace/track_event/track_event.proto | 102 |
1 files changed, 10 insertions, 92 deletions
diff --git a/protos/perfetto/trace/track_event/track_event.proto b/protos/perfetto/trace/track_event/track_event.proto index 9c2952fd9..3825b768f 100644 --- a/protos/perfetto/trace/track_event/track_event.proto +++ b/protos/perfetto/trace/track_event/track_event.proto @@ -19,20 +19,12 @@ syntax = "proto2"; import "protos/perfetto/trace/track_event/debug_annotation.proto"; import "protos/perfetto/trace/track_event/log_message.proto"; import "protos/perfetto/trace/track_event/task_execution.proto"; -import "protos/perfetto/trace/track_event/chrome_application_state_info.proto"; import "protos/perfetto/trace/track_event/chrome_compositor_scheduler_state.proto"; -import "protos/perfetto/trace/track_event/chrome_content_settings_event_info.proto"; -import "protos/perfetto/trace/track_event/chrome_frame_reporter.proto"; import "protos/perfetto/trace/track_event/chrome_histogram_sample.proto"; import "protos/perfetto/trace/track_event/chrome_keyed_service.proto"; import "protos/perfetto/trace/track_event/chrome_latency_info.proto"; import "protos/perfetto/trace/track_event/chrome_legacy_ipc.proto"; -import "protos/perfetto/trace/track_event/chrome_message_pump.proto"; -import "protos/perfetto/trace/track_event/chrome_mojo_event_info.proto"; -import "protos/perfetto/trace/track_event/chrome_renderer_scheduler_state.proto"; import "protos/perfetto/trace/track_event/chrome_user_event.proto"; -import "protos/perfetto/trace/track_event/chrome_window_handle_event_info.proto"; -import "protos/perfetto/trace/track_event/source_location.proto"; package perfetto.protos; @@ -45,7 +37,6 @@ package perfetto.protos; // referred to via the track's UUID. // // A simple TrackEvent packet specifies a timestamp, category, name and type: -// ```protobuf // trace_packet { // timestamp: 1000 // track_event { @@ -54,11 +45,9 @@ package perfetto.protos; // type: TYPE_INSTANT // } // } -// ``` // // To associate an event with a custom track (e.g. a thread), the track is // defined in a separate packet and referred to from the TrackEvent by its UUID: -// ```protobuf // trace_packet { // track_descriptor { // track_uuid: 1234 @@ -72,11 +61,8 @@ package perfetto.protos; // } // } // } -// ``` // // A pair of TYPE_SLICE_BEGIN and _END events form a slice on the track: -// -// ```protobuf // trace_packet { // timestamp: 1200 // track_event { @@ -93,7 +79,7 @@ package perfetto.protos; // type: TYPE_SLICE_END // } // } -// ``` +// // TrackEvents also support optimizations to reduce data repetition and encoded // data size, e.g. through data interning (names, categories, ...) and delta // encoding of timestamps/counters. For details, see the InternedData message. @@ -101,14 +87,12 @@ package perfetto.protos; // their default track association) can be emitted as part of a // TrackEventDefaults message. // -// Next reserved id: 13 (up to 15). Next id: 47. +// Next reserved id: 13 (up to 15). Next id: 32. message TrackEvent { // Names of categories of the event. In the client library, categories are a // way to turn groups of individual events on or off. - // interned EventCategoryName. - repeated uint64 category_iids = 3; - // non-interned variant. - repeated string categories = 22; + repeated uint64 category_iids = 3; // interned EventCategoryName. + repeated string categories = 22; // non-interned variant. // Optional name of the event for its display in trace viewer. May be left // unspecified for events with typed arguments. @@ -117,10 +101,8 @@ message TrackEvent { // changing. Instead, they should use typed arguments to identify the events // they are interested in. oneof name_field { - // interned EventName. - uint64 name_iid = 10; - // non-interned variant. - string name = 23; + uint64 name_iid = 10; // interned EventName. + string name = 23; // non-interned variant. } // TODO(eseckler): Support using binary symbols for category/event names. @@ -173,10 +155,7 @@ message TrackEvent { // of a slice, see |extra_counter_values| and |extra_counter_track_uuids|. // Counter values can optionally be encoded in as delta values (positive or // negative) on each packet sequence (see CounterIncrementalBase). - oneof counter_value_field { - int64 counter_value = 30; - double double_counter_value = 44; - } + optional int64 counter_value = 30; // To encode counter values more efficiently, we support attaching additional // counter values to a TrackEvent of any type. All values will share the same @@ -195,31 +174,7 @@ message TrackEvent { repeated uint64 extra_counter_track_uuids = 31; repeated int64 extra_counter_values = 12; - // Counter snapshots using floating point instead of integer values. - repeated uint64 extra_double_counter_track_uuids = 45; - repeated double extra_double_counter_values = 46; - - // IDs of flows originating, passing through, or ending at this event. - // Flow IDs are global within a trace. - // - // A flow connects a sequence of TrackEvents within or across tracks, e.g. - // an input event may be handled on one thread but cause another event on - // a different thread - a flow between the two events can associate them. - // - // The direction of the flows between events is inferred from the events' - // timestamps. The earliest event with the same flow ID becomes the source - // of the flow. Any events thereafter are intermediate steps of the flow, - // until the flow terminates at the last event with the flow ID. - // - // Flows can also be explicitly terminated (see |terminating_flow_ids|), so - // that the same ID can later be reused for another flow. - repeated uint64 flow_ids = 36; - - // List of flow ids which should terminate on this event, otherwise same as - // |flow_ids|. - // Any one flow ID should be either listed as part of |flow_ids| OR - // |terminating_flow_ids|, not both. - repeated uint64 terminating_flow_ids = 42; + // TODO(eseckler): Add flow event support. // --------------------------------------------------------------------------- // TrackEvent arguments: @@ -238,42 +193,8 @@ message TrackEvent { optional ChromeLegacyIpc chrome_legacy_ipc = 27; optional ChromeHistogramSample chrome_histogram_sample = 28; optional ChromeLatencyInfo chrome_latency_info = 29; - optional ChromeFrameReporter chrome_frame_reporter = 32; - optional ChromeApplicationStateInfo chrome_application_state_info = 39; - optional ChromeRendererSchedulerState chrome_renderer_scheduler_state = 40; - optional ChromeWindowHandleEventInfo chrome_window_handle_event_info = 41; - optional ChromeContentSettingsEventInfo chrome_content_settings_event_info = - 43; - - // This field is used only if the source location represents the function that - // executes during this event. - oneof source_location_field { - // Non-interned field. - SourceLocation source_location = 33; - // Interned field. - uint64 source_location_iid = 34; - } - - optional ChromeMessagePump chrome_message_pump = 35; - optional ChromeMojoEventInfo chrome_mojo_event_info = 38; - // New argument types go here :) - // Extension range for typed events defined externally. - // See docs/design-docs/extensions.md for more details. - // - // Extension support is work-in-progress, in the future the way to reserve a - // subrange for a particular project will be described here and in the design - // document linked above. - // - // Contact perfetto-dev@googlegroups.com if you are interested in a subrange - // for your project. - - // Extension range for future use. - extensions 1000 to 9899; - // Reserved for Perfetto unit and integration tests. - extensions 9900 to 10000; - // --------------------------------------------------------------------------- // Deprecated / legacy event fields, which will be removed in the future: // --------------------------------------------------------------------------- @@ -332,8 +253,7 @@ message TrackEvent { // Next id: 20. message LegacyEvent { // Deprecated, use TrackEvent::name(_iid) instead. - // interned EventName. - optional uint64 name_iid = 1; + optional uint64 name_iid = 1; // interned EventName. optional int32 phase = 2; optional int64 duration_us = 3; optional int64 thread_duration_us = 4; @@ -341,8 +261,7 @@ message TrackEvent { // Elapsed retired instruction count during the event. optional int64 thread_instruction_delta = 15; - // used to be |flags|. - reserved 5; + reserved 5; // used to be |flags|. oneof id { uint64 unscoped_id = 6; @@ -395,7 +314,6 @@ message TrackEvent { message TrackEventDefaults { optional uint64 track_uuid = 11; repeated uint64 extra_counter_track_uuids = 31; - repeated uint64 extra_double_counter_track_uuids = 45; // TODO(eseckler): Support default values for more TrackEvent fields. } |