perfetto-protos
Version:
Perfetto protos exposed via protobuf-es for browser and node
166 lines (145 loc) • 6.74 kB
text/typescript
//
// Copyright (C) 2023 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/chrome/scroll_jank_v3.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */
import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import { file_protos_perfetto_metrics_custom_options } from "../custom_options_pb";
import type { Message } from "@bufbuild/protobuf";
/**
* Describes the file protos/perfetto/metrics/chrome/scroll_jank_v3.proto.
*/
export const file_protos_perfetto_metrics_chrome_scroll_jank_v3: GenFile = /*@__PURE__*/
fileDesc("CjNwcm90b3MvcGVyZmV0dG8vbWV0cmljcy9jaHJvbWUvc2Nyb2xsX2phbmtfdjMucHJvdG8SD3BlcmZldHRvLnByb3RvcyLjBQoSQ2hyb21lU2Nyb2xsSmFua1YzEjIKEHRyYWNlX251bV9mcmFtZXMYASABKANCGIq1GBRjb3VudF9iaWdnZXJJc0JldHRlchI5ChZ0cmFjZV9udW1famFua3lfZnJhbWVzGAIgASgDQhmKtRgVY291bnRfc21hbGxlcklzQmV0dGVyEjwKHHRyYWNlX3Njcm9sbF9qYW5rX3BlcmNlbnRhZ2UYAyABKAFCFoq1GBJuJV9zbWFsbGVySXNCZXR0ZXISMAoRdnN5bmNfaW50ZXJ2YWxfbXMYBCABKAFCFYq1GBFtc19iaWdnZXJJc0JldHRlchI7CgdzY3JvbGxzGAUgAygLMioucGVyZmV0dG8ucHJvdG9zLkNocm9tZVNjcm9sbEphbmtWMy5TY3JvbGwasAMKBlNjcm9sbBIsCgpudW1fZnJhbWVzGAEgASgDQhiKtRgUY291bnRfYmlnZ2VySXNCZXR0ZXISMwoQbnVtX2phbmt5X2ZyYW1lcxgCIAEoA0IZirUYFWNvdW50X3NtYWxsZXJJc0JldHRlchI2ChZzY3JvbGxfamFua19wZXJjZW50YWdlGAMgASgBQhaKtRgSbiVfc21hbGxlcklzQmV0dGVyEkAKGm1heF9kZWxheV9zaW5jZV9sYXN0X2ZyYW1lGAQgASgBQhyKtRgYdW5pdGxlc3Nfc21hbGxlcklzQmV0dGVyElYKEnNjcm9sbF9qYW5rX2NhdXNlcxgFIAMoCzI6LnBlcmZldHRvLnByb3Rvcy5DaHJvbWVTY3JvbGxKYW5rVjMuU2Nyb2xsLlNjcm9sbEphbmtDYXVzZRpxCg9TY3JvbGxKYW5rQ2F1c2USDQoFY2F1c2UYASABKAkSEQoJc3ViX2NhdXNlGAIgASgJEjwKFmRlbGF5X3NpbmNlX2xhc3RfZnJhbWUYAyABKAFCHIq1GBh1bml0bGVzc19zbWFsbGVySXNCZXR0ZXI", [file_protos_perfetto_metrics_custom_options]);
/**
* @generated from message perfetto.protos.ChromeScrollJankV3
*/
export type ChromeScrollJankV3 = Message<"perfetto.protos.ChromeScrollJankV3"> & {
/**
* Total count of unique frames in the trace.
*
* @generated from field: optional int64 trace_num_frames = 1;
*/
traceNumFrames: bigint;
/**
* Number of frames in the trace that had missed vsyncs.
*
* @generated from field: optional int64 trace_num_janky_frames = 2;
*/
traceNumJankyFrames: bigint;
/**
* Computed as: `100 * trace_num_janky_frames /
* trace_num_frames`.
*
* @generated from field: optional double trace_scroll_jank_percentage = 3;
*/
traceScrollJankPercentage: number;
/**
* Vsync interval at the time of recording the trace.
*
* @generated from field: optional double vsync_interval_ms = 4;
*/
vsyncIntervalMs: number;
/**
* @generated from field: repeated perfetto.protos.ChromeScrollJankV3.Scroll scrolls = 5;
*/
scrolls: ChromeScrollJankV3_Scroll[];
};
/**
* Describes the message perfetto.protos.ChromeScrollJankV3.
* Use `create(ChromeScrollJankV3Schema)` to create a new message.
*/
export const ChromeScrollJankV3Schema: GenMessage<ChromeScrollJankV3> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_chrome_scroll_jank_v3, 0);
/**
* Per-scroll metrics.
*
* @generated from message perfetto.protos.ChromeScrollJankV3.Scroll
*/
export type ChromeScrollJankV3_Scroll = Message<"perfetto.protos.ChromeScrollJankV3.Scroll"> & {
/**
* Total count of unique frames during this scroll.
*
* @generated from field: optional int64 num_frames = 1;
*/
numFrames: bigint;
/**
* Number of frames during this scroll that had missed vsyncs.
*
* @generated from field: optional int64 num_janky_frames = 2;
*/
numJankyFrames: bigint;
/**
* Computed as: `100 * num_janky_frames / num_frames`.
*
* @generated from field: optional double scroll_jank_percentage = 3;
*/
scrollJankPercentage: number;
/**
* Maximum `delay_since_last_frame` for janky frames during this scroll
* (i.e. maximum `delay_since_last_frame` from the `scroll_jank_causes`
* repeated field below).
* This is measured in units of vsync interval. For example, a value of 2
* means the delay was 2x the vsync interval.
*
* @generated from field: optional double max_delay_since_last_frame = 4;
*/
maxDelaySinceLastFrame: number;
/**
* @generated from field: repeated perfetto.protos.ChromeScrollJankV3.Scroll.ScrollJankCause scroll_jank_causes = 5;
*/
scrollJankCauses: ChromeScrollJankV3_Scroll_ScrollJankCause[];
};
/**
* Describes the message perfetto.protos.ChromeScrollJankV3.Scroll.
* Use `create(ChromeScrollJankV3_ScrollSchema)` to create a new message.
*/
export const ChromeScrollJankV3_ScrollSchema: GenMessage<ChromeScrollJankV3_Scroll> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_chrome_scroll_jank_v3, 0, 0);
/**
* The primary cause and sub-cause for scroll jank, one for each jank.
* There are exactly `num_janky_frames` items in this field.
*
* @generated from message perfetto.protos.ChromeScrollJankV3.Scroll.ScrollJankCause
*/
export type ChromeScrollJankV3_Scroll_ScrollJankCause = Message<"perfetto.protos.ChromeScrollJankV3.Scroll.ScrollJankCause"> & {
/**
* May be empty, if a cause is not available.
*
* @generated from field: optional string cause = 1;
*/
cause: string;
/**
* May be empty, if a sub-cause is not available.
*
* @generated from field: optional string sub_cause = 2;
*/
subCause: string;
/**
* Number of vsyncs elapsed since the previous frame was presented: will
* be > 1.0 since this was a "janky" frame. For example, a value of 2
* means the delay was 2x the vsync interval.
*
* @generated from field: optional double delay_since_last_frame = 3;
*/
delaySinceLastFrame: number;
};
/**
* Describes the message perfetto.protos.ChromeScrollJankV3.Scroll.ScrollJankCause.
* Use `create(ChromeScrollJankV3_Scroll_ScrollJankCauseSchema)` to create a new message.
*/
export const ChromeScrollJankV3_Scroll_ScrollJankCauseSchema: GenMessage<ChromeScrollJankV3_Scroll_ScrollJankCause> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_chrome_scroll_jank_v3, 0, 0, 0);