UNPKG

perfetto-protos

Version:

Perfetto protos exposed via protobuf-es for browser and node

463 lines 16.6 kB
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file protos/perfetto/trace/android/frame_timeline_event.proto. */ export declare const file_protos_perfetto_trace_android_frame_timeline_event: GenFile; /** * Generated by SurfaceFlinger's FrameTimeline (go/adaptive-scheduling-fr). * Used in comparing the expected timeline of a frame to the actual timeline. * Key terms: * 1) DisplayFrame - represents SurfaceFlinger's work on a frame(composited) * 2) SurfaceFrame - represents App's work on its frame * 3) Timeline = start to end of a component's(app/SF) work on a frame. * SurfaceFlinger composites frames from many apps together, so * One DisplayFrame can map to N SurfaceFrame(s) * This relationship can be reconstructed by using * DisplayFrame.token = SurfaceFrame.display_frame_token * * @generated from message perfetto.protos.FrameTimelineEvent */ export type FrameTimelineEvent = Message<"perfetto.protos.FrameTimelineEvent"> & { /** * @generated from oneof perfetto.protos.FrameTimelineEvent.event */ event: { /** * @generated from field: perfetto.protos.FrameTimelineEvent.ExpectedDisplayFrameStart expected_display_frame_start = 1; */ value: FrameTimelineEvent_ExpectedDisplayFrameStart; case: "expectedDisplayFrameStart"; } | { /** * @generated from field: perfetto.protos.FrameTimelineEvent.ActualDisplayFrameStart actual_display_frame_start = 2; */ value: FrameTimelineEvent_ActualDisplayFrameStart; case: "actualDisplayFrameStart"; } | { /** * @generated from field: perfetto.protos.FrameTimelineEvent.ExpectedSurfaceFrameStart expected_surface_frame_start = 3; */ value: FrameTimelineEvent_ExpectedSurfaceFrameStart; case: "expectedSurfaceFrameStart"; } | { /** * @generated from field: perfetto.protos.FrameTimelineEvent.ActualSurfaceFrameStart actual_surface_frame_start = 4; */ value: FrameTimelineEvent_ActualSurfaceFrameStart; case: "actualSurfaceFrameStart"; } | { /** * @generated from field: perfetto.protos.FrameTimelineEvent.FrameEnd frame_end = 5; */ value: FrameTimelineEvent_FrameEnd; case: "frameEnd"; } | { case: undefined; value?: undefined; }; }; /** * Describes the message perfetto.protos.FrameTimelineEvent. * Use `create(FrameTimelineEventSchema)` to create a new message. */ export declare const FrameTimelineEventSchema: GenMessage<FrameTimelineEvent>; /** * Indicates the start of expected timeline slice for SurfaceFrames. * * @generated from message perfetto.protos.FrameTimelineEvent.ExpectedSurfaceFrameStart */ export type FrameTimelineEvent_ExpectedSurfaceFrameStart = Message<"perfetto.protos.FrameTimelineEvent.ExpectedSurfaceFrameStart"> & { /** * Cookie used to correlate between the start and end messages of the same * frame. Since all values except the ts are same for start and end, cookie * helps in preventing redundant data transmission. * The same cookie is used only by start and end messages of a single frame * and is otherwise unique. * * @generated from field: optional int64 cookie = 1; */ cookie: bigint; /** * Token received by the app for its work. Can be shared between multiple * layers of the same app (example: pip mode). * * @generated from field: optional int64 token = 2; */ token: bigint; /** * The corresponding DisplayFrame token is required to link the App's work * with SurfaceFlinger's work. Many SurfaceFrames can be mapped to a single * DisplayFrame. * this.display_frame_token = DisplayFrame.token * * @generated from field: optional int64 display_frame_token = 3; */ displayFrameToken: bigint; /** * Pid of the app. Used in creating the timeline tracks (and slices) inside * the respective process track group. * * @generated from field: optional int32 pid = 4; */ pid: number; /** * @generated from field: optional string layer_name = 5; */ layerName: string; }; /** * Describes the message perfetto.protos.FrameTimelineEvent.ExpectedSurfaceFrameStart. * Use `create(FrameTimelineEvent_ExpectedSurfaceFrameStartSchema)` to create a new message. */ export declare const FrameTimelineEvent_ExpectedSurfaceFrameStartSchema: GenMessage<FrameTimelineEvent_ExpectedSurfaceFrameStart>; /** * Indicates the start of actual timeline slice for SurfaceFrames. Also * includes the jank information. * * @generated from message perfetto.protos.FrameTimelineEvent.ActualSurfaceFrameStart */ export type FrameTimelineEvent_ActualSurfaceFrameStart = Message<"perfetto.protos.FrameTimelineEvent.ActualSurfaceFrameStart"> & { /** * Cookie used to correlate between the start and end messages of the same * frame. Since all values except the ts are same for start and end, cookie * helps in preventing redundant data transmission. * The same cookie is used only by start and end messages of a single frame * and is otherwise unique. * * @generated from field: optional int64 cookie = 1; */ cookie: bigint; /** * Token received by the app for its work. Can be shared between multiple * layers of the same app (example: pip mode). * * @generated from field: optional int64 token = 2; */ token: bigint; /** * The corresponding DisplayFrame token is required to link the App's work * with SurfaceFlinger's work. Many SurfaceFrames can be mapped to a single * DisplayFrame. * this.display_frame_token = DisplayFrame.token * * @generated from field: optional int64 display_frame_token = 3; */ displayFrameToken: bigint; /** * Pid of the app. Used in creating the timeline tracks (and slices) inside * the respective process track group. * * @generated from field: optional int32 pid = 4; */ pid: number; /** * @generated from field: optional string layer_name = 5; */ layerName: string; /** * @generated from field: optional perfetto.protos.FrameTimelineEvent.PresentType present_type = 6; */ presentType: FrameTimelineEvent_PresentType; /** * @generated from field: optional bool on_time_finish = 7; */ onTimeFinish: boolean; /** * @generated from field: optional bool gpu_composition = 8; */ gpuComposition: boolean; /** * A bitmask of JankType. More than one reason can be attributed to a janky * frame. * * @generated from field: optional int32 jank_type = 9; */ jankType: number; /** * @generated from field: optional perfetto.protos.FrameTimelineEvent.PredictionType prediction_type = 10; */ predictionType: FrameTimelineEvent_PredictionType; /** * @generated from field: optional bool is_buffer = 11; */ isBuffer: boolean; /** * @generated from field: optional perfetto.protos.FrameTimelineEvent.JankSeverityType jank_severity_type = 12; */ jankSeverityType: FrameTimelineEvent_JankSeverityType; }; /** * Describes the message perfetto.protos.FrameTimelineEvent.ActualSurfaceFrameStart. * Use `create(FrameTimelineEvent_ActualSurfaceFrameStartSchema)` to create a new message. */ export declare const FrameTimelineEvent_ActualSurfaceFrameStartSchema: GenMessage<FrameTimelineEvent_ActualSurfaceFrameStart>; /** * Indicates the start of expected timeline slice for DisplayFrames. * * @generated from message perfetto.protos.FrameTimelineEvent.ExpectedDisplayFrameStart */ export type FrameTimelineEvent_ExpectedDisplayFrameStart = Message<"perfetto.protos.FrameTimelineEvent.ExpectedDisplayFrameStart"> & { /** * Cookie used to correlate between the start and end messages of the same * frame. Since all values except the ts are same for start and end, cookie * helps in preventing redundant data transmission. * The same cookie is used only by start and end messages of a single frame * and is otherwise unique. * * @generated from field: optional int64 cookie = 1; */ cookie: bigint; /** * Token received by SurfaceFlinger for its work * this.token = SurfaceFrame.display_frame_token * * @generated from field: optional int64 token = 2; */ token: bigint; /** * Pid of SurfaceFlinger. Used in creating the timeline tracks (and slices) * inside the SurfaceFlinger process group. * * @generated from field: optional int32 pid = 3; */ pid: number; }; /** * Describes the message perfetto.protos.FrameTimelineEvent.ExpectedDisplayFrameStart. * Use `create(FrameTimelineEvent_ExpectedDisplayFrameStartSchema)` to create a new message. */ export declare const FrameTimelineEvent_ExpectedDisplayFrameStartSchema: GenMessage<FrameTimelineEvent_ExpectedDisplayFrameStart>; /** * Indicates the start of actual timeline slice for DisplayFrames. Also * includes the jank information. * * @generated from message perfetto.protos.FrameTimelineEvent.ActualDisplayFrameStart */ export type FrameTimelineEvent_ActualDisplayFrameStart = Message<"perfetto.protos.FrameTimelineEvent.ActualDisplayFrameStart"> & { /** * Cookie used to correlate between the start and end messages of the same * frame. Since all values except the ts are same for start and end, cookie * helps in preventing redundant data transmission. * The same cookie is used only by start and end messages of a single frame * and is otherwise unique. * * @generated from field: optional int64 cookie = 1; */ cookie: bigint; /** * Token received by SurfaceFlinger for its work * this.token = SurfaceFrame.display_frame_token * * @generated from field: optional int64 token = 2; */ token: bigint; /** * Pid of SurfaceFlinger. Used in creating the timeline tracks (and slices) * inside the SurfaceFlinger process group. * * @generated from field: optional int32 pid = 3; */ pid: number; /** * @generated from field: optional perfetto.protos.FrameTimelineEvent.PresentType present_type = 4; */ presentType: FrameTimelineEvent_PresentType; /** * @generated from field: optional bool on_time_finish = 5; */ onTimeFinish: boolean; /** * @generated from field: optional bool gpu_composition = 6; */ gpuComposition: boolean; /** * A bitmask of JankType. More than one reason can be attributed to a janky * frame. * * @generated from field: optional int32 jank_type = 7; */ jankType: number; /** * @generated from field: optional perfetto.protos.FrameTimelineEvent.PredictionType prediction_type = 8; */ predictionType: FrameTimelineEvent_PredictionType; /** * @generated from field: optional perfetto.protos.FrameTimelineEvent.JankSeverityType jank_severity_type = 9; */ jankSeverityType: FrameTimelineEvent_JankSeverityType; }; /** * Describes the message perfetto.protos.FrameTimelineEvent.ActualDisplayFrameStart. * Use `create(FrameTimelineEvent_ActualDisplayFrameStartSchema)` to create a new message. */ export declare const FrameTimelineEvent_ActualDisplayFrameStartSchema: GenMessage<FrameTimelineEvent_ActualDisplayFrameStart>; /** * FrameEnd just sends the cookie to indicate that the corresponding * <display/surface>frame slice's end. * * @generated from message perfetto.protos.FrameTimelineEvent.FrameEnd */ export type FrameTimelineEvent_FrameEnd = Message<"perfetto.protos.FrameTimelineEvent.FrameEnd"> & { /** * @generated from field: optional int64 cookie = 1; */ cookie: bigint; }; /** * Describes the message perfetto.protos.FrameTimelineEvent.FrameEnd. * Use `create(FrameTimelineEvent_FrameEndSchema)` to create a new message. */ export declare const FrameTimelineEvent_FrameEndSchema: GenMessage<FrameTimelineEvent_FrameEnd>; /** * Specifies the reason(s) most likely to have caused the jank. * Used as a bitmask. * * @generated from enum perfetto.protos.FrameTimelineEvent.JankType */ export declare enum FrameTimelineEvent_JankType { /** * @generated from enum value: JANK_UNSPECIFIED = 0; */ JANK_UNSPECIFIED = 0, /** * @generated from enum value: JANK_NONE = 1; */ JANK_NONE = 1, /** * @generated from enum value: JANK_SF_SCHEDULING = 2; */ JANK_SF_SCHEDULING = 2, /** * @generated from enum value: JANK_PREDICTION_ERROR = 4; */ JANK_PREDICTION_ERROR = 4, /** * @generated from enum value: JANK_DISPLAY_HAL = 8; */ JANK_DISPLAY_HAL = 8, /** * @generated from enum value: JANK_SF_CPU_DEADLINE_MISSED = 16; */ JANK_SF_CPU_DEADLINE_MISSED = 16, /** * @generated from enum value: JANK_SF_GPU_DEADLINE_MISSED = 32; */ JANK_SF_GPU_DEADLINE_MISSED = 32, /** * @generated from enum value: JANK_APP_DEADLINE_MISSED = 64; */ JANK_APP_DEADLINE_MISSED = 64, /** * @generated from enum value: JANK_BUFFER_STUFFING = 128; */ JANK_BUFFER_STUFFING = 128, /** * @generated from enum value: JANK_UNKNOWN = 256; */ JANK_UNKNOWN = 256, /** * @generated from enum value: JANK_SF_STUFFING = 512; */ JANK_SF_STUFFING = 512, /** * @generated from enum value: JANK_DROPPED = 1024; */ JANK_DROPPED = 1024 } /** * Describes the enum perfetto.protos.FrameTimelineEvent.JankType. */ export declare const FrameTimelineEvent_JankTypeSchema: GenEnum<FrameTimelineEvent_JankType>; /** * Specifies the severity of a jank. * * @generated from enum perfetto.protos.FrameTimelineEvent.JankSeverityType */ export declare enum FrameTimelineEvent_JankSeverityType { /** * @generated from enum value: SEVERITY_UNKNOWN = 0; */ SEVERITY_UNKNOWN = 0, /** * @generated from enum value: SEVERITY_NONE = 1; */ SEVERITY_NONE = 1, /** * @generated from enum value: SEVERITY_PARTIAL = 2; */ SEVERITY_PARTIAL = 2, /** * @generated from enum value: SEVERITY_FULL = 3; */ SEVERITY_FULL = 3 } /** * Describes the enum perfetto.protos.FrameTimelineEvent.JankSeverityType. */ export declare const FrameTimelineEvent_JankSeverityTypeSchema: GenEnum<FrameTimelineEvent_JankSeverityType>; /** * Specifies how a frame was presented on screen w.r.t. timing. * Can be different for SurfaceFrame and DisplayFrame. * * @generated from enum perfetto.protos.FrameTimelineEvent.PresentType */ export declare enum FrameTimelineEvent_PresentType { /** * @generated from enum value: PRESENT_UNSPECIFIED = 0; */ PRESENT_UNSPECIFIED = 0, /** * @generated from enum value: PRESENT_ON_TIME = 1; */ PRESENT_ON_TIME = 1, /** * @generated from enum value: PRESENT_LATE = 2; */ PRESENT_LATE = 2, /** * @generated from enum value: PRESENT_EARLY = 3; */ PRESENT_EARLY = 3, /** * @generated from enum value: PRESENT_DROPPED = 4; */ PRESENT_DROPPED = 4, /** * @generated from enum value: PRESENT_UNKNOWN = 5; */ PRESENT_UNKNOWN = 5 } /** * Describes the enum perfetto.protos.FrameTimelineEvent.PresentType. */ export declare const FrameTimelineEvent_PresentTypeSchema: GenEnum<FrameTimelineEvent_PresentType>; /** * Specifies if the predictions for the frame are still valid, expired or * unknown. * * @generated from enum perfetto.protos.FrameTimelineEvent.PredictionType */ export declare enum FrameTimelineEvent_PredictionType { /** * @generated from enum value: PREDICTION_UNSPECIFIED = 0; */ PREDICTION_UNSPECIFIED = 0, /** * @generated from enum value: PREDICTION_VALID = 1; */ PREDICTION_VALID = 1, /** * @generated from enum value: PREDICTION_EXPIRED = 2; */ PREDICTION_EXPIRED = 2, /** * @generated from enum value: PREDICTION_UNKNOWN = 3; */ PREDICTION_UNKNOWN = 3 } /** * Describes the enum perfetto.protos.FrameTimelineEvent.PredictionType. */ export declare const FrameTimelineEvent_PredictionTypeSchema: GenEnum<FrameTimelineEvent_PredictionType>; //# sourceMappingURL=frame_timeline_event_pb.d.ts.map