perfetto-protos
Version:
Perfetto protos exposed via protobuf-es for browser and node
302 lines (261 loc) • 10.8 kB
text/typescript
//
// Copyright (C) 2020 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
// @generated from file protos/perfetto/trace/track_event/chrome_frame_reporter.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";
/**
* Describes the file protos/perfetto/trace/track_event/chrome_frame_reporter.proto.
*/
export const file_protos_perfetto_trace_track_event_chrome_frame_reporter: GenFile = /*@__PURE__*/
fileDesc("Cj1wcm90b3MvcGVyZmV0dG8vdHJhY2UvdHJhY2tfZXZlbnQvY2hyb21lX2ZyYW1lX3JlcG9ydGVyLnByb3RvEg9wZXJmZXR0by5wcm90b3MioggKE0Nocm9tZUZyYW1lUmVwb3J0ZXISOQoFc3RhdGUYASABKA4yKi5wZXJmZXR0by5wcm90b3MuQ2hyb21lRnJhbWVSZXBvcnRlci5TdGF0ZRJECgZyZWFzb24YAiABKA4yNC5wZXJmZXR0by5wcm90b3MuQ2hyb21lRnJhbWVSZXBvcnRlci5GcmFtZURyb3BSZWFzb24SFAoMZnJhbWVfc291cmNlGAMgASgEEhYKDmZyYW1lX3NlcXVlbmNlGAQgASgEEhoKEmFmZmVjdHNfc21vb3RobmVzcxgFIAEoCBJGCgxzY3JvbGxfc3RhdGUYBiABKA4yMC5wZXJmZXR0by5wcm90b3MuQ2hyb21lRnJhbWVSZXBvcnRlci5TY3JvbGxTdGF0ZRIaChJoYXNfbWFpbl9hbmltYXRpb24YByABKAgSIAoYaGFzX2NvbXBvc2l0b3JfYW5pbWF0aW9uGAggASgIEh0KFWhhc19zbW9vdGhfaW5wdXRfbWFpbhgJIAEoCBIbChNoYXNfbWlzc2luZ19jb250ZW50GAogASgIEhoKEmxheWVyX3RyZWVfaG9zdF9pZBgLIAEoBBIYChBoYXNfaGlnaF9sYXRlbmN5GAwgASgIEkIKCmZyYW1lX3R5cGUYDSABKA4yLi5wZXJmZXR0by5wcm90b3MuQ2hyb21lRnJhbWVSZXBvcnRlci5GcmFtZVR5cGUSJwofaGlnaF9sYXRlbmN5X2NvbnRyaWJ1dGlvbl9zdGFnZRgOIAMoCRIjChtjaGVja2VyYm9hcmRlZF9uZWVkc19yYXN0ZXIYDyABKAgSIwobY2hlY2tlcmJvYXJkZWRfbmVlZHNfcmVjb3JkGBAgASgIIm0KBVN0YXRlEhsKF1NUQVRFX05PX1VQREFURV9ERVNJUkVEEAASFwoTU1RBVEVfUFJFU0VOVEVEX0FMTBABEhsKF1NUQVRFX1BSRVNFTlRFRF9QQVJUSUFMEAISEQoNU1RBVEVfRFJPUFBFRBADIn4KD0ZyYW1lRHJvcFJlYXNvbhIWChJSRUFTT05fVU5TUEVDSUZJRUQQABIdChlSRUFTT05fRElTUExBWV9DT01QT1NJVE9SEAESFgoSUkVBU09OX01BSU5fVEhSRUFEEAISHAoYUkVBU09OX0NMSUVOVF9DT01QT1NJVE9SEAMiewoLU2Nyb2xsU3RhdGUSDwoLU0NST0xMX05PTkUQABIWChJTQ1JPTExfTUFJTl9USFJFQUQQARIcChhTQ1JPTExfQ09NUE9TSVRPUl9USFJFQUQQAhIRCg1TQ1JPTExfUkFTVEVSEAMSEgoOU0NST0xMX1VOS05PV04QBCIlCglGcmFtZVR5cGUSCgoGRk9SS0VEEAASDAoIQkFDS0ZJTEwQAQ");
/**
* @generated from message perfetto.protos.ChromeFrameReporter
*/
export type ChromeFrameReporter = Message<"perfetto.protos.ChromeFrameReporter"> & {
/**
* @generated from field: optional perfetto.protos.ChromeFrameReporter.State state = 1;
*/
state: ChromeFrameReporter_State;
/**
* The reason is set only if |state| is not |STATE_UPDATED_ALL|.
*
* @generated from field: optional perfetto.protos.ChromeFrameReporter.FrameDropReason reason = 2;
*/
reason: ChromeFrameReporter_FrameDropReason;
/**
* @generated from field: optional uint64 frame_source = 3;
*/
frameSource: bigint;
/**
* @generated from field: optional uint64 frame_sequence = 4;
*/
frameSequence: bigint;
/**
* If this is a droped frame (i.e. if |state| is set to |STATE_DROPPED| or
* |STATE_PRESENTED_PARTIAL|), then indicates whether this frame impacts
* smoothness.
*
* @generated from field: optional bool affects_smoothness = 5;
*/
affectsSmoothness: boolean;
/**
* The type of active scroll.
*
* @generated from field: optional perfetto.protos.ChromeFrameReporter.ScrollState scroll_state = 6;
*/
scrollState: ChromeFrameReporter_ScrollState;
/**
* If any main thread animation is active during this frame.
*
* @generated from field: optional bool has_main_animation = 7;
*/
hasMainAnimation: boolean;
/**
* If any compositor thread animation is active during this frame.
*
* @generated from field: optional bool has_compositor_animation = 8;
*/
hasCompositorAnimation: boolean;
/**
* If any touch-driven UX (not scroll) is active during this frame.
*
* @generated from field: optional bool has_smooth_input_main = 9;
*/
hasSmoothInputMain: boolean;
/**
* Whether the frame contained any missing content (i.e. whether there was
* checkerboarding in the frame). If has_missing_content,
* checkerboarded_needs_raster and checkerboarded_needs_record all have
* values, has_missing_content should equal checkerboarded_needs_raster ||
* checkerboarded_needs_record.
*
* @generated from field: optional bool has_missing_content = 10;
*/
hasMissingContent: boolean;
/**
* The id of layer_tree_host that the frame has been produced for.
*
* @generated from field: optional uint64 layer_tree_host_id = 11;
*/
layerTreeHostId: bigint;
/**
* If total latency of PipelineReporter exceeds a certain limit.
*
* @generated from field: optional bool has_high_latency = 12;
*/
hasHighLatency: boolean;
/**
* Indicate if the frame is "FORKED" (i.e. a PipelineReporter event starts at
* the same frame sequence as another PipelineReporter) or "BACKFILL"
* (i.e. dropped frames when there are no partial compositor updates).
*
* @generated from field: optional perfetto.protos.ChromeFrameReporter.FrameType frame_type = 13;
*/
frameType: ChromeFrameReporter_FrameType;
/**
* The breakdown stage of PipelineReporter that is most likely accountable for
* high latency.
*
* @generated from field: repeated string high_latency_contribution_stage = 14;
*/
highLatencyContributionStage: string[];
/**
* Whether the frame contained any content that is not fully rastered.
*
* @generated from field: optional bool checkerboarded_needs_raster = 15;
*/
checkerboardedNeedsRaster: boolean;
/**
* Whether the frame contained any content that is not fully recorded.
*
* @generated from field: optional bool checkerboarded_needs_record = 16;
*/
checkerboardedNeedsRecord: boolean;
};
/**
* Describes the message perfetto.protos.ChromeFrameReporter.
* Use `create(ChromeFrameReporterSchema)` to create a new message.
*/
export const ChromeFrameReporterSchema: GenMessage<ChromeFrameReporter> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_track_event_chrome_frame_reporter, 0);
/**
* @generated from enum perfetto.protos.ChromeFrameReporter.State
*/
export enum ChromeFrameReporter_State {
/**
* The frame did not have any updates to present.
*
* @generated from enum value: STATE_NO_UPDATE_DESIRED = 0;
*/
NO_UPDATE_DESIRED = 0,
/**
* The frame presented all the desired updates (i.e. any updates requested
* from both the compositor thread and main-threads were handled).
*
* @generated from enum value: STATE_PRESENTED_ALL = 1;
*/
PRESENTED_ALL = 1,
/**
* The frame was presented with some updates, but also missed some updates
* (e.g. missed updates from the main-thread, but included updates from the
* compositor thread).
*
* @generated from enum value: STATE_PRESENTED_PARTIAL = 2;
*/
PRESENTED_PARTIAL = 2,
/**
* The frame was dropped, i.e. some updates were desired for the frame, but
* was not presented.
*
* @generated from enum value: STATE_DROPPED = 3;
*/
DROPPED = 3,
}
/**
* Describes the enum perfetto.protos.ChromeFrameReporter.State.
*/
export const ChromeFrameReporter_StateSchema: GenEnum<ChromeFrameReporter_State> = /*@__PURE__*/
enumDesc(file_protos_perfetto_trace_track_event_chrome_frame_reporter, 0, 0);
/**
* @generated from enum perfetto.protos.ChromeFrameReporter.FrameDropReason
*/
export enum ChromeFrameReporter_FrameDropReason {
/**
* @generated from enum value: REASON_UNSPECIFIED = 0;
*/
REASON_UNSPECIFIED = 0,
/**
* Frame was dropped by the display-compositor.
* The display-compositor may drop a frame some times (e.g. the frame missed
* the deadline, or was blocked on surface-sync, etc.)
*
* @generated from enum value: REASON_DISPLAY_COMPOSITOR = 1;
*/
REASON_DISPLAY_COMPOSITOR = 1,
/**
* Frame was dropped because of the main-thread.
* The main-thread may cause a frame to be dropped, e.g. if the main-thread
* is running expensive javascript, or doing a lot of layout updates, etc.
*
* @generated from enum value: REASON_MAIN_THREAD = 2;
*/
REASON_MAIN_THREAD = 2,
/**
* Frame was dropped by the client compositor.
* The client compositor can drop some frames too (e.g. attempting to
* recover latency, missing the deadline, etc.).
*
* @generated from enum value: REASON_CLIENT_COMPOSITOR = 3;
*/
REASON_CLIENT_COMPOSITOR = 3,
}
/**
* Describes the enum perfetto.protos.ChromeFrameReporter.FrameDropReason.
*/
export const ChromeFrameReporter_FrameDropReasonSchema: GenEnum<ChromeFrameReporter_FrameDropReason> = /*@__PURE__*/
enumDesc(file_protos_perfetto_trace_track_event_chrome_frame_reporter, 0, 1);
/**
* @generated from enum perfetto.protos.ChromeFrameReporter.ScrollState
*/
export enum ChromeFrameReporter_ScrollState {
/**
* @generated from enum value: SCROLL_NONE = 0;
*/
SCROLL_NONE = 0,
/**
* @generated from enum value: SCROLL_MAIN_THREAD = 1;
*/
SCROLL_MAIN_THREAD = 1,
/**
* @generated from enum value: SCROLL_COMPOSITOR_THREAD = 2;
*/
SCROLL_COMPOSITOR_THREAD = 2,
/**
* @generated from enum value: SCROLL_RASTER = 3;
*/
SCROLL_RASTER = 3,
/**
* Used when it can't be determined whether a scroll is in progress or not.
*
* @generated from enum value: SCROLL_UNKNOWN = 4;
*/
SCROLL_UNKNOWN = 4,
}
/**
* Describes the enum perfetto.protos.ChromeFrameReporter.ScrollState.
*/
export const ChromeFrameReporter_ScrollStateSchema: GenEnum<ChromeFrameReporter_ScrollState> = /*@__PURE__*/
enumDesc(file_protos_perfetto_trace_track_event_chrome_frame_reporter, 0, 2);
/**
* @generated from enum perfetto.protos.ChromeFrameReporter.FrameType
*/
export enum ChromeFrameReporter_FrameType {
/**
* @generated from enum value: FORKED = 0;
*/
FORKED = 0,
/**
* @generated from enum value: BACKFILL = 1;
*/
BACKFILL = 1,
}
/**
* Describes the enum perfetto.protos.ChromeFrameReporter.FrameType.
*/
export const ChromeFrameReporter_FrameTypeSchema: GenEnum<ChromeFrameReporter_FrameType> = /*@__PURE__*/
enumDesc(file_protos_perfetto_trace_track_event_chrome_frame_reporter, 0, 3);