UNPKG

perfetto-protos

Version:

Perfetto protos exposed via protobuf-es for browser and node

424 lines (371 loc) 16.7 kB
// // Copyright (C) 2022 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/android/camera_event.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/android/camera_event.proto. */ export const file_protos_perfetto_trace_android_camera_event: GenFile = /*@__PURE__*/ fileDesc("CjBwcm90b3MvcGVyZmV0dG8vdHJhY2UvYW5kcm9pZC9jYW1lcmFfZXZlbnQucHJvdG8SD3BlcmZldHRvLnByb3RvcyKCBwoXQW5kcm9pZENhbWVyYUZyYW1lRXZlbnQSEgoKc2Vzc2lvbl9pZBgBIAEoBBIRCgljYW1lcmFfaWQYAiABKA0SFAoMZnJhbWVfbnVtYmVyGAMgASgDEhIKCnJlcXVlc3RfaWQYBCABKAMSGwoTcmVxdWVzdF9yZWNlaXZlZF9ucxgFIAEoAxIlCh1yZXF1ZXN0X3Byb2Nlc3Npbmdfc3RhcnRlZF9ucxgGIAEoAxIcChRzdGFydF9vZl9leHBvc3VyZV9ucxgHIAEoAxIZChFzdGFydF9vZl9mcmFtZV9ucxgIIAEoAxIdChVyZXNwb25zZXNfYWxsX3NlbnRfbnMYCSABKAMSWwoVY2FwdHVyZV9yZXN1bHRfc3RhdHVzGAogASgOMjwucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRDYW1lcmFGcmFtZUV2ZW50LkNhcHR1cmVSZXN1bHRTdGF0dXMSHQoVc2tpcHBlZF9zZW5zb3JfZnJhbWVzGAsgASgFEhYKDmNhcHR1cmVfaW50ZW50GAwgASgFEhMKC251bV9zdHJlYW1zGA0gASgFEmUKF25vZGVfcHJvY2Vzc2luZ19kZXRhaWxzGA4gAygLMkQucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRDYW1lcmFGcmFtZUV2ZW50LkNhbWVyYU5vZGVQcm9jZXNzaW5nRGV0YWlscxIbChN2ZW5kb3JfZGF0YV92ZXJzaW9uGA8gASgFEhMKC3ZlbmRvcl9kYXRhGBAgASgMGoUBChtDYW1lcmFOb2RlUHJvY2Vzc2luZ0RldGFpbHMSDwoHbm9kZV9pZBgBIAEoAxIbChNzdGFydF9wcm9jZXNzaW5nX25zGAIgASgDEhkKEWVuZF9wcm9jZXNzaW5nX25zGAMgASgDEh0KFXNjaGVkdWxpbmdfbGF0ZW5jeV9ucxgEIAEoAyKvAQoTQ2FwdHVyZVJlc3VsdFN0YXR1cxIWChJTVEFUVVNfVU5TUEVDSUZJRUQQABINCglTVEFUVVNfT0sQARIfChtTVEFUVVNfRUFSTFlfTUVUQURBVEFfRVJST1IQAhIfChtTVEFUVVNfRklOQUxfTUVUQURBVEFfRVJST1IQAxIXChNTVEFUVVNfQlVGRkVSX0VSUk9SEAQSFgoSU1RBVFVTX0ZMVVNIX0VSUk9SEAUitwQKGUFuZHJvaWRDYW1lcmFTZXNzaW9uU3RhdHMSEgoKc2Vzc2lvbl9pZBgBIAEoBBJFCgVncmFwaBgCIAEoCzI2LnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkQ2FtZXJhU2Vzc2lvblN0YXRzLkNhbWVyYUdyYXBoGr4DCgtDYW1lcmFHcmFwaBJQCgVub2RlcxgBIAMoCzJBLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkQ2FtZXJhU2Vzc2lvblN0YXRzLkNhbWVyYUdyYXBoLkNhbWVyYU5vZGUSUAoFZWRnZXMYAiADKAsyQS5wZXJmZXR0by5wcm90b3MuQW5kcm9pZENhbWVyYVNlc3Npb25TdGF0cy5DYW1lcmFHcmFwaC5DYW1lcmFFZGdlGnYKCkNhbWVyYU5vZGUSDwoHbm9kZV9pZBgBIAEoAxIRCglpbnB1dF9pZHMYAiADKAMSEgoKb3V0cHV0X2lkcxgDIAMoAxIbChN2ZW5kb3JfZGF0YV92ZXJzaW9uGAQgASgFEhMKC3ZlbmRvcl9kYXRhGAUgASgMGpIBCgpDYW1lcmFFZGdlEhYKDm91dHB1dF9ub2RlX2lkGAEgASgDEhEKCW91dHB1dF9pZBgCIAEoAxIVCg1pbnB1dF9ub2RlX2lkGAMgASgDEhAKCGlucHV0X2lkGAQgASgDEhsKE3ZlbmRvcl9kYXRhX3ZlcnNpb24YBSABKAUSEwoLdmVuZG9yX2RhdGEYBiABKAw"); /** * A profiling event corresponding to a single camera frame. This message * collects important details and timestamps involved in producing a single * camera frame. * Next ID: 17 * * @generated from message perfetto.protos.AndroidCameraFrameEvent */ export type AndroidCameraFrameEvent = Message<"perfetto.protos.AndroidCameraFrameEvent"> & { /** * Identifier for the CameraCaptureSession this frame originates from. See: * https://developer.android.com/reference/android/hardware/camera2/CameraCaptureSession * * @generated from field: optional uint64 session_id = 1; */ sessionId: bigint; /** * Identifier for the camera sensor that is the source of this frame. This may * be either a physical or logical camera (up to vendor interpretation). * * @generated from field: optional uint32 camera_id = 2; */ cameraId: number; /** * The frame number identifying this frame on this camera. * * @generated from field: optional int64 frame_number = 3; */ frameNumber: bigint; /** * Identifier for the CaptureRequest. See: * https://developer.android.com/reference/android/hardware/camera2/CaptureRequest * * If multiple cameras are streaming simultaneously, the request_id may be * used to identify which frames were captured in service of the same request. * * @generated from field: optional int64 request_id = 4; */ requestId: bigint; /** * The CLOCK_BOOTTIME timestamp at which the camera framework request is * received by the camera HAL pipeline. Note that this request may wait for * some time before processing actually begins. See also * request_processing_started_ns. * * @generated from field: optional int64 request_received_ns = 5; */ requestReceivedNs: bigint; /** * The CLOCK_BOOTTIME timestamp at which the framework request is accepted for * processing by the camera HAL pipeline. This is the time at which the * pipeline actually begins to work on the request. * * @generated from field: optional int64 request_processing_started_ns = 6; */ requestProcessingStartedNs: bigint; /** * The CLOCK_BOOTTIME timestamp at which the sensor begins its exposure. * * @generated from field: optional int64 start_of_exposure_ns = 7; */ startOfExposureNs: bigint; /** * The CLOCK_BOOTTIME timestamp corresponding to the sensor start of frame * event. * * @generated from field: optional int64 start_of_frame_ns = 8; */ startOfFrameNs: bigint; /** * The CLOCK_BOOTTIME timestamp at which the camera HAL has sent all responses * for the frame. * * @generated from field: optional int64 responses_all_sent_ns = 9; */ responsesAllSentNs: bigint; /** * @generated from field: optional perfetto.protos.AndroidCameraFrameEvent.CaptureResultStatus capture_result_status = 10; */ captureResultStatus: AndroidCameraFrameEvent_CaptureResultStatus; /** * The number of sensor frames that were skipped between this frame and the * previous frame. Under normal operation, this should be zero. Any number * greater than zero indicates dropped sensor frames. * * @generated from field: optional int32 skipped_sensor_frames = 11; */ skippedSensorFrames: number; /** * The value of CONTROL_CAPTURE_INTENT. See: * https://developer.android.com/reference/android/hardware/camera2/CaptureRequest#CONTROL_CAPTURE_INTENT * * @generated from field: optional int32 capture_intent = 12; */ captureIntent: number; /** * The number of streams in the capture request. * * @generated from field: optional int32 num_streams = 13; */ numStreams: number; /** * @generated from field: repeated perfetto.protos.AndroidCameraFrameEvent.CameraNodeProcessingDetails node_processing_details = 14; */ nodeProcessingDetails: AndroidCameraFrameEvent_CameraNodeProcessingDetails[]; /** * These fields capture vendor-specific additions to this proto message. In * practice `vendor_data` typically contains a serialized message of the * vendor's design, and `vendor_data_version` is incremented each time there * is a backwards incompatible change made to the message. * * @generated from field: optional int32 vendor_data_version = 15; */ vendorDataVersion: number; /** * @generated from field: optional bytes vendor_data = 16; */ vendorData: Uint8Array; }; /** * Describes the message perfetto.protos.AndroidCameraFrameEvent. * Use `create(AndroidCameraFrameEventSchema)` to create a new message. */ export const AndroidCameraFrameEventSchema: GenMessage<AndroidCameraFrameEvent> = /*@__PURE__*/ messageDesc(file_protos_perfetto_trace_android_camera_event, 0); /** * A profiling event corresponding to a single node processing within the camera * pipeline. Intuitively this corresponds to a single stage of processing to * produce a camera frame. * Next ID: 6 * * @generated from message perfetto.protos.AndroidCameraFrameEvent.CameraNodeProcessingDetails */ export type AndroidCameraFrameEvent_CameraNodeProcessingDetails = Message<"perfetto.protos.AndroidCameraFrameEvent.CameraNodeProcessingDetails"> & { /** * @generated from field: optional int64 node_id = 1; */ nodeId: bigint; /** * The timestamp at which node processing begins to run. * * @generated from field: optional int64 start_processing_ns = 2; */ startProcessingNs: bigint; /** * The timestamp at which node processing finishes running. * * @generated from field: optional int64 end_processing_ns = 3; */ endProcessingNs: bigint; /** * The delay between inputs becoming ready and the node actually beginning to * run. * * @generated from field: optional int64 scheduling_latency_ns = 4; */ schedulingLatencyNs: bigint; }; /** * Describes the message perfetto.protos.AndroidCameraFrameEvent.CameraNodeProcessingDetails. * Use `create(AndroidCameraFrameEvent_CameraNodeProcessingDetailsSchema)` to create a new message. */ export const AndroidCameraFrameEvent_CameraNodeProcessingDetailsSchema: GenMessage<AndroidCameraFrameEvent_CameraNodeProcessingDetails> = /*@__PURE__*/ messageDesc(file_protos_perfetto_trace_android_camera_event, 0, 0); /** * The error status, if any, reported to the camera framework. Any status * other than STATUS_OK indicates a dropped frame. * Next Enum: 6 * * @generated from enum perfetto.protos.AndroidCameraFrameEvent.CaptureResultStatus */ export enum AndroidCameraFrameEvent_CaptureResultStatus { /** * @generated from enum value: STATUS_UNSPECIFIED = 0; */ STATUS_UNSPECIFIED = 0, /** * @generated from enum value: STATUS_OK = 1; */ STATUS_OK = 1, /** * Early metadata was returned to the camera framework with an error. * * @generated from enum value: STATUS_EARLY_METADATA_ERROR = 2; */ STATUS_EARLY_METADATA_ERROR = 2, /** * Final metadata was returned to the camera framework with an error. * * @generated from enum value: STATUS_FINAL_METADATA_ERROR = 3; */ STATUS_FINAL_METADATA_ERROR = 3, /** * One or more buffers were returned to the camera framework with an error. * * @generated from enum value: STATUS_BUFFER_ERROR = 4; */ STATUS_BUFFER_ERROR = 4, /** * The frame was dropped as a result of a flush operation. * * @generated from enum value: STATUS_FLUSH_ERROR = 5; */ STATUS_FLUSH_ERROR = 5, } /** * Describes the enum perfetto.protos.AndroidCameraFrameEvent.CaptureResultStatus. */ export const AndroidCameraFrameEvent_CaptureResultStatusSchema: GenEnum<AndroidCameraFrameEvent_CaptureResultStatus> = /*@__PURE__*/ enumDesc(file_protos_perfetto_trace_android_camera_event, 0, 0); /** * A profiling event that may be emitted periodically (i.e., at a slower rate * than `AndroidCameraFrameEvent`s) to record fixed and aggregated camera * session-specific values. * * @generated from message perfetto.protos.AndroidCameraSessionStats */ export type AndroidCameraSessionStats = Message<"perfetto.protos.AndroidCameraSessionStats"> & { /** * Identifier for the CameraCaptureSession this frame originates from. See: * https://developer.android.com/reference/android/hardware/camera2/CameraCaptureSession * * @generated from field: optional uint64 session_id = 1; */ sessionId: bigint; /** * @generated from field: optional perfetto.protos.AndroidCameraSessionStats.CameraGraph graph = 2; */ graph?: AndroidCameraSessionStats_CameraGraph; }; /** * Describes the message perfetto.protos.AndroidCameraSessionStats. * Use `create(AndroidCameraSessionStatsSchema)` to create a new message. */ export const AndroidCameraSessionStatsSchema: GenMessage<AndroidCameraSessionStats> = /*@__PURE__*/ messageDesc(file_protos_perfetto_trace_android_camera_event, 1); /** * Although vendor implementations may vary, camera pipeline processing is * typically arranged into a directed graph-like structure. This message is * used to record that graph. * * @generated from message perfetto.protos.AndroidCameraSessionStats.CameraGraph */ export type AndroidCameraSessionStats_CameraGraph = Message<"perfetto.protos.AndroidCameraSessionStats.CameraGraph"> & { /** * @generated from field: repeated perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraNode nodes = 1; */ nodes: AndroidCameraSessionStats_CameraGraph_CameraNode[]; /** * @generated from field: repeated perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraEdge edges = 2; */ edges: AndroidCameraSessionStats_CameraGraph_CameraEdge[]; }; /** * Describes the message perfetto.protos.AndroidCameraSessionStats.CameraGraph. * Use `create(AndroidCameraSessionStats_CameraGraphSchema)` to create a new message. */ export const AndroidCameraSessionStats_CameraGraphSchema: GenMessage<AndroidCameraSessionStats_CameraGraph> = /*@__PURE__*/ messageDesc(file_protos_perfetto_trace_android_camera_event, 1, 0); /** * @generated from message perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraNode */ export type AndroidCameraSessionStats_CameraGraph_CameraNode = Message<"perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraNode"> & { /** * @generated from field: optional int64 node_id = 1; */ nodeId: bigint; /** * A list of inputs consumed by this node. * * @generated from field: repeated int64 input_ids = 2; */ inputIds: bigint[]; /** * A list of outputs produced by this node. * * @generated from field: repeated int64 output_ids = 3; */ outputIds: bigint[]; /** * These fields capture vendor-specific additions to this proto message. In * practice `vendor_data` typically contains a serialized message of the * vendor's design, and `vendor_data_version` is incremented each time there * is a backwards incompatible change made to the message. * * @generated from field: optional int32 vendor_data_version = 4; */ vendorDataVersion: number; /** * @generated from field: optional bytes vendor_data = 5; */ vendorData: Uint8Array; }; /** * Describes the message perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraNode. * Use `create(AndroidCameraSessionStats_CameraGraph_CameraNodeSchema)` to create a new message. */ export const AndroidCameraSessionStats_CameraGraph_CameraNodeSchema: GenMessage<AndroidCameraSessionStats_CameraGraph_CameraNode> = /*@__PURE__*/ messageDesc(file_protos_perfetto_trace_android_camera_event, 1, 0, 0); /** * An adjacency list describing connections between CameraNodes, mapping * nodes and their outputs to other nodes that consume them as inputs. * * @generated from message perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraEdge */ export type AndroidCameraSessionStats_CameraGraph_CameraEdge = Message<"perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraEdge"> & { /** * The pair of IDs identifying the node and output connected by this edge. * * @generated from field: optional int64 output_node_id = 1; */ outputNodeId: bigint; /** * @generated from field: optional int64 output_id = 2; */ outputId: bigint; /** * The pair of IDs identifying the node and input connected by this edge. * * @generated from field: optional int64 input_node_id = 3; */ inputNodeId: bigint; /** * @generated from field: optional int64 input_id = 4; */ inputId: bigint; /** * These fields capture vendor-specific additions to this proto message. In * practice `vendor_data` typically contains a serialized message of the * vendor's design, and `vendor_data_version` is incremented each time there * is a backwards incompatible change made to the message. * * @generated from field: optional int32 vendor_data_version = 5; */ vendorDataVersion: number; /** * @generated from field: optional bytes vendor_data = 6; */ vendorData: Uint8Array; }; /** * Describes the message perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraEdge. * Use `create(AndroidCameraSessionStats_CameraGraph_CameraEdgeSchema)` to create a new message. */ export const AndroidCameraSessionStats_CameraGraph_CameraEdgeSchema: GenMessage<AndroidCameraSessionStats_CameraGraph_CameraEdge> = /*@__PURE__*/ messageDesc(file_protos_perfetto_trace_android_camera_event, 1, 0, 1);