UNPKG

perfetto-protos

Version:

Perfetto protos exposed via protobuf-es for browser and node

359 lines (312 loc) 11.8 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/metrics/android/jank_cuj_metric.proto (package perfetto.protos, syntax proto2) /* eslint-disable */ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1"; import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1"; import type { AndroidProcessMetadata } from "./process_metadata_pb"; import { file_protos_perfetto_metrics_android_process_metadata } from "./process_metadata_pb"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file protos/perfetto/metrics/android/jank_cuj_metric.proto. */ export const file_protos_perfetto_metrics_android_jank_cuj_metric: GenFile = /*@__PURE__*/ fileDesc("CjVwcm90b3MvcGVyZmV0dG8vbWV0cmljcy9hbmRyb2lkL2phbmtfY3VqX21ldHJpYy5wcm90bxIPcGVyZmV0dG8ucHJvdG9zIrYJChRBbmRyb2lkSmFua0N1ak1ldHJpYxI2CgNjdWoYASADKAsyKS5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEphbmtDdWpNZXRyaWMuQ3VqGtgDCgNDdWoSCgoCaWQYASABKAUSDAoEbmFtZRgCIAEoCRI4Cgdwcm9jZXNzGAMgASgLMicucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRQcm9jZXNzTWV0YWRhdGESCgoCdHMYBCABKAMSCwoDZHVyGAUgASgDEjoKBWZyYW1lGAYgAygLMisucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRKYW5rQ3VqTWV0cmljLkZyYW1lEj0KCHNmX2ZyYW1lGAogAygLMisucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRKYW5rQ3VqTWV0cmljLkZyYW1lEkYKD2NvdW50ZXJfbWV0cmljcxgHIAEoCzItLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkSmFua0N1ak1ldHJpYy5NZXRyaWNzEkcKEHRpbWVsaW5lX21ldHJpY3MYCCABKAsyLS5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEphbmtDdWpNZXRyaWMuTWV0cmljcxJECg10cmFjZV9tZXRyaWNzGAkgASgLMi0ucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRKYW5rQ3VqTWV0cmljLk1ldHJpY3MSEgoKbGF5ZXJfbmFtZRgLIAEoCRq8AQoFRnJhbWUSFAoMZnJhbWVfbnVtYmVyGAEgASgDEg0KBXZzeW5jGAIgASgDEgoKAnRzGAMgASgDEgsKA2R1chgEIAEoAxIUCgxkdXJfZXhwZWN0ZWQYByABKAMSEgoKYXBwX21pc3NlZBgFIAEoCBIRCglzZl9taXNzZWQYBiABKAgSGgoSc2ZfY2FsbGJhY2tfbWlzc2VkGAggASgIEhwKFGh3dWlfY2FsbGJhY2tfbWlzc2VkGAkgASgIGssDCgdNZXRyaWNzEhQKDHRvdGFsX2ZyYW1lcxgBIAEoAxIVCg1taXNzZWRfZnJhbWVzGAIgASgDEhkKEW1pc3NlZF9hcHBfZnJhbWVzGAMgASgDEhgKEG1pc3NlZF9zZl9mcmFtZXMYBCABKAMSJAocbWlzc2VkX2ZyYW1lc19tYXhfc3VjY2Vzc2l2ZRgFIAEoAxIVCg1mcmFtZV9kdXJfbWF4GAYgASgDEhUKDWZyYW1lX2R1cl9hdmcYByABKAMSFQoNZnJhbWVfZHVyX3A1MBgIIAEoAxIVCg1mcmFtZV9kdXJfcDkwGAkgASgDEhUKDWZyYW1lX2R1cl9wOTUYCiABKAMSFQoNZnJhbWVfZHVyX3A5ORgLIAEoAxIYChBmcmFtZV9kdXJfbXNfcDUwGAwgASgBEhgKEGZyYW1lX2R1cl9tc19wOTAYDSABKAESGAoQZnJhbWVfZHVyX21zX3A5NRgOIAEoARIYChBmcmFtZV9kdXJfbXNfcDk5GA8gASgBEiEKGXNmX2NhbGxiYWNrX21pc3NlZF9mcmFtZXMYECABKAMSIwobaHd1aV9jYWxsYmFja19taXNzZWRfZnJhbWVzGBEgASgD", [file_protos_perfetto_metrics_android_process_metadata]); /** * @generated from message perfetto.protos.AndroidJankCujMetric */ export type AndroidJankCujMetric = Message<"perfetto.protos.AndroidJankCujMetric"> & { /** * @generated from field: repeated perfetto.protos.AndroidJankCujMetric.Cuj cuj = 1; */ cuj: AndroidJankCujMetric_Cuj[]; }; /** * Describes the message perfetto.protos.AndroidJankCujMetric. * Use `create(AndroidJankCujMetricSchema)` to create a new message. */ export const AndroidJankCujMetricSchema: GenMessage<AndroidJankCujMetric> = /*@__PURE__*/ messageDesc(file_protos_perfetto_metrics_android_jank_cuj_metric, 0); /** * Next id: 12 * * @generated from message perfetto.protos.AndroidJankCujMetric.Cuj */ export type AndroidJankCujMetric_Cuj = Message<"perfetto.protos.AndroidJankCujMetric.Cuj"> & { /** * ID of the CUJ that is unique within the trace. * * @generated from field: optional int32 id = 1; */ id: number; /** * Name of the CUJ, extracted from the CUJ trace marker. * For example SHADE_EXPAND_COLLAPSE from J<SHADE_EXPAND_COLLAPSE>. * * @generated from field: optional string name = 2; */ name: string; /** * Details about the process (uid, version, etc) * * @generated from field: optional perfetto.protos.AndroidProcessMetadata process = 3; */ process?: AndroidProcessMetadata; /** * ts of the CUJ trace marker slice. * * @generated from field: optional int64 ts = 4; */ ts: bigint; /** * dur of the CUJ trace marker slice. * * @generated from field: optional int64 dur = 5; */ dur: bigint; /** * Details about each of the frames within the CUJ. * * @generated from field: repeated perfetto.protos.AndroidJankCujMetric.Frame frame = 6; */ frame: AndroidJankCujMetric_Frame[]; /** * Details about each of the SF frames within the CUJ. * * @generated from field: repeated perfetto.protos.AndroidJankCujMetric.Frame sf_frame = 10; */ sfFrame: AndroidJankCujMetric_Frame[]; /** * Metrics extracted from the counters output by FrameTracker * Does not contain the frame_dur percentile information. * * @generated from field: optional perfetto.protos.AndroidJankCujMetric.Metrics counter_metrics = 7; */ counterMetrics?: AndroidJankCujMetric_Metrics; /** * Metrics extracted from the frame timeline. * * @generated from field: optional perfetto.protos.AndroidJankCujMetric.Metrics timeline_metrics = 8; */ timelineMetrics?: AndroidJankCujMetric_Metrics; /** * Metrics extracted from the trace slices. * * @generated from field: optional perfetto.protos.AndroidJankCujMetric.Metrics trace_metrics = 9; */ traceMetrics?: AndroidJankCujMetric_Metrics; /** * Layer name of the surface where the cuj is drawn. * * @generated from field: optional string layer_name = 11; */ layerName: string; }; /** * Describes the message perfetto.protos.AndroidJankCujMetric.Cuj. * Use `create(AndroidJankCujMetric_CujSchema)` to create a new message. */ export const AndroidJankCujMetric_CujSchema: GenMessage<AndroidJankCujMetric_Cuj> = /*@__PURE__*/ messageDesc(file_protos_perfetto_metrics_android_jank_cuj_metric, 0, 0); /** * Next id: 10 * * @generated from message perfetto.protos.AndroidJankCujMetric.Frame */ export type AndroidJankCujMetric_Frame = Message<"perfetto.protos.AndroidJankCujMetric.Frame"> & { /** * Index of the frame within the single user journey. * * @generated from field: optional int64 frame_number = 1; */ frameNumber: bigint; /** * VSYNC ID of the frame. * * @generated from field: optional int64 vsync = 2; */ vsync: bigint; /** * @generated from field: optional int64 ts = 3; */ ts: bigint; /** * @generated from field: optional int64 dur = 4; */ dur: bigint; /** * @generated from field: optional int64 dur_expected = 7; */ durExpected: bigint; /** * Whether the app process missed the frame deadline. * Only set for the App frames. Always left unset for SF frames. * * @generated from field: optional bool app_missed = 5; */ appMissed: boolean; /** * Whether SF missed the frame deadline. * * @generated from field: optional bool sf_missed = 6; */ sfMissed: boolean; /** * Whether the SF callback missed before emitting jank metrics. * SF callback is used to get the jank classification. * * @generated from field: optional bool sf_callback_missed = 8; */ sfCallbackMissed: boolean; /** * Whether the HWUI callback missed before emitting jank metrics. * HWUI callback is used to get the frame duration. * * @generated from field: optional bool hwui_callback_missed = 9; */ hwuiCallbackMissed: boolean; }; /** * Describes the message perfetto.protos.AndroidJankCujMetric.Frame. * Use `create(AndroidJankCujMetric_FrameSchema)` to create a new message. */ export const AndroidJankCujMetric_FrameSchema: GenMessage<AndroidJankCujMetric_Frame> = /*@__PURE__*/ messageDesc(file_protos_perfetto_metrics_android_jank_cuj_metric, 0, 1); /** * Next id: 18 * * @generated from message perfetto.protos.AndroidJankCujMetric.Metrics */ export type AndroidJankCujMetric_Metrics = Message<"perfetto.protos.AndroidJankCujMetric.Metrics"> & { /** * Overall number of frames within the CUJ. * * @generated from field: optional int64 total_frames = 1; */ totalFrames: bigint; /** * Number of missed frames. * * @generated from field: optional int64 missed_frames = 2; */ missedFrames: bigint; /** * Number of frames missed due to the app missing the deadline. * * @generated from field: optional int64 missed_app_frames = 3; */ missedAppFrames: bigint; /** * Number of frames missed due to SF. * * @generated from field: optional int64 missed_sf_frames = 4; */ missedSfFrames: bigint; /** * Number of successive frames missed. * Not available in timeline_metrics and trace_metrics. * * @generated from field: optional int64 missed_frames_max_successive = 5; */ missedFramesMaxSuccessive: bigint; /** * Max frame duration in nanoseconds. * * @generated from field: optional int64 frame_dur_max = 6; */ frameDurMax: bigint; /** * Average frame duration in nanoseconds. * Not available in counter_metrics. * * @generated from field: optional int64 frame_dur_avg = 7; */ frameDurAvg: bigint; /** * Median frame duration in nanoseconds. * Not available in counter_metrics. * * @generated from field: optional int64 frame_dur_p50 = 8; */ frameDurP50: bigint; /** * P90 frame duration in nanoseconds. * Not available in counter_metrics. * * @generated from field: optional int64 frame_dur_p90 = 9; */ frameDurP90: bigint; /** * P95 frame duration in nanoseconds. * Not available in counter_metrics. * * @generated from field: optional int64 frame_dur_p95 = 10; */ frameDurP95: bigint; /** * P99 frame duration in nanoseconds. * Not available in counter_metrics. * * @generated from field: optional int64 frame_dur_p99 = 11; */ frameDurP99: bigint; /** * Median frame duration in milliseconds. * Not available in counter_metrics. * * @generated from field: optional double frame_dur_ms_p50 = 12; */ frameDurMsP50: number; /** * P90 frame duration in milliseconds. * Not available in counter_metrics. * * @generated from field: optional double frame_dur_ms_p90 = 13; */ frameDurMsP90: number; /** * P95 frame duration in milliseconds. * Not available in counter_metrics. * * @generated from field: optional double frame_dur_ms_p95 = 14; */ frameDurMsP95: number; /** * P99 frame duration in milliseconds. * Not available in counter_metrics. * * @generated from field: optional double frame_dur_ms_p99 = 15; */ frameDurMsP99: number; /** * Number of frames with missed SF callback. * * @generated from field: optional int64 sf_callback_missed_frames = 16; */ sfCallbackMissedFrames: bigint; /** * Number of frames with missed HWUI callback. * * @generated from field: optional int64 hwui_callback_missed_frames = 17; */ hwuiCallbackMissedFrames: bigint; }; /** * Describes the message perfetto.protos.AndroidJankCujMetric.Metrics. * Use `create(AndroidJankCujMetric_MetricsSchema)` to create a new message. */ export const AndroidJankCujMetric_MetricsSchema: GenMessage<AndroidJankCujMetric_Metrics> = /*@__PURE__*/ messageDesc(file_protos_perfetto_metrics_android_jank_cuj_metric, 0, 2);