perfetto-protos
Version:
Perfetto protos exposed via protobuf-es for browser and node
1,386 lines • 54.4 kB
text/typescript
//
// Copyright (C) 2019 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/startup_metric.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 { 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/startup_metric.proto.
*/
export const file_protos_perfetto_metrics_android_startup_metric: GenFile = /*@__PURE__*/
fileDesc("CjRwcm90b3MvcGVyZmV0dG8vbWV0cmljcy9hbmRyb2lkL3N0YXJ0dXBfbWV0cmljLnByb3RvEg9wZXJmZXR0by5wcm90b3Mi0DkKFEFuZHJvaWRTdGFydHVwTWV0cmljEj4KB3N0YXJ0dXAYASADKAsyLS5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuU3RhcnR1cBrlAQoSVGFza1N0YXRlQnJlYWtkb3duEhYKDnJ1bm5pbmdfZHVyX25zGAEgASgDEhcKD3J1bm5hYmxlX2R1cl9ucxgCIAEoAxIkChx1bmludGVycnVwdGlibGVfc2xlZXBfZHVyX25zGAMgASgDEiIKGmludGVycnVwdGlibGVfc2xlZXBfZHVyX25zGAQgASgDEicKH3VuaW50ZXJydXB0aWJsZV9pb19zbGVlcF9kdXJfbnMYBSABKAMSKwojdW5pbnRlcnJ1cHRpYmxlX25vbl9pb19zbGVlcF9kdXJfbnMYBiABKAMaUQoRTWN5Y2xlc0J5Q29yZVR5cGUSDgoGbGl0dGxlGAEgASgDEgsKA2JpZxgCIAEoAxIOCgZiaWdnZXIYAyABKAMSDwoHdW5rbm93bhgEIAEoAxonCgVTbGljZRIOCgZkdXJfbnMYASABKAMSDgoGZHVyX21zGAIgASgBGpMSCgxUb0ZpcnN0RnJhbWUSDgoGZHVyX25zGAEgASgDEg4KBmR1cl9tcxgRIAEoARJbChltYWluX3RocmVhZF9ieV90YXNrX3N0YXRlGAIgASgLMjgucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRTdGFydHVwTWV0cmljLlRhc2tTdGF0ZUJyZWFrZG93bhJVChRtY3ljbGVzX2J5X2NvcmVfdHlwZRgaIAEoCzI3LnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5NY3ljbGVzQnlDb3JlVHlwZRIlCh1vdGhlcl9wcm9jZXNzZXNfc3Bhd25lZF9jb3VudBgDIAEoDRJKChV0aW1lX2FjdGl2aXR5X21hbmFnZXIYBCABKAsyKy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuU2xpY2USTgoZdGltZV9hY3Rpdml0eV90aHJlYWRfbWFpbhgFIAEoCzIrLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5TbGljZRJKChV0aW1lX2JpbmRfYXBwbGljYXRpb24YBiABKAsyKy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuU2xpY2USSAoTdGltZV9hY3Rpdml0eV9zdGFydBgHIAEoCzIrLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5TbGljZRJJChR0aW1lX2FjdGl2aXR5X3Jlc3VtZRgIIAEoCzIrLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5TbGljZRJKChV0aW1lX2FjdGl2aXR5X3Jlc3RhcnQYFSABKAsyKy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuU2xpY2USRwoSdGltZV9jaG9yZW9ncmFwaGVyGAkgASgLMisucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRTdGFydHVwTWV0cmljLlNsaWNlEkEKDHRpbWVfaW5mbGF0ZRgWIAEoCzIrLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5TbGljZRJHChJ0aW1lX2dldF9yZXNvdXJjZXMYFyABKAsyKy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuU2xpY2USTgoZdGltZV9iZWZvcmVfc3RhcnRfcHJvY2VzcxgKIAEoCzIrLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5TbGljZRJOChl0aW1lX2R1cmluZ19zdGFydF9wcm9jZXNzGAsgASgLMisucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRTdGFydHVwTWV0cmljLlNsaWNlEkoKFXRpbWVfdG9fcnVubmluZ19zdGF0ZRgjIAEoCzIrLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5TbGljZRJBCgx0b19wb3N0X2ZvcmsYEiABKAsyKy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuU2xpY2USTAoXdG9fYWN0aXZpdHlfdGhyZWFkX21haW4YEyABKAsyKy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuU2xpY2USSAoTdG9fYmluZF9hcHBsaWNhdGlvbhgUIAEoCzIrLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5TbGljZRJDCg50aW1lX3Bvc3RfZm9yaxgQIAEoCzIrLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5TbGljZRJOChl0aW1lX2NsYXNzX2luaXRpYWxpemF0aW9uGCQgASgLMisucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRTdGFydHVwTWV0cmljLlNsaWNlEkIKDXRpbWVfZGV4X29wZW4YGCABKAsyKy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuU2xpY2USRgoRdGltZV92ZXJpZnlfY2xhc3MYGSABKAsyKy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuU2xpY2USHAoUaml0X2NvbXBpbGVkX21ldGhvZHMYGyABKA0SIgoaY2xhc3NfaW5pdGlhbGl6YXRpb25fY291bnQYJSABKA0SUAobdGltZV9qaXRfdGhyZWFkX3Bvb2xfb25fY3B1GBwgASgLMisucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRTdGFydHVwTWV0cmljLlNsaWNlEkIKDXRpbWVfZ2NfdG90YWwYHSABKAsyKy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuU2xpY2USQwoOdGltZV9nY19vbl9jcHUYHiABKAsyKy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuU2xpY2USVQogdGltZV9sb2NrX2NvbnRlbnRpb25fdGhyZWFkX21haW4YHyABKAsyKy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuU2xpY2USWAojdGltZV9tb25pdG9yX2NvbnRlbnRpb25fdGhyZWFkX21haW4YICABKAsyKy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuU2xpY2USTgoZdGltZV9kZXhfb3Blbl90aHJlYWRfbWFpbhghIAEoCzIrLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5TbGljZRJMChd0aW1lX2Rsb3Blbl90aHJlYWRfbWFpbhgiIAEoCzIrLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5TbGljZUoECAwQDUoECA0QDkoECA4QD0oECA8QEBpPCgpIc2NNZXRyaWNzEkEKDGZ1bGxfc3RhcnR1cBgBIAEoCzIrLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5TbGljZRpHCghBY3Rpdml0eRIMCgRuYW1lGAEgASgJEg4KBm1ldGhvZBgCIAEoCRIXCg90c19tZXRob2Rfc3RhcnQYBCABKANKBAgDEAQaywEKEUJpbmRlclRyYW5zYWN0aW9uEj0KCGR1cmF0aW9uGAEgASgLMisucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRTdGFydHVwTWV0cmljLlNsaWNlEg4KBnRocmVhZBgCIAEoCRIaChJkZXN0aW5hdGlvbl90aHJlYWQYAyABKAkSGwoTZGVzdGluYXRpb25fcHJvY2VzcxgEIAEoCRINCgVmbGFncxgFIAEoCRIMCgRjb2RlGAYgASgJEhEKCWRhdGFfc2l6ZRgHIAEoAxqEAQoST3B0aW1pemF0aW9uU3RhdHVzEhMKC29kZXhfc3RhdHVzGAEgASgJEhoKEmNvbXBpbGF0aW9uX2ZpbHRlchgCIAEoCRIaChJjb21waWxhdGlvbl9yZWFzb24YAyABKAkSEAoIbG9jYXRpb24YBCABKAkSDwoHc3VtbWFyeRgFIAEoCRorCgtWZXJpZnlDbGFzcxIMCgRuYW1lGAEgASgJEg4KBmR1cl9ucxgCIAEoAxo/Cg9FdmVudFRpbWVzdGFtcHMSFwoPaW50ZW50X3JlY2VpdmVkGAEgASgDEhMKC2ZpcnN0X2ZyYW1lGAIgASgDGukBCgtTeXN0ZW1TdGF0ZRIbCg9kZXgyb2F0X3J1bm5pbmcYASABKAhCAhgBEhwKEGluc3RhbGxkX3J1bm5pbmcYAiABKAhCAhgBEiIKGmJyb2FkY2FzdF9kaXNwYXRjaGVkX2NvdW50GAMgASgDEiAKGGJyb2FkY2FzdF9yZWNlaXZlZF9jb3VudBgEIAEoAxIoCiBtb3N0X2FjdGl2ZV9ub25fbGF1bmNoX3Byb2Nlc3NlcxgFIAMoCRIXCg9pbnN0YWxsZF9kdXJfbnMYBiABKAMSFgoOZGV4Mm9hdF9kdXJfbnMYByABKAMaOgoXU2xvd1N0YXJ0UmVhc29uRGV0YWlsZWQSDgoGcmVhc29uGAEgASgJEg8KB2RldGFpbHMYAiABKAka9gsKD1Nsb3dTdGFydFJlYXNvbhJRCglyZWFzb25faWQYASABKA4yPi5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuU2xvd1N0YXJ0UmVhc29uLlJlYXNvbklkEg4KBnJlYXNvbhgCIAEoCRJVCghzZXZlcml0eRgKIAEoDjJDLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5TbG93U3RhcnRSZWFzb24uU2V2ZXJpdHlMZXZlbBJMCg5leHBlY3RlZF92YWx1ZRgDIAEoCzI0LnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5UaHJlc2hvbGRWYWx1ZRJHCgxhY3R1YWxfdmFsdWUYBCABKAsyMS5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuQWN0dWFsVmFsdWUSEgoKbGF1bmNoX2R1chgFIAEoAxIQCghkdXJhdGlvbhgGIAEoAxJZChR0cmFjZV9zbGljZV9zZWN0aW9ucxgHIAEoCzI7LnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5UcmFjZVNsaWNlU2VjdGlvbkluZm8SWwoVdHJhY2VfdGhyZWFkX3NlY3Rpb25zGAggASgLMjwucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRTdGFydHVwTWV0cmljLlRyYWNlVGhyZWFkU2VjdGlvbkluZm8SFwoPYWRkaXRpb25hbF9pbmZvGAkgASgJIs0GCghSZWFzb25JZBIZChVSRUFTT05fSURfVU5TUEVDSUZJRUQQABIhCh1OT19CQVNFTElORV9PUl9DTE9VRF9QUk9GSUxFUxABEhAKDFJVTl9GUk9NX0FQSxACEhIKDlVOTE9DS19SVU5OSU5HEAMSGgoWQVBQX0lOX0RFQlVHR0FCTEVfTU9ERRAEEg8KC0dDX0FDVElWSVRZEAUSEwoPREVYMk9BVF9SVU5OSU5HEAYSFAoQSU5TVEFMTERfUlVOTklORxAHEiYKIk1BSU5fVEhSRUFEX1RJTUVfU1BFTlRfSU5fUlVOTkFCTEUQCBIxCi1NQUlOX1RIUkVBRF9USU1FX1NQRU5UX0lOX0lOVEVSUlVQVElCTEVfU0xFRVAQCRIpCiVNQUlOX1RIUkVBRF9USU1FX1NQRU5UX0lOX0JMT0NLSU5HX0lPEAoSNQoxTUFJTl9USFJFQURfVElNRV9TUEVOVF9JTl9PUEVOX0RFWF9GSUxFU19GUk9NX09BVBALEiIKHlRJTUVfU1BFTlRfSU5fQklORF9BUFBMSUNBVElPThAMEiAKHFRJTUVfU1BFTlRfSU5fVklFV19JTkZMQVRJT04QDRIxCi1USU1FX1NQRU5UX0lOX1JFU09VUkNFU19NQU5BR0VSX0dFVF9SRVNPVVJDRVMQDhIgChxUSU1FX1NQRU5UX1ZFUklGWUlOR19DTEFTU0VTEA8SMQotUE9URU5USUFMX0NQVV9DT05URU5USU9OX1dJVEhfQU5PVEhFUl9QUk9DRVNTEBASEAoMSklUX0FDVElWSVRZEBESHwobTUFJTl9USFJFQURfTE9DS19DT05URU5USU9OEBISIgoeTUFJTl9USFJFQURfTU9OSVRPUl9DT05URU5USU9OEBMSGAoUSklUX0NPTVBJTEVEX01FVEhPRFMQFBIeChpCUk9BRENBU1RfRElTUEFUQ0hFRF9DT1VOVBAVEhwKGEJST0FEQ0FTVF9SRUNFSVZFRF9DT1VOVBAWEh4KGlNUQVJUVVBfUlVOTklOR19DT05DVVJSRU5UEBcSKwonTUFJTl9USFJFQURfQklOREVSX1RSQU5TQ0FUSU9OU19CTE9DS0VEEBgiSwoNU2V2ZXJpdHlMZXZlbBIYChRTRVZFUklUWV9VTlNQRUNJRklFRBAAEgkKBUVSUk9SEAESCwoHV0FSTklORxACEggKBElORk8QAxrxAQoOVGhyZXNob2xkVmFsdWUSDQoFdmFsdWUYASABKAMSUAoEdW5pdBgCIAEoDjJCLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5UaHJlc2hvbGRWYWx1ZS5UaHJlc2hvbGRVbml0EhcKD2hpZ2hlcl9leHBlY3RlZBgDIAEoCCJlCg1UaHJlc2hvbGRVbml0Eh4KGlRIUkVTSE9MRF9VTklUX1VOU1BFQ0lGSUVEEAASBgoCTlMQARIOCgpQRVJDRU5UQUdFEAISEQoNVFJVRV9PUl9GQUxTRRADEgkKBUNPVU5UEAQaKQoLQWN0dWFsVmFsdWUSDQoFdmFsdWUYASABKAMSCwoDZHVyGAIgASgDGpIBChFUcmFjZVNsaWNlU2VjdGlvbhIXCg9zdGFydF90aW1lc3RhbXAYASABKAMSFQoNZW5kX3RpbWVzdGFtcBgCIAEoAxIQCghzbGljZV9pZBgDIAEoDRISCgpzbGljZV9uYW1lGAQgASgJEhMKC3Byb2Nlc3NfcGlkGAUgASgNEhIKCnRocmVhZF90aWQYBiABKA0alwEKFVRyYWNlU2xpY2VTZWN0aW9uSW5mbxJOCg1zbGljZV9zZWN0aW9uGAEgAygLMjcucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRTdGFydHVwTWV0cmljLlRyYWNlU2xpY2VTZWN0aW9uEhcKD3N0YXJ0X3RpbWVzdGFtcBgCIAEoAxIVCg1lbmRfdGltZXN0YW1wGAMgASgDGpcBChJUcmFjZVRocmVhZFNlY3Rpb24SFwoPc3RhcnRfdGltZXN0YW1wGAEgASgDEhUKDWVuZF90aW1lc3RhbXAYAiABKAMSEwoLdGhyZWFkX3V0aWQYAyABKA0SEwoLdGhyZWFkX25hbWUYBCABKAkSEwoLcHJvY2Vzc19waWQYBSABKA0SEgoKdGhyZWFkX3RpZBgGIAEoDRqaAQoWVHJhY2VUaHJlYWRTZWN0aW9uSW5mbxJQCg50aHJlYWRfc2VjdGlvbhgBIAMoCzI4LnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5UcmFjZVRocmVhZFNlY3Rpb24SFwoPc3RhcnRfdGltZXN0YW1wGAIgASgDEhUKDWVuZF90aW1lc3RhbXAYAyABKAMa+gkKB1N0YXJ0dXASEgoKc3RhcnR1cF9pZBgBIAEoDRIUCgxzdGFydHVwX3R5cGUYECABKAkSEQoJY3B1X2NvdW50GBkgASgNEhQKDHBhY2thZ2VfbmFtZRgCIAEoCRIUCgxwcm9jZXNzX25hbWUYAyABKAkSQgoKYWN0aXZpdGllcxgLIAMoCzIuLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5BY3Rpdml0eRJZChhsb25nX2JpbmRlcl90cmFuc2FjdGlvbnMYDiADKAsyNy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuQmluZGVyVHJhbnNhY3Rpb24SGgoSenlnb3RlX25ld19wcm9jZXNzGAQgASgIEiYKHmFjdGl2aXR5X2hvc3RpbmdfcHJvY2Vzc19jb3VudBgGIAEoDRIfChd0aW1lX3RvX2luaXRpYWxfZGlzcGxheRgWIAEoAxIcChR0aW1lX3RvX2Z1bGxfZGlzcGxheRgXIAEoAxJPChBldmVudF90aW1lc3RhbXBzGA0gASgLMjUucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRTdGFydHVwTWV0cmljLkV2ZW50VGltZXN0YW1wcxJKCg50b19maXJzdF9mcmFtZRgFIAEoCzIyLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5Ub0ZpcnN0RnJhbWUSOAoHcHJvY2VzcxgHIAEoCzInLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkUHJvY2Vzc01ldGFkYXRhEj0KA2hzYxgIIAEoCzIwLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5Ic2NNZXRyaWNzEkcKEnJlcG9ydF9mdWxseV9kcmF3bhgJIAEoCzIrLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3RhcnR1cE1ldHJpYy5TbGljZRJVChNvcHRpbWl6YXRpb25fc3RhdHVzGAwgAygLMjgucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRTdGFydHVwTWV0cmljLk9wdGltaXphdGlvblN0YXR1cxJHCgx2ZXJpZnlfY2xhc3MYEyADKAsyMS5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuVmVyaWZ5Q2xhc3MSEwoLZGxvcGVuX2ZpbGUYFCADKAkSJAocc3RhcnR1cF9jb25jdXJyZW50X3RvX2xhdW5jaBgSIAMoCRJHCgxzeXN0ZW1fc3RhdGUYDyABKAsyMS5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuU3lzdGVtU3RhdGUSGQoRc2xvd19zdGFydF9yZWFzb24YESADKAkSYQoac2xvd19zdGFydF9yZWFzb25fZGV0YWlsZWQYFSADKAsyPS5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN0YXJ0dXBNZXRyaWMuU2xvd1N0YXJ0UmVhc29uRGV0YWlsZWQSXQoec2xvd19zdGFydF9yZWFzb25fd2l0aF9kZXRhaWxzGBggAygLMjUucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRTdGFydHVwTWV0cmljLlNsb3dTdGFydFJlYXNvbkoECAoQCw", [file_protos_perfetto_metrics_android_process_metadata]);
/**
* Android app startup metrics.
*
* @generated from message perfetto.protos.AndroidStartupMetric
*/
export type AndroidStartupMetric = Message<"perfetto.protos.AndroidStartupMetric"> & {
/**
* @generated from field: repeated perfetto.protos.AndroidStartupMetric.Startup startup = 1;
*/
startup: AndroidStartupMetric_Startup[];
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.
* Use `create(AndroidStartupMetricSchema)` to create a new message.
*/
export const AndroidStartupMetricSchema: GenMessage<AndroidStartupMetric> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0);
/**
* A simplified view of the task state durations for a thread
* and a span of time.
*
* @generated from message perfetto.protos.AndroidStartupMetric.TaskStateBreakdown
*/
export type AndroidStartupMetric_TaskStateBreakdown = Message<"perfetto.protos.AndroidStartupMetric.TaskStateBreakdown"> & {
/**
* @generated from field: optional int64 running_dur_ns = 1;
*/
runningDurNs: bigint;
/**
* @generated from field: optional int64 runnable_dur_ns = 2;
*/
runnableDurNs: bigint;
/**
* @generated from field: optional int64 uninterruptible_sleep_dur_ns = 3;
*/
uninterruptibleSleepDurNs: bigint;
/**
* @generated from field: optional int64 interruptible_sleep_dur_ns = 4;
*/
interruptibleSleepDurNs: bigint;
/**
* @generated from field: optional int64 uninterruptible_io_sleep_dur_ns = 5;
*/
uninterruptibleIoSleepDurNs: bigint;
/**
* @generated from field: optional int64 uninterruptible_non_io_sleep_dur_ns = 6;
*/
uninterruptibleNonIoSleepDurNs: bigint;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.TaskStateBreakdown.
* Use `create(AndroidStartupMetric_TaskStateBreakdownSchema)` to create a new message.
*/
export const AndroidStartupMetric_TaskStateBreakdownSchema: GenMessage<AndroidStartupMetric_TaskStateBreakdown> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 0);
/**
* @generated from message perfetto.protos.AndroidStartupMetric.McyclesByCoreType
*/
export type AndroidStartupMetric_McyclesByCoreType = Message<"perfetto.protos.AndroidStartupMetric.McyclesByCoreType"> & {
/**
* @generated from field: optional int64 little = 1;
*/
little: bigint;
/**
* @generated from field: optional int64 big = 2;
*/
big: bigint;
/**
* @generated from field: optional int64 bigger = 3;
*/
bigger: bigint;
/**
* @generated from field: optional int64 unknown = 4;
*/
unknown: bigint;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.McyclesByCoreType.
* Use `create(AndroidStartupMetric_McyclesByCoreTypeSchema)` to create a new message.
*/
export const AndroidStartupMetric_McyclesByCoreTypeSchema: GenMessage<AndroidStartupMetric_McyclesByCoreType> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 1);
/**
* @generated from message perfetto.protos.AndroidStartupMetric.Slice
*/
export type AndroidStartupMetric_Slice = Message<"perfetto.protos.AndroidStartupMetric.Slice"> & {
/**
* @generated from field: optional int64 dur_ns = 1;
*/
durNs: bigint;
/**
* @generated from field: optional double dur_ms = 2;
*/
durMs: number;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.Slice.
* Use `create(AndroidStartupMetric_SliceSchema)` to create a new message.
*/
export const AndroidStartupMetric_SliceSchema: GenMessage<AndroidStartupMetric_Slice> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 2);
/**
* Timing information spanning the intent received by the
* activity manager to the first frame drawn.
* Next id: 38
*
* @generated from message perfetto.protos.AndroidStartupMetric.ToFirstFrame
*/
export type AndroidStartupMetric_ToFirstFrame = Message<"perfetto.protos.AndroidStartupMetric.ToFirstFrame"> & {
/**
* The duration between the intent received and first frame.
*
* @generated from field: optional int64 dur_ns = 1;
*/
durNs: bigint;
/**
* @generated from field: optional double dur_ms = 17;
*/
durMs: number;
/**
* Breakdown of time to first frame by task state for the main thread of
* the process starting up.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.TaskStateBreakdown main_thread_by_task_state = 2;
*/
mainThreadByTaskState?: AndroidStartupMetric_TaskStateBreakdown;
/**
* The mcycles taken by this startup across all CPUs (broken down by core
* type).
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.McyclesByCoreType mcycles_by_core_type = 26;
*/
mcyclesByCoreType?: AndroidStartupMetric_McyclesByCoreType;
/**
* In this timespan, how many processes (apart from the main activity) were
* spawned.
*
* @generated from field: optional uint32 other_processes_spawned_count = 3;
*/
otherProcessesSpawnedCount: number;
/**
* Total time spent in activity manager between the initial intent
* and the end of the activity starter.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_activity_manager = 4;
*/
timeActivityManager?: AndroidStartupMetric_Slice;
/**
* The following slices follow the typical steps post-fork.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_activity_thread_main = 5;
*/
timeActivityThreadMain?: AndroidStartupMetric_Slice;
/**
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_bind_application = 6;
*/
timeBindApplication?: AndroidStartupMetric_Slice;
/**
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_activity_start = 7;
*/
timeActivityStart?: AndroidStartupMetric_Slice;
/**
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_activity_resume = 8;
*/
timeActivityResume?: AndroidStartupMetric_Slice;
/**
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_activity_restart = 21;
*/
timeActivityRestart?: AndroidStartupMetric_Slice;
/**
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_choreographer = 9;
*/
timeChoreographer?: AndroidStartupMetric_Slice;
/**
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_inflate = 22;
*/
timeInflate?: AndroidStartupMetric_Slice;
/**
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_get_resources = 23;
*/
timeGetResources?: AndroidStartupMetric_Slice;
/**
* If we are starting a new process, record the duration from the
* intent being received to the time we call the zygote.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_before_start_process = 10;
*/
timeBeforeStartProcess?: AndroidStartupMetric_Slice;
/**
* The actual duration of the process start (based on the zygote slice).
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_during_start_process = 11;
*/
timeDuringStartProcess?: AndroidStartupMetric_Slice;
/**
* The duration from launch to first running state thread of startup
* process.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_to_running_state = 35;
*/
timeToRunningState?: AndroidStartupMetric_Slice;
/**
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice to_post_fork = 18;
*/
toPostFork?: AndroidStartupMetric_Slice;
/**
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice to_activity_thread_main = 19;
*/
toActivityThreadMain?: AndroidStartupMetric_Slice;
/**
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice to_bind_application = 20;
*/
toBindApplication?: AndroidStartupMetric_Slice;
/**
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_post_fork = 16;
*/
timePostFork?: AndroidStartupMetric_Slice;
/**
* Total time on class initialization during app startup.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_class_initialization = 36;
*/
timeClassInitialization?: AndroidStartupMetric_Slice;
/**
* The total time spent on opening dex files.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_dex_open = 24;
*/
timeDexOpen?: AndroidStartupMetric_Slice;
/**
* Total time spent verifying classes during app startup.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_verify_class = 25;
*/
timeVerifyClass?: AndroidStartupMetric_Slice;
/**
* Number of methods that were compiled by JIT during app startup.
*
* @generated from field: optional uint32 jit_compiled_methods = 27;
*/
jitCompiledMethods: number;
/**
* Number of class initializations during app startup.
*
* @generated from field: optional uint32 class_initialization_count = 37;
*/
classInitializationCount: number;
/**
* Time spent running CPU on jit thread pool.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_jit_thread_pool_on_cpu = 28;
*/
timeJitThreadPoolOnCpu?: AndroidStartupMetric_Slice;
/**
* Time spent on garbage collection.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_gc_total = 29;
*/
timeGcTotal?: AndroidStartupMetric_Slice;
/**
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_gc_on_cpu = 30;
*/
timeGcOnCpu?: AndroidStartupMetric_Slice;
/**
* Time spent in lock contention on the main thread of the process being
* started up. This includes *all* types of lock contention not just monitor
* contention.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_lock_contention_thread_main = 31;
*/
timeLockContentionThreadMain?: AndroidStartupMetric_Slice;
/**
* Time spent in monitor lock contention on the main thread of the
* process being started up. This will be a subset of the time counted by
* |time_lock_contention_thread_main|.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_monitor_contention_thread_main = 32;
*/
timeMonitorContentionThreadMain?: AndroidStartupMetric_Slice;
/**
* Time spent in opening dex files on the main thread of the process
* being started up.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_dex_open_thread_main = 33;
*/
timeDexOpenThreadMain?: AndroidStartupMetric_Slice;
/**
* Time spent in dlopening .so files on the main thread of the process
* being started up.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_dlopen_thread_main = 34;
*/
timeDlopenThreadMain?: AndroidStartupMetric_Slice;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.ToFirstFrame.
* Use `create(AndroidStartupMetric_ToFirstFrameSchema)` to create a new message.
*/
export const AndroidStartupMetric_ToFirstFrameSchema: GenMessage<AndroidStartupMetric_ToFirstFrame> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 3);
/**
* Metrics about startup which were developed by looking at experiments using
* high-speed cameras (HSC).
*
* @generated from message perfetto.protos.AndroidStartupMetric.HscMetrics
*/
export type AndroidStartupMetric_HscMetrics = Message<"perfetto.protos.AndroidStartupMetric.HscMetrics"> & {
/**
* The duration of the full "startup" as defined by HSC tests.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice full_startup = 1;
*/
fullStartup?: AndroidStartupMetric_Slice;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.HscMetrics.
* Use `create(AndroidStartupMetric_HscMetricsSchema)` to create a new message.
*/
export const AndroidStartupMetric_HscMetricsSchema: GenMessage<AndroidStartupMetric_HscMetrics> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 4);
/**
* @generated from message perfetto.protos.AndroidStartupMetric.Activity
*/
export type AndroidStartupMetric_Activity = Message<"perfetto.protos.AndroidStartupMetric.Activity"> & {
/**
* @generated from field: optional string name = 1;
*/
name: string;
/**
* @generated from field: optional string method = 2;
*/
method: string;
/**
* @generated from field: optional int64 ts_method_start = 4;
*/
tsMethodStart: bigint;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.Activity.
* Use `create(AndroidStartupMetric_ActivitySchema)` to create a new message.
*/
export const AndroidStartupMetric_ActivitySchema: GenMessage<AndroidStartupMetric_Activity> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 5);
/**
* @generated from message perfetto.protos.AndroidStartupMetric.BinderTransaction
*/
export type AndroidStartupMetric_BinderTransaction = Message<"perfetto.protos.AndroidStartupMetric.BinderTransaction"> & {
/**
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice duration = 1;
*/
duration?: AndroidStartupMetric_Slice;
/**
* @generated from field: optional string thread = 2;
*/
thread: string;
/**
* @generated from field: optional string destination_thread = 3;
*/
destinationThread: string;
/**
* @generated from field: optional string destination_process = 4;
*/
destinationProcess: string;
/**
* From
* https://cs.android.com/android/platform/superproject/main/+/main:external/perfetto/protos/perfetto/trace/ftrace/binder.proto;l=15;drc=7b6a788162a30802f4c9d8d7a30a54e25edd30f1
*
* @generated from field: optional string flags = 5;
*/
flags: string;
/**
* From
* https://cs.android.com/android/platform/superproject/main/+/main:external/perfetto/protos/perfetto/trace/ftrace/binder.proto;l=14;drc=7b6a788162a30802f4c9d8d7a30a54e25edd30f1
*
* @generated from field: optional string code = 6;
*/
code: string;
/**
* From
* https://cs.android.com/android/platform/superproject/main/+/main:external/perfetto/protos/perfetto/trace/ftrace/binder.proto;l=37;drc=7b6a788162a30802f4c9d8d7a30a54e25edd30f1
*
* @generated from field: optional int64 data_size = 7;
*/
dataSize: bigint;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.BinderTransaction.
* Use `create(AndroidStartupMetric_BinderTransactionSchema)` to create a new message.
*/
export const AndroidStartupMetric_BinderTransactionSchema: GenMessage<AndroidStartupMetric_BinderTransaction> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 6);
/**
* Metrics with information about the status of odex files and the outcome
* of the loading process.
* Multiple files might be loaded for a single startup. Platform might also
* decide to discard an odex file and instead load a fallback, for example
* in case the OS or apk were updated.
*
* @generated from message perfetto.protos.AndroidStartupMetric.OptimizationStatus
*/
export type AndroidStartupMetric_OptimizationStatus = Message<"perfetto.protos.AndroidStartupMetric.OptimizationStatus"> & {
/**
* @generated from field: optional string odex_status = 1;
*/
odexStatus: string;
/**
* @generated from field: optional string compilation_filter = 2;
*/
compilationFilter: string;
/**
* @generated from field: optional string compilation_reason = 3;
*/
compilationReason: string;
/**
* @generated from field: optional string location = 4;
*/
location: string;
/**
* @generated from field: optional string summary = 5;
*/
summary: string;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.OptimizationStatus.
* Use `create(AndroidStartupMetric_OptimizationStatusSchema)` to create a new message.
*/
export const AndroidStartupMetric_OptimizationStatusSchema: GenMessage<AndroidStartupMetric_OptimizationStatus> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 7);
/**
* Contains the name and duration of class verification occurred during
* the startup.
*
* @generated from message perfetto.protos.AndroidStartupMetric.VerifyClass
*/
export type AndroidStartupMetric_VerifyClass = Message<"perfetto.protos.AndroidStartupMetric.VerifyClass"> & {
/**
* @generated from field: optional string name = 1;
*/
name: string;
/**
* @generated from field: optional int64 dur_ns = 2;
*/
durNs: bigint;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.VerifyClass.
* Use `create(AndroidStartupMetric_VerifyClassSchema)` to create a new message.
*/
export const AndroidStartupMetric_VerifyClassSchema: GenMessage<AndroidStartupMetric_VerifyClass> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 8);
/**
* Contains timestamps of important events which occurred during the
* startup.
*
* @generated from message perfetto.protos.AndroidStartupMetric.EventTimestamps
*/
export type AndroidStartupMetric_EventTimestamps = Message<"perfetto.protos.AndroidStartupMetric.EventTimestamps"> & {
/**
* @generated from field: optional int64 intent_received = 1;
*/
intentReceived: bigint;
/**
* @generated from field: optional int64 first_frame = 2;
*/
firstFrame: bigint;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.EventTimestamps.
* Use `create(AndroidStartupMetric_EventTimestampsSchema)` to create a new message.
*/
export const AndroidStartupMetric_EventTimestampsSchema: GenMessage<AndroidStartupMetric_EventTimestamps> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 9);
/**
* Contains information about the state of a system during the app startup.
* Useful to put the startup in context.
*
* @generated from message perfetto.protos.AndroidStartupMetric.SystemState
*/
export type AndroidStartupMetric_SystemState = Message<"perfetto.protos.AndroidStartupMetric.SystemState"> & {
/**
* Whether the dex2oat64 process was running concurrent to the startup.
* Deprecated as of 10/2022.
*
* @generated from field: optional bool dex2oat_running = 1 [deprecated = true];
* @deprecated
*/
dex2oatRunning: boolean;
/**
* Whether the installd process was running concurrent to the startup.
* Deprecated as of 10/2022.
*
* @generated from field: optional bool installd_running = 2 [deprecated = true];
* @deprecated
*/
installdRunning: boolean;
/**
* The number of broadcasts dispatched by the system during the app
* launch.
*
* @generated from field: optional int64 broadcast_dispatched_count = 3;
*/
broadcastDispatchedCount: bigint;
/**
* The number of broadcasts received by an app or the system during the
* app launch. Note that multiple packages can be subscribed to the same
* broadcast so a single dsipatch can cause multiple packages to receive
* and process a broadcast.
*
* @generated from field: optional int64 broadcast_received_count = 4;
*/
broadcastReceivedCount: bigint;
/**
* The most active (i.e. consuming the most mcycles) processes during the
* app launch excluding the process(es) being launched.
* Note: the exact number of returned is an implementation detail and
* will likely change over time.
*
* @generated from field: repeated string most_active_non_launch_processes = 5;
*/
mostActiveNonLaunchProcesses: string[];
/**
* Duration the installd process was running concurrent to the startup.
*
* @generated from field: optional int64 installd_dur_ns = 6;
*/
installdDurNs: bigint;
/**
* Duration the dex2oat64 process was running concurrent to the startup.
*
* @generated from field: optional int64 dex2oat_dur_ns = 7;
*/
dex2oatDurNs: bigint;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.SystemState.
* Use `create(AndroidStartupMetric_SystemStateSchema)` to create a new message.
*/
export const AndroidStartupMetric_SystemStateSchema: GenMessage<AndroidStartupMetric_SystemState> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 10);
/**
* Contains detailed information for slow startup causes.
*
* @generated from message perfetto.protos.AndroidStartupMetric.SlowStartReasonDetailed
*/
export type AndroidStartupMetric_SlowStartReasonDetailed = Message<"perfetto.protos.AndroidStartupMetric.SlowStartReasonDetailed"> & {
/**
* @generated from field: optional string reason = 1;
*/
reason: string;
/**
* @generated from field: optional string details = 2;
*/
details: string;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.SlowStartReasonDetailed.
* Use `create(AndroidStartupMetric_SlowStartReasonDetailedSchema)` to create a new message.
*/
export const AndroidStartupMetric_SlowStartReasonDetailedSchema: GenMessage<AndroidStartupMetric_SlowStartReasonDetailed> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 11);
/**
* Contains information for slow startup causes.
* Next id: 11.
*
* @generated from message perfetto.protos.AndroidStartupMetric.SlowStartReason
*/
export type AndroidStartupMetric_SlowStartReason = Message<"perfetto.protos.AndroidStartupMetric.SlowStartReason"> & {
/**
* @generated from field: optional perfetto.protos.AndroidStartupMetric.SlowStartReason.ReasonId reason_id = 1;
*/
reasonId: AndroidStartupMetric_SlowStartReason_ReasonId;
/**
* Brief description for human readability.
*
* @generated from field: optional string reason = 2;
*/
reason: string;
/**
* @generated from field: optional perfetto.protos.AndroidStartupMetric.SlowStartReason.SeverityLevel severity = 10;
*/
severity: AndroidStartupMetric_SlowStartReason_SeverityLevel;
/**
* Expected value (inherited from threshold definition).
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.ThresholdValue expected_value = 3;
*/
expectedValue?: AndroidStartupMetric_ThresholdValue;
/**
* Actual value, can be used to decide severity level.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.ActualValue actual_value = 4;
*/
actualValue?: AndroidStartupMetric_ActualValue;
/**
* Launch duration
*
* @generated from field: optional int64 launch_dur = 5;
*/
launchDur: bigint;
/**
* Sum of durations of slices and thread states in trace_slices_or_threads.
* Can be used to decide if a couple of top slices or threads caused the
* issue.
*
* @generated from field: optional int64 duration = 6;
*/
duration: bigint;
/**
* Information of a subset of slice and thread sections to focused on,
* sorted by the duration in descending order.
* By checking out the top slices/threads, developers can identify specific
* slices or threads for further investigation.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.TraceSliceSectionInfo trace_slice_sections = 7;
*/
traceSliceSections?: AndroidStartupMetric_TraceSliceSectionInfo;
/**
* @generated from field: optional perfetto.protos.AndroidStartupMetric.TraceThreadSectionInfo trace_thread_sections = 8;
*/
traceThreadSections?: AndroidStartupMetric_TraceThreadSectionInfo;
/**
* Details specific for a reason.
*
* @generated from field: optional string additional_info = 9;
*/
additionalInfo: string;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.SlowStartReason.
* Use `create(AndroidStartupMetric_SlowStartReasonSchema)` to create a new message.
*/
export const AndroidStartupMetric_SlowStartReasonSchema: GenMessage<AndroidStartupMetric_SlowStartReason> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 12);
/**
* Points to reason description and solution.
*
* @generated from enum perfetto.protos.AndroidStartupMetric.SlowStartReason.ReasonId
*/
export enum AndroidStartupMetric_SlowStartReason_ReasonId {
/**
* @generated from enum value: REASON_ID_UNSPECIFIED = 0;
*/
REASON_ID_UNSPECIFIED = 0,
/**
* @generated from enum value: NO_BASELINE_OR_CLOUD_PROFILES = 1;
*/
NO_BASELINE_OR_CLOUD_PROFILES = 1,
/**
* @generated from enum value: RUN_FROM_APK = 2;
*/
RUN_FROM_APK = 2,
/**
* @generated from enum value: UNLOCK_RUNNING = 3;
*/
UNLOCK_RUNNING = 3,
/**
* @generated from enum value: APP_IN_DEBUGGABLE_MODE = 4;
*/
APP_IN_DEBUGGABLE_MODE = 4,
/**
* @generated from enum value: GC_ACTIVITY = 5;
*/
GC_ACTIVITY = 5,
/**
* @generated from enum value: DEX2OAT_RUNNING = 6;
*/
DEX2OAT_RUNNING = 6,
/**
* @generated from enum value: INSTALLD_RUNNING = 7;
*/
INSTALLD_RUNNING = 7,
/**
* @generated from enum value: MAIN_THREAD_TIME_SPENT_IN_RUNNABLE = 8;
*/
MAIN_THREAD_TIME_SPENT_IN_RUNNABLE = 8,
/**
* @generated from enum value: MAIN_THREAD_TIME_SPENT_IN_INTERRUPTIBLE_SLEEP = 9;
*/
MAIN_THREAD_TIME_SPENT_IN_INTERRUPTIBLE_SLEEP = 9,
/**
* @generated from enum value: MAIN_THREAD_TIME_SPENT_IN_BLOCKING_IO = 10;
*/
MAIN_THREAD_TIME_SPENT_IN_BLOCKING_IO = 10,
/**
* @generated from enum value: MAIN_THREAD_TIME_SPENT_IN_OPEN_DEX_FILES_FROM_OAT = 11;
*/
MAIN_THREAD_TIME_SPENT_IN_OPEN_DEX_FILES_FROM_OAT = 11,
/**
* @generated from enum value: TIME_SPENT_IN_BIND_APPLICATION = 12;
*/
TIME_SPENT_IN_BIND_APPLICATION = 12,
/**
* @generated from enum value: TIME_SPENT_IN_VIEW_INFLATION = 13;
*/
TIME_SPENT_IN_VIEW_INFLATION = 13,
/**
* @generated from enum value: TIME_SPENT_IN_RESOURCES_MANAGER_GET_RESOURCES = 14;
*/
TIME_SPENT_IN_RESOURCES_MANAGER_GET_RESOURCES = 14,
/**
* @generated from enum value: TIME_SPENT_VERIFYING_CLASSES = 15;
*/
TIME_SPENT_VERIFYING_CLASSES = 15,
/**
* @generated from enum value: POTENTIAL_CPU_CONTENTION_WITH_ANOTHER_PROCESS = 16;
*/
POTENTIAL_CPU_CONTENTION_WITH_ANOTHER_PROCESS = 16,
/**
* @generated from enum value: JIT_ACTIVITY = 17;
*/
JIT_ACTIVITY = 17,
/**
* @generated from enum value: MAIN_THREAD_LOCK_CONTENTION = 18;
*/
MAIN_THREAD_LOCK_CONTENTION = 18,
/**
* @generated from enum value: MAIN_THREAD_MONITOR_CONTENTION = 19;
*/
MAIN_THREAD_MONITOR_CONTENTION = 19,
/**
* @generated from enum value: JIT_COMPILED_METHODS = 20;
*/
JIT_COMPILED_METHODS = 20,
/**
* @generated from enum value: BROADCAST_DISPATCHED_COUNT = 21;
*/
BROADCAST_DISPATCHED_COUNT = 21,
/**
* @generated from enum value: BROADCAST_RECEIVED_COUNT = 22;
*/
BROADCAST_RECEIVED_COUNT = 22,
/**
* @generated from enum value: STARTUP_RUNNING_CONCURRENT = 23;
*/
STARTUP_RUNNING_CONCURRENT = 23,
/**
* @generated from enum value: MAIN_THREAD_BINDER_TRANSCATIONS_BLOCKED = 24;
*/
MAIN_THREAD_BINDER_TRANSCATIONS_BLOCKED = 24,
}
/**
* Describes the enum perfetto.protos.AndroidStartupMetric.SlowStartReason.ReasonId.
*/
export const AndroidStartupMetric_SlowStartReason_ReasonIdSchema: GenEnum<AndroidStartupMetric_SlowStartReason_ReasonId> = /*@__PURE__*/
enumDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 12, 0);
/**
* Severity level for a reason.
*
* @generated from enum perfetto.protos.AndroidStartupMetric.SlowStartReason.SeverityLevel
*/
export enum AndroidStartupMetric_SlowStartReason_SeverityLevel {
/**
* @generated from enum value: SEVERITY_UNSPECIFIED = 0;
*/
SEVERITY_UNSPECIFIED = 0,
/**
* @generated from enum value: ERROR = 1;
*/
ERROR = 1,
/**
* @generated from enum value: WARNING = 2;
*/
WARNING = 2,
/**
* @generated from enum value: INFO = 3;
*/
INFO = 3,
}
/**
* Describes the enum perfetto.protos.AndroidStartupMetric.SlowStartReason.SeverityLevel.
*/
export const AndroidStartupMetric_SlowStartReason_SeverityLevelSchema: GenEnum<AndroidStartupMetric_SlowStartReason_SeverityLevel> = /*@__PURE__*/
enumDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 12, 1);
/**
* @generated from message perfetto.protos.AndroidStartupMetric.ThresholdValue
*/
export type AndroidStartupMetric_ThresholdValue = Message<"perfetto.protos.AndroidStartupMetric.ThresholdValue"> & {
/**
* Expected value. 1 for true and 0 for false for booleans.
*
* @generated from field: optional int64 value = 1;
*/
value: bigint;
/**
* @generated from field: optional perfetto.protos.AndroidStartupMetric.ThresholdValue.ThresholdUnit unit = 2;
*/
unit: AndroidStartupMetric_ThresholdValue_ThresholdUnit;
/**
* For numeric threshold values only. When higher_expected is true,
* an app startup is considered performant if actual value is higher
* than the threshold.
*
* @generated from field: optional bool higher_expected = 3;
*/
higherExpected: boolean;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.ThresholdValue.
* Use `create(AndroidStartupMetric_ThresholdValueSchema)` to create a new message.
*/
export const AndroidStartupMetric_ThresholdValueSchema: GenMessage<AndroidStartupMetric_ThresholdValue> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 13);
/**
* Expected value unit. Enum, e.g. "ns", "%"
*
* @generated from enum perfetto.protos.AndroidStartupMetric.ThresholdValue.ThresholdUnit
*/
export enum AndroidStartupMetric_ThresholdValue_ThresholdUnit {
/**
* @generated from enum value: THRESHOLD_UNIT_UNSPECIFIED = 0;
*/
THRESHOLD_UNIT_UNSPECIFIED = 0,
/**
* @generated from enum value: NS = 1;
*/
NS = 1,
/**
* @generated from enum value: PERCENTAGE = 2;
*/
PERCENTAGE = 2,
/**
* @generated from enum value: TRUE_OR_FALSE = 3;
*/
TRUE_OR_FALSE = 3,
/**
* @generated from enum value: COUNT = 4;
*/
COUNT = 4,
}
/**
* Describes the enum perfetto.protos.AndroidStartupMetric.ThresholdValue.ThresholdUnit.
*/
export const AndroidStartupMetric_ThresholdValue_ThresholdUnitSchema: GenEnum<AndroidStartupMetric_ThresholdValue_ThresholdUnit> = /*@__PURE__*/
enumDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 13, 0);
/**
* @generated from message perfetto.protos.AndroidStartupMetric.ActualValue
*/
export type AndroidStartupMetric_ActualValue = Message<"perfetto.protos.AndroidStartupMetric.ActualValue"> & {
/**
* Actual value. 1 for true and 0 for false for booleans.
*
* @generated from field: optional int64 value = 1;
*/
value: bigint;
/**
* Actual duration for percentage thresholds only.
* E.g. if the threashold is 20% and the launch_duration is 1000ms,
* then the actual duration is more than 200ms.
*
* @generated from field: optional int64 dur = 2;
*/
dur: bigint;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.ActualValue.
* Use `create(AndroidStartupMetric_ActualValueSchema)` to create a new message.
*/
export const AndroidStartupMetric_ActualValueSchema: GenMessage<AndroidStartupMetric_ActualValue> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 14);
/**
* Contains information for a section of a slice.
*
* @generated from message perfetto.protos.AndroidStartupMetric.TraceSliceSection
*/
export type AndroidStartupMetric_TraceSliceSection = Message<"perfetto.protos.AndroidStartupMetric.TraceSliceSection"> & {
/**
* @generated from field: optional int64 start_timestamp = 1;
*/
startTimestamp: bigint;
/**
* @generated from field: optional int64 end_timestamp = 2;
*/
endTimestamp: bigint;
/**
* @generated from field: optional uint32 slice_id = 3;
*/
sliceId: number;
/**
* @generated from field: optional string slice_name = 4;
*/
sliceName: string;
/**
* @generated from field: optional uint32 process_pid = 5;
*/
processPid: number;
/**
* @generated from field: optional uint32 thread_tid = 6;
*/
threadTid: number;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.TraceSliceSection.
* Use `create(AndroidStartupMetric_TraceSliceSectionSchema)` to create a new message.
*/
export const AndroidStartupMetric_TraceSliceSectionSchema: GenMessage<AndroidStartupMetric_TraceSliceSection> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 15);
/**
* Information for the SliceSections
*
* @generated from message perfetto.protos.AndroidStartupMetric.TraceSliceSectionInfo
*/
export type AndroidStartupMetric_TraceSliceSectionInfo = Message<"perfetto.protos.AndroidStartupMetric.TraceSliceSectionInfo"> & {
/**
* @generated from field: repeated perfetto.protos.AndroidStartupMetric.TraceSliceSection slice_section = 1;
*/
sliceSection: AndroidStartupMetric_TraceSliceSection[];
/**
* @generated from field: optional int64 start_timestamp = 2;
*/
startTimestamp: bigint;
/**
* @generated from field: optional int64 end_timestamp = 3;
*/
endTimestamp: bigint;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.TraceSliceSectionInfo.
* Use `create(AndroidStartupMetric_TraceSliceSectionInfoSchema)` to create a new message.
*/
export const AndroidStartupMetric_TraceSliceSectionInfoSchema: GenMessage<AndroidStartupMetric_TraceSliceSectionInfo> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 16);
/**
* Contains information for a section of a thread.
*
* @generated from message perfetto.protos.AndroidStartupMetric.TraceThreadSection
*/
export type AndroidStartupMetric_TraceThreadSection = Message<"perfetto.protos.AndroidStartupMetric.TraceThreadSection"> & {
/**
* @generated from field: optional int64 start_timestamp = 1;
*/
startTimestamp: bigint;
/**
* @generated from field: optional int64 end_timestamp = 2;
*/
endTimestamp: bigint;
/**
* Deprecated as of 09/2024
*
* @generated from field: optional uint32 thread_utid = 3;
*/
threadUtid: number;
/**
* @generated from field: optional string thread_name = 4;
*/
threadName: string;
/**
* @generated from field: optional uint32 process_pid = 5;
*/
processPid: number;
/**
* @generated from field: optional uint32 thread_tid = 6;
*/
threadTid: number;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.TraceThreadSection.
* Use `create(AndroidStartupMetric_TraceThreadSectionSchema)` to create a new message.
*/
export const AndroidStartupMetric_TraceThreadSectionSchema: GenMessage<AndroidStartupMetric_TraceThreadSection> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 17);
/**
* Information for the ThreadSections
*
* @generated from message perfetto.protos.AndroidStartupMetric.TraceThreadSectionInfo
*/
export type AndroidStartupMetric_TraceThreadSectionInfo = Message<"perfetto.protos.AndroidStartupMetric.TraceThreadSectionInfo"> & {
/**
* @generated from field: repeated perfetto.protos.AndroidStartupMetric.TraceThreadSection thread_section = 1;
*/
threadSection: AndroidStartupMetric_TraceThreadSection[];
/**
* @generated from field: optional int64 start_timestamp = 2;
*/
startTimestamp: bigint;
/**
* @generated from field: optional int64 end_timestamp = 3;
*/
endTimestamp: bigint;
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.TraceThreadSectionInfo.
* Use `create(AndroidStartupMetric_TraceThreadSectionInfoSchema)` to create a new message.
*/
export const AndroidStartupMetric_TraceThreadSectionInfoSchema: GenMessage<AndroidStartupMetric_TraceThreadSectionInfo> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 18);
/**
* Next id: 26
*
* @generated from message perfetto.protos.AndroidStartupMetric.Startup
*/
export type AndroidStartupMetric_Startup = Message<"perfetto.protos.AndroidStartupMetric.Startup"> & {
/**
* Random id uniquely identifying an app startup in this trace.
*
* @generated from field: optional uint32 startup_id = 1;
*/
startupId: number;
/**
* Startup type (cold / warm / hot)
*
* @generated from field: optional string startup_type = 16;
*/
startupType: string;
/**
* Number of CPUs the device has
*
* @generated from field: optional uint32 cpu_count = 25;
*/
cpuCount: number;
/**
* Name of the package launched
*
* @generated from field: optional string package_name = 2;
*/
packageName: string;
/**
* Name of the process launched
*
* @generated from field: optional string process_name = 3;
*/
processName: string;
/**
* Details about the activities launched
*
* @generated from field: repeated perfetto.protos.AndroidStartupMetric.Activity activities = 11;
*/
activities: AndroidStartupMetric_Activity[];
/**
* Details about slow binder transactions during the startup. The definition
* of a slow transaction is an implementation detail.
*
* @generated from field: repeated perfetto.protos.AndroidStartupMetric.BinderTransaction long_binder_transactions = 14;
*/
longBinderTransactions: AndroidStartupMetric_BinderTransaction[];
/**
* Did we ask the zygote for a new process
*
* @generated from field: optional bool zygote_new_process = 4;
*/
zygoteNewProcess: boolean;
/**
* Number of processes hosting the activity involved in the launch.
* This will usually be 1. If it is 0, it is indicative of a data / process
* error. If > 1, the process died during startup and the system respawned
* it.
*
* @generated from field: optional uint32 activity_hosting_process_count = 6;
*/
activityHostingProcessCount: number;
/**
* Time it takes to display the first frame of the app`s UI.
* Details:
* https://developer.android.com/topic/performance/vitals/launch-time#time-initial
*
* @generated from field: optional int64 time_to_initial_display = 22;
*/
timeToInitialDisplay: bigint;
/**
* Time to full display (TTFD) is the time ittakes for an app to become
* interactive for the user.
* Datails:
* https://developer.android.com/topic/performance/vitals/launch-time#time-full
*
* @generated from field: optional int64 time_to_full_display = 23;
*/
timeToFullDisplay: bigint;
/**
* Contains timestamps of important events which happened during
* the startup.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.EventTimestamps event_timestamps = 13;
*/
eventTimestamps?: AndroidStartupMetric_EventTimestamps;
/**
* Timing information spanning the intent received by the
* activity manager to the first frame drawn.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.ToFirstFrame to_first_frame = 5;
*/
toFirstFrame?: AndroidStartupMetric_ToFirstFrame;
/**
* Details about the process (uid, version, etc)
*
* @generated from field: optional perfetto.protos.AndroidProcessMetadata process = 7;
*/
process?: AndroidProcessMetadata;
/**
* Metrics about startup which were developed by looking at experiments
* using high-speed cameras (HSC).
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.HscMetrics hsc = 8;
*/
hsc?: AndroidStartupMetric_HscMetrics;
/**
* The time taken in the startup from intent received to the start time
* of the reportFullyDrawn slice. This should be longer than the time to
* first frame as the application decides this after it starts rendering.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice report_fully_drawn = 9;
*/
reportFullyDrawn?: AndroidStartupMetric_Slice;
/**
* Contains information about the status of odex files.
*
* @generated from field: repeated perfetto.protos.AndroidStartupMetric.OptimizationStatus optimization_status = 12;
*/
optimizationStatus: AndroidStartupMetric_OptimizationStatus[];
/**
* Contains information about the class verification.
*
* @generated from field: repeated perfetto.protos.AndroidStartupMetric.VerifyClass verify_class = 19;
*/
verifyClass: AndroidStartupMetric_VerifyClass[];
/**
* Contains the dlopen file names.
*
* @generated from field: repeated string dlopen_file = 20;
*/
dlopenFile: string[];
/**
* Package name of startups running concurrent to the launch.
*
* @generated from field: repeated string startup_concurrent_to_launch = 18;
*/
startupConcurrentToLaunch: string[];
/**
* Contains information about the state of the rest of the system during the
* startup. This is useful for getting context about why a startup might
* be slow beyond just what the app is doing.
*
* @generated from field: optional perfetto.protos.AndroidStartupMetric.SystemState system_state = 15;
*/
systemState?: AndroidStartupMetric_SystemState;
/**
* A list of identified potential causes for slow startup.
* Optional.
*
* @generated from field: repeated string slow_start_reason = 17;
*/
slowStartReason: string[];
/**
* Same as slow_start_reason, but with more detailed information, obsolete.
*
* @generated from field: repeated perfetto.protos.AndroidStartupMetric.SlowStartReasonDetailed slow_start_reason_detailed = 21;
*/
slowStartReasonDetailed: AndroidStartupMetric_SlowStartReasonDetailed[];
/**
* Similar to slow_start_reason_detailed, but with much more comprehensive
* info. such as expected threshold, actual value and threads/slices to
* inspect. slow_start_reason will be obsolete once
* slow_start_reason_with_details is completed since
* slow_start_reason_with_details contains all the data in slow_start_reason
* and more.
*
* @generated from field: repeated perfetto.protos.AndroidStartupMetric.SlowStartReason slow_start_reason_with_details = 24;
*/
slowStartReasonWithDetails: AndroidStartupMetric_SlowStartReason[];
};
/**
* Describes the message perfetto.protos.AndroidStartupMetric.Startup.
* Use `create(AndroidStartupMetric_StartupSchema)` to create a new message.
*/
export const AndroidStartupMetric_StartupSchema: GenMessage<AndroidStartupMetric_Startup> = /*@__PURE__*/
messageDesc(file_protos_perfetto_metrics_android_startup_metric, 0, 19);