perfetto-protos
Version:
Perfetto protos exposed via protobuf-es for browser and node
238 lines • 8.34 kB
TypeScript
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";
/**
* Describes the file protos/perfetto/trace/track_event/chrome_frame_reporter.proto.
*/
export declare const file_protos_perfetto_trace_track_event_chrome_frame_reporter: GenFile;
/**
* @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 declare const ChromeFrameReporterSchema: GenMessage<ChromeFrameReporter>;
/**
* @generated from enum perfetto.protos.ChromeFrameReporter.State
*/
export declare 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 declare const ChromeFrameReporter_StateSchema: GenEnum<ChromeFrameReporter_State>;
/**
* @generated from enum perfetto.protos.ChromeFrameReporter.FrameDropReason
*/
export declare 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 declare const ChromeFrameReporter_FrameDropReasonSchema: GenEnum<ChromeFrameReporter_FrameDropReason>;
/**
* @generated from enum perfetto.protos.ChromeFrameReporter.ScrollState
*/
export declare 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 declare const ChromeFrameReporter_ScrollStateSchema: GenEnum<ChromeFrameReporter_ScrollState>;
/**
* @generated from enum perfetto.protos.ChromeFrameReporter.FrameType
*/
export declare 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 declare const ChromeFrameReporter_FrameTypeSchema: GenEnum<ChromeFrameReporter_FrameType>;
//# sourceMappingURL=chrome_frame_reporter_pb.d.ts.map