perfetto-protos
Version:
Perfetto protos exposed via protobuf-es for browser and node
994 lines (888 loc) • 36.6 kB
text/typescript
//
// Copyright (C) 2018 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_processor/trace_processor.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 { DescriptorProto } from "../common/descriptor_pb";
import { file_protos_perfetto_common_descriptor } from "../common/descriptor_pb";
import type { MetatraceCategories } from "./metatrace_categories_pb";
import { file_protos_perfetto_trace_processor_metatrace_categories } from "./metatrace_categories_pb";
import type { Message } from "@bufbuild/protobuf";
/**
* Describes the file protos/perfetto/trace_processor/trace_processor.proto.
*/
export const file_protos_perfetto_trace_processor_trace_processor: GenFile = /*@__PURE__*/
fileDesc("CjVwcm90b3MvcGVyZmV0dG8vdHJhY2VfcHJvY2Vzc29yL3RyYWNlX3Byb2Nlc3Nvci5wcm90bxIPcGVyZmV0dG8ucHJvdG9zIkoKF1RyYWNlUHJvY2Vzc29yUnBjU3RyZWFtEi8KA21zZxgBIAMoCzIiLnBlcmZldHRvLnByb3Rvcy5UcmFjZVByb2Nlc3NvclJwYyLlDAoRVHJhY2VQcm9jZXNzb3JScGMSCwoDc2VxGAEgASgDEhMKC2ZhdGFsX2Vycm9yGAUgASgJEkoKB3JlcXVlc3QYAiABKA4yNy5wZXJmZXR0by5wcm90b3MuVHJhY2VQcm9jZXNzb3JScGMuVHJhY2VQcm9jZXNzb3JNZXRob2RIABJLCghyZXNwb25zZRgDIAEoDjI3LnBlcmZldHRvLnByb3Rvcy5UcmFjZVByb2Nlc3NvclJwYy5UcmFjZVByb2Nlc3Nvck1ldGhvZEgAElIKD2ludmFsaWRfcmVxdWVzdBgEIAEoDjI3LnBlcmZldHRvLnByb3Rvcy5UcmFjZVByb2Nlc3NvclJwYy5UcmFjZVByb2Nlc3Nvck1ldGhvZEgAEhsKEWFwcGVuZF90cmFjZV9kYXRhGGUgASgMSAESMAoKcXVlcnlfYXJncxhnIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5RdWVyeUFyZ3NIARJBChNjb21wdXRlX21ldHJpY19hcmdzGGkgASgLMiIucGVyZmV0dG8ucHJvdG9zLkNvbXB1dGVNZXRyaWNBcmdzSAESRQoVZW5hYmxlX21ldGF0cmFjZV9hcmdzGGogASgLMiQucGVyZmV0dG8ucHJvdG9zLkVuYWJsZU1ldGF0cmFjZUFyZ3NIARJOChpyZXNldF90cmFjZV9wcm9jZXNzb3JfYXJncxhrIAEoCzIoLnBlcmZldHRvLnByb3Rvcy5SZXNldFRyYWNlUHJvY2Vzc29yQXJnc0gBEkwKGXJlZ2lzdGVyX3NxbF9wYWNrYWdlX2FyZ3MYbCABKAsyJy5wZXJmZXR0by5wcm90b3MuUmVnaXN0ZXJTcWxQYWNrYWdlQXJnc0gBEkAKDWFwcGVuZF9yZXN1bHQYyQEgASgLMiYucGVyZmV0dG8ucHJvdG9zLkFwcGVuZFRyYWNlRGF0YVJlc3VsdEgBEjUKDHF1ZXJ5X3Jlc3VsdBjLASABKAsyHC5wZXJmZXR0by5wcm90b3MuUXVlcnlSZXN1bHRIARI+Cg1tZXRyaWNfcmVzdWx0GM0BIAEoCzIkLnBlcmZldHRvLnByb3Rvcy5Db21wdXRlTWV0cmljUmVzdWx0SAESPQoSbWV0cmljX2Rlc2NyaXB0b3JzGM4BIAEoCzIeLnBlcmZldHRvLnByb3Rvcy5EZXNjcmlwdG9yU2V0SAESRAoJbWV0YXRyYWNlGNEBIAEoCzIuLnBlcmZldHRvLnByb3Rvcy5EaXNhYmxlQW5kUmVhZE1ldGF0cmFjZVJlc3VsdEgBEjAKBnN0YXR1cxjSASABKAsyHS5wZXJmZXR0by5wcm90b3MuU3RhdHVzUmVzdWx0SAESUQobcmVnaXN0ZXJfc3FsX3BhY2thZ2VfcmVzdWx0GNMBIAEoCzIpLnBlcmZldHRvLnByb3Rvcy5SZWdpc3RlclNxbFBhY2thZ2VSZXN1bHRIARJEChRmaW5hbGl6ZV9kYXRhX3Jlc3VsdBjUASABKAsyIy5wZXJmZXR0by5wcm90b3MuRmluYWxpemVEYXRhUmVzdWx0SAEiogMKFFRyYWNlUHJvY2Vzc29yTWV0aG9kEhMKD1RQTV9VTlNQRUNJRklFRBAAEhkKFVRQTV9BUFBFTkRfVFJBQ0VfREFUQRABEhsKF1RQTV9GSU5BTElaRV9UUkFDRV9EQVRBEAISFwoTVFBNX1FVRVJZX1NUUkVBTUlORxADEhYKElRQTV9DT01QVVRFX01FVFJJQxAFEh4KGlRQTV9HRVRfTUVUUklDX0RFU0NSSVBUT1JTEAYSHgoaVFBNX1JFU1RPUkVfSU5JVElBTF9UQUJMRVMQBxIYChRUUE1fRU5BQkxFX01FVEFUUkFDRRAIEiIKHlRQTV9ESVNBQkxFX0FORF9SRUFEX01FVEFUUkFDRRAJEhIKDlRQTV9HRVRfU1RBVFVTEAoSHQoZVFBNX1JFU0VUX1RSQUNFX1BST0NFU1NPUhALEhwKGFRQTV9SRUdJU1RFUl9TUUxfUEFDS0FHRRANIgQIBBAEIgQIDBAMKhhUUE1fUVVFUllfUkFXX0RFUFJFQ0FURUQqF1RQTV9SRUdJU1RFUl9TUUxfTU9EVUxFQgYKBHR5cGVCBgoEYXJnc0oECGgQaUoGCMwBEM0BIkIKFUFwcGVuZFRyYWNlRGF0YVJlc3VsdBIaChJ0b3RhbF9ieXRlc19wYXJzZWQYASABKAMSDQoFZXJyb3IYAiABKAkiMQoJUXVlcnlBcmdzEhEKCXNxbF9xdWVyeRgBIAEoCRILCgN0YWcYAyABKAlKBAgCEAMihAQKC1F1ZXJ5UmVzdWx0EhQKDGNvbHVtbl9uYW1lcxgBIAMoCRINCgVlcnJvchgCIAEoCRI2CgViYXRjaBgDIAMoCzInLnBlcmZldHRvLnByb3Rvcy5RdWVyeVJlc3VsdC5DZWxsc0JhdGNoEhcKD3N0YXRlbWVudF9jb3VudBgEIAEoDRIjChtzdGF0ZW1lbnRfd2l0aF9vdXRwdXRfY291bnQYBSABKA0SGgoSbGFzdF9zdGF0ZW1lbnRfc3FsGAYgASgJGr0CCgpDZWxsc0JhdGNoEkMKBWNlbGxzGAEgAygOMjAucGVyZmV0dG8ucHJvdG9zLlF1ZXJ5UmVzdWx0LkNlbGxzQmF0Y2guQ2VsbFR5cGVCAhABEhgKDHZhcmludF9jZWxscxgCIAMoA0ICEAESGQoNZmxvYXQ2NF9jZWxscxgDIAMoAUICEAESEgoKYmxvYl9jZWxscxgEIAMoDBIUCgxzdHJpbmdfY2VsbHMYBSABKAkSFQoNaXNfbGFzdF9iYXRjaBgGIAEoCCJuCghDZWxsVHlwZRIQCgxDRUxMX0lOVkFMSUQQABINCglDRUxMX05VTEwQARIPCgtDRUxMX1ZBUklOVBACEhAKDENFTExfRkxPQVQ2NBADEg8KC0NFTExfU1RSSU5HEAQSDQoJQ0VMTF9CTE9CEAVKBAgHEAgiDAoKU3RhdHVzQXJncyJ0CgxTdGF0dXNSZXN1bHQSGQoRbG9hZGVkX3RyYWNlX25hbWUYASABKAkSHgoWaHVtYW5fcmVhZGFibGVfdmVyc2lvbhgCIAEoCRITCgthcGlfdmVyc2lvbhgDIAEoBRIUCgx2ZXJzaW9uX2NvZGUYBCABKAkiqAEKEUNvbXB1dGVNZXRyaWNBcmdzEhQKDG1ldHJpY19uYW1lcxgBIAMoCRI/CgZmb3JtYXQYAiABKA4yLy5wZXJmZXR0by5wcm90b3MuQ29tcHV0ZU1ldHJpY0FyZ3MuUmVzdWx0Rm9ybWF0IjwKDFJlc3VsdEZvcm1hdBITCg9CSU5BUllfUFJPVE9CVUYQABINCglURVhUUFJPVE8QARIICgRKU09OEAIifAoTQ29tcHV0ZU1ldHJpY1Jlc3VsdBIRCgdtZXRyaWNzGAEgASgMSAASHgoUbWV0cmljc19hc19wcm90b3RleHQYAyABKAlIABIZCg9tZXRyaWNzX2FzX2pzb24YBCABKAlIABINCgVlcnJvchgCIAEoCUIICgZyZXN1bHQiTwoTRW5hYmxlTWV0YXRyYWNlQXJncxI4CgpjYXRlZ29yaWVzGAEgASgOMiQucGVyZmV0dG8ucHJvdG9zLk1ldGF0cmFjZUNhdGVnb3JpZXMiFwoVRW5hYmxlTWV0YXRyYWNlUmVzdWx0Ih0KG0Rpc2FibGVBbmRSZWFkTWV0YXRyYWNlQXJncyJBCh1EaXNhYmxlQW5kUmVhZE1ldGF0cmFjZVJlc3VsdBIRCgltZXRhdHJhY2UYASABKAwSDQoFZXJyb3IYAiABKAkiRgoNRGVzY3JpcHRvclNldBI1CgtkZXNjcmlwdG9ycxgBIAMoCzIgLnBlcmZldHRvLnByb3Rvcy5EZXNjcmlwdG9yUHJvdG8i0wMKF1Jlc2V0VHJhY2VQcm9jZXNzb3JBcmdzEmcKHGRyb3BfdHJhY2tfZXZlbnRfZGF0YV9iZWZvcmUYASABKA4yQS5wZXJmZXR0by5wcm90b3MuUmVzZXRUcmFjZVByb2Nlc3NvckFyZ3MuRHJvcFRyYWNrRXZlbnREYXRhQmVmb3JlEiIKGmluZ2VzdF9mdHJhY2VfaW5fcmF3X3RhYmxlGAIgASgIEiMKG2FuYWx5emVfdHJhY2VfcHJvdG9fY29udGVudBgDIAEoCBIoCiBmdHJhY2VfZHJvcF91bnRpbF9hbGxfY3B1c192YWxpZBgEIAEoCBJKCgxwYXJzaW5nX21vZGUYBSABKA4yNC5wZXJmZXR0by5wcm90b3MuUmVzZXRUcmFjZVByb2Nlc3NvckFyZ3MuUGFyc2luZ01vZGUiSgoYRHJvcFRyYWNrRXZlbnREYXRhQmVmb3JlEgsKB05PX0RST1AQABIhCh1UUkFDS19FVkVOVF9SQU5HRV9PRl9JTlRFUkVTVBABIkQKC1BhcnNpbmdNb2RlEgsKB0RFRkFVTFQQABIRCg1UT0tFTklaRV9PTkxZEAESFQoRVE9LRU5JWkVfQU5EX1NPUlQQAiKsAQoWUmVnaXN0ZXJTcWxQYWNrYWdlQXJncxIUCgxwYWNrYWdlX25hbWUYASABKAkSPwoHbW9kdWxlcxgCIAMoCzIuLnBlcmZldHRvLnByb3Rvcy5SZWdpc3RlclNxbFBhY2thZ2VBcmdzLk1vZHVsZRIWCg5hbGxvd19vdmVycmlkZRgDIAEoCBojCgZNb2R1bGUSDAoEbmFtZRgBIAEoCRILCgNzcWwYAiABKAkiKQoYUmVnaXN0ZXJTcWxQYWNrYWdlUmVzdWx0Eg0KBWVycm9yGAEgASgJIiMKEkZpbmFsaXplRGF0YVJlc3VsdBINCgVlcnJvchgBIAEoCSpDChhUcmFjZVByb2Nlc3NvckFwaVZlcnNpb24SJwojVFJBQ0VfUFJPQ0VTU09SX0NVUlJFTlRfQVBJX1ZFUlNJT04QDg", [file_protos_perfetto_common_descriptor, file_protos_perfetto_trace_processor_metatrace_categories]);
/**
* @generated from message perfetto.protos.TraceProcessorRpcStream
*/
export type TraceProcessorRpcStream = Message<"perfetto.protos.TraceProcessorRpcStream"> & {
/**
* @generated from field: repeated perfetto.protos.TraceProcessorRpc msg = 1;
*/
msg: TraceProcessorRpc[];
};
/**
* Describes the message perfetto.protos.TraceProcessorRpcStream.
* Use `create(TraceProcessorRpcStreamSchema)` to create a new message.
*/
export const TraceProcessorRpcStreamSchema: GenMessage<TraceProcessorRpcStream> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 0);
/**
* @generated from message perfetto.protos.TraceProcessorRpc
*/
export type TraceProcessorRpc = Message<"perfetto.protos.TraceProcessorRpc"> & {
/**
* A monotonic counter used only for debugging purposes, to detect if the
* underlying stream is missing or duping data. The counter starts at 0 on
* each side of the pipe and is incremented on each message.
* Do NOT expect that a response has the same |seq| of its corresponding
* request: some requests (e.g., a query returning many rows) can yield more
* than one response message, bringing the tx and rq seq our of sync.
*
* @generated from field: optional int64 seq = 1;
*/
seq: bigint;
/**
* This is returned when some unrecoverable error has been detected by the
* peer. The typical case is TraceProcessor detecting that the |seq| sequence
* is broken (e.g. when having two tabs open with the same --httpd instance).
*
* @generated from field: optional string fatal_error = 5;
*/
fatalError: string;
/**
* @generated from oneof perfetto.protos.TraceProcessorRpc.type
*/
type: {
/**
* Client -> TraceProcessor requests.
*
* @generated from field: perfetto.protos.TraceProcessorRpc.TraceProcessorMethod request = 2;
*/
value: TraceProcessorRpc_TraceProcessorMethod;
case: "request";
} | {
/**
* TraceProcessor -> Client responses.
*
* @generated from field: perfetto.protos.TraceProcessorRpc.TraceProcessorMethod response = 3;
*/
value: TraceProcessorRpc_TraceProcessorMethod;
case: "response";
} | {
/**
* This is sent back instead of filling |response| when the client sends a
* |request| which is not known by the TraceProcessor service. This can
* happen when the client is newer than the service.
*
* @generated from field: perfetto.protos.TraceProcessorRpc.TraceProcessorMethod invalid_request = 4;
*/
value: TraceProcessorRpc_TraceProcessorMethod;
case: "invalidRequest";
} | { case: undefined; value?: undefined };
/**
* TraceProcessorMethod request args.
*
* @generated from oneof perfetto.protos.TraceProcessorRpc.args
*/
args: {
/**
* For TPM_APPEND_TRACE_DATA.
*
* @generated from field: bytes append_trace_data = 101;
*/
value: Uint8Array;
case: "appendTraceData";
} | {
/**
* For TPM_QUERY_STREAMING.
*
* @generated from field: perfetto.protos.QueryArgs query_args = 103;
*/
value: QueryArgs;
case: "queryArgs";
} | {
/**
* For TPM_COMPUTE_METRIC.
*
* @generated from field: perfetto.protos.ComputeMetricArgs compute_metric_args = 105;
*/
value: ComputeMetricArgs;
case: "computeMetricArgs";
} | {
/**
* For TPM_ENABLE_METATRACE.
*
* @generated from field: perfetto.protos.EnableMetatraceArgs enable_metatrace_args = 106;
*/
value: EnableMetatraceArgs;
case: "enableMetatraceArgs";
} | {
/**
* For TPM_RESET_TRACE_PROCESSOR.
*
* @generated from field: perfetto.protos.ResetTraceProcessorArgs reset_trace_processor_args = 107;
*/
value: ResetTraceProcessorArgs;
case: "resetTraceProcessorArgs";
} | {
/**
* For TPM_REGISTER_SQL_PACKAGE.
*
* @generated from field: perfetto.protos.RegisterSqlPackageArgs register_sql_package_args = 108;
*/
value: RegisterSqlPackageArgs;
case: "registerSqlPackageArgs";
} | {
/**
* TraceProcessorMethod response args.
* For TPM_APPEND_TRACE_DATA.
*
* @generated from field: perfetto.protos.AppendTraceDataResult append_result = 201;
*/
value: AppendTraceDataResult;
case: "appendResult";
} | {
/**
* For TPM_QUERY_STREAMING.
*
* @generated from field: perfetto.protos.QueryResult query_result = 203;
*/
value: QueryResult;
case: "queryResult";
} | {
/**
* For TPM_COMPUTE_METRIC.
*
* @generated from field: perfetto.protos.ComputeMetricResult metric_result = 205;
*/
value: ComputeMetricResult;
case: "metricResult";
} | {
/**
* For TPM_GET_METRIC_DESCRIPTORS.
*
* @generated from field: perfetto.protos.DescriptorSet metric_descriptors = 206;
*/
value: DescriptorSet;
case: "metricDescriptors";
} | {
/**
* For TPM_DISABLE_AND_READ_METATRACE.
*
* @generated from field: perfetto.protos.DisableAndReadMetatraceResult metatrace = 209;
*/
value: DisableAndReadMetatraceResult;
case: "metatrace";
} | {
/**
* For TPM_GET_STATUS.
*
* @generated from field: perfetto.protos.StatusResult status = 210;
*/
value: StatusResult;
case: "status";
} | {
/**
* For TPM_REGISTER_SQL_PACKAGE.
*
* @generated from field: perfetto.protos.RegisterSqlPackageResult register_sql_package_result = 211;
*/
value: RegisterSqlPackageResult;
case: "registerSqlPackageResult";
} | {
/**
* For TPM_FINALIZE_TRACE_DATA.
*
* @generated from field: perfetto.protos.FinalizeDataResult finalize_data_result = 212;
*/
value: FinalizeDataResult;
case: "finalizeDataResult";
} | { case: undefined; value?: undefined };
};
/**
* Describes the message perfetto.protos.TraceProcessorRpc.
* Use `create(TraceProcessorRpcSchema)` to create a new message.
*/
export const TraceProcessorRpcSchema: GenMessage<TraceProcessorRpc> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 1);
/**
* @generated from enum perfetto.protos.TraceProcessorRpc.TraceProcessorMethod
*/
export enum TraceProcessorRpc_TraceProcessorMethod {
/**
* @generated from enum value: TPM_UNSPECIFIED = 0;
*/
TPM_UNSPECIFIED = 0,
/**
* @generated from enum value: TPM_APPEND_TRACE_DATA = 1;
*/
TPM_APPEND_TRACE_DATA = 1,
/**
* @generated from enum value: TPM_FINALIZE_TRACE_DATA = 2;
*/
TPM_FINALIZE_TRACE_DATA = 2,
/**
* @generated from enum value: TPM_QUERY_STREAMING = 3;
*/
TPM_QUERY_STREAMING = 3,
/**
* Previously: TPM_QUERY_RAW_DEPRECATED
*
* @generated from enum value: TPM_COMPUTE_METRIC = 5;
*/
TPM_COMPUTE_METRIC = 5,
/**
* @generated from enum value: TPM_GET_METRIC_DESCRIPTORS = 6;
*/
TPM_GET_METRIC_DESCRIPTORS = 6,
/**
* @generated from enum value: TPM_RESTORE_INITIAL_TABLES = 7;
*/
TPM_RESTORE_INITIAL_TABLES = 7,
/**
* @generated from enum value: TPM_ENABLE_METATRACE = 8;
*/
TPM_ENABLE_METATRACE = 8,
/**
* @generated from enum value: TPM_DISABLE_AND_READ_METATRACE = 9;
*/
TPM_DISABLE_AND_READ_METATRACE = 9,
/**
* @generated from enum value: TPM_GET_STATUS = 10;
*/
TPM_GET_STATUS = 10,
/**
* @generated from enum value: TPM_RESET_TRACE_PROCESSOR = 11;
*/
TPM_RESET_TRACE_PROCESSOR = 11,
/**
* @generated from enum value: TPM_REGISTER_SQL_PACKAGE = 13;
*/
TPM_REGISTER_SQL_PACKAGE = 13,
}
/**
* Describes the enum perfetto.protos.TraceProcessorRpc.TraceProcessorMethod.
*/
export const TraceProcessorRpc_TraceProcessorMethodSchema: GenEnum<TraceProcessorRpc_TraceProcessorMethod> = /*@__PURE__*/
enumDesc(file_protos_perfetto_trace_processor_trace_processor, 1, 0);
/**
* @generated from message perfetto.protos.AppendTraceDataResult
*/
export type AppendTraceDataResult = Message<"perfetto.protos.AppendTraceDataResult"> & {
/**
* @generated from field: optional int64 total_bytes_parsed = 1;
*/
totalBytesParsed: bigint;
/**
* @generated from field: optional string error = 2;
*/
error: string;
};
/**
* Describes the message perfetto.protos.AppendTraceDataResult.
* Use `create(AppendTraceDataResultSchema)` to create a new message.
*/
export const AppendTraceDataResultSchema: GenMessage<AppendTraceDataResult> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 2);
/**
* @generated from message perfetto.protos.QueryArgs
*/
export type QueryArgs = Message<"perfetto.protos.QueryArgs"> & {
/**
* @generated from field: optional string sql_query = 1;
*/
sqlQuery: string;
/**
* Optional string to tag this query with for performance diagnostic purposes.
*
* @generated from field: optional string tag = 3;
*/
tag: string;
};
/**
* Describes the message perfetto.protos.QueryArgs.
* Use `create(QueryArgsSchema)` to create a new message.
*/
export const QueryArgsSchema: GenMessage<QueryArgs> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 3);
/**
* Output for the /query endpoint.
* Returns a query result set, grouping cells into batches. Batching allows a
* more efficient encoding of results, at the same time allowing to return
* O(M) results in a pipelined fashion, without full-memory buffering.
* Batches are split when either a large number of cells (~thousands) is reached
* or the string/blob payload becomes too large (~hundreds of KB).
* Data is batched in cells, scanning results by row -> column. e.g. if a query
* returns 3 columns and 2 rows, the cells will be emitted in this order:
* R0C0, R0C1, R0C2, R1C0, R1C1, R1C2.
*
* @generated from message perfetto.protos.QueryResult
*/
export type QueryResult = Message<"perfetto.protos.QueryResult"> & {
/**
* This determines the number and names of columns.
*
* @generated from field: repeated string column_names = 1;
*/
columnNames: string[];
/**
* If non-emty the query returned an error. Note that some cells might still
* be present, if the error happened while iterating.
*
* @generated from field: optional string error = 2;
*/
error: string;
/**
* @generated from field: repeated perfetto.protos.QueryResult.CellsBatch batch = 3;
*/
batch: QueryResult_CellsBatch[];
/**
* The number of statements in the provided SQL.
*
* @generated from field: optional uint32 statement_count = 4;
*/
statementCount: number;
/**
* The number of statements which produced output rows in the provided SQL.
*
* @generated from field: optional uint32 statement_with_output_count = 5;
*/
statementWithOutputCount: number;
/**
* The last statement in the provided SQL.
*
* @generated from field: optional string last_statement_sql = 6;
*/
lastStatementSql: string;
};
/**
* Describes the message perfetto.protos.QueryResult.
* Use `create(QueryResultSchema)` to create a new message.
*/
export const QueryResultSchema: GenMessage<QueryResult> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 4);
/**
* A batch contains an array of cell headers, stating the type of each cell.
* The payload of each cell is stored in the corresponding xxx_cells field
* below (unless the cell is NULL).
* So if |cells| contains: [VARINT, FLOAT64, VARINT, STRING], the results will
* be available as:
* [varint_cells[0], float64_cells[0], varint_cells[1], string_cells[0]].
*
* @generated from message perfetto.protos.QueryResult.CellsBatch
*/
export type QueryResult_CellsBatch = Message<"perfetto.protos.QueryResult.CellsBatch"> & {
/**
* @generated from field: repeated perfetto.protos.QueryResult.CellsBatch.CellType cells = 1 [packed = true];
*/
cells: QueryResult_CellsBatch_CellType[];
/**
* @generated from field: repeated int64 varint_cells = 2 [packed = true];
*/
varintCells: bigint[];
/**
* @generated from field: repeated double float64_cells = 3 [packed = true];
*/
float64Cells: number[];
/**
* @generated from field: repeated bytes blob_cells = 4;
*/
blobCells: Uint8Array[];
/**
* The string cells are concatenated in a single field. Each cell is
* NUL-terminated. This is because JS incurs into a non-negligible overhead
* when decoding strings and one decode + split('\0') is measurably faster
* than decoding N strings. See goto.google.com/postmessage-benchmark .
*
* @generated from field: optional string string_cells = 5;
*/
stringCells: string;
/**
* If true this is the last batch for the query result.
*
* @generated from field: optional bool is_last_batch = 6;
*/
isLastBatch: boolean;
};
/**
* Describes the message perfetto.protos.QueryResult.CellsBatch.
* Use `create(QueryResult_CellsBatchSchema)` to create a new message.
*/
export const QueryResult_CellsBatchSchema: GenMessage<QueryResult_CellsBatch> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 4, 0);
/**
* @generated from enum perfetto.protos.QueryResult.CellsBatch.CellType
*/
export enum QueryResult_CellsBatch_CellType {
/**
* @generated from enum value: CELL_INVALID = 0;
*/
CELL_INVALID = 0,
/**
* @generated from enum value: CELL_NULL = 1;
*/
CELL_NULL = 1,
/**
* @generated from enum value: CELL_VARINT = 2;
*/
CELL_VARINT = 2,
/**
* @generated from enum value: CELL_FLOAT64 = 3;
*/
CELL_FLOAT64 = 3,
/**
* @generated from enum value: CELL_STRING = 4;
*/
CELL_STRING = 4,
/**
* @generated from enum value: CELL_BLOB = 5;
*/
CELL_BLOB = 5,
}
/**
* Describes the enum perfetto.protos.QueryResult.CellsBatch.CellType.
*/
export const QueryResult_CellsBatch_CellTypeSchema: GenEnum<QueryResult_CellsBatch_CellType> = /*@__PURE__*/
enumDesc(file_protos_perfetto_trace_processor_trace_processor, 4, 0, 0);
/**
* Input for the /status endpoint.
*
* @generated from message perfetto.protos.StatusArgs
*/
export type StatusArgs = Message<"perfetto.protos.StatusArgs"> & {
};
/**
* Describes the message perfetto.protos.StatusArgs.
* Use `create(StatusArgsSchema)` to create a new message.
*/
export const StatusArgsSchema: GenMessage<StatusArgs> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 5);
/**
* Output for the /status endpoint.
*
* @generated from message perfetto.protos.StatusResult
*/
export type StatusResult = Message<"perfetto.protos.StatusResult"> & {
/**
* If present and not empty, a trace is already loaded already. This happens
* when using the HTTP+RPC mode nad passing a trace file to the shell, via
* trace_processor_shell -D trace_file.pftrace .
*
* @generated from field: optional string loaded_trace_name = 1;
*/
loadedTraceName: string;
/**
* Typically something like "v11.0.123", but could be just "v11" or "unknown",
* for binaries built from Bazel or other build configurations. This is for
* human presentation only, don't attempt to parse and reason on it.
*
* @generated from field: optional string human_readable_version = 2;
*/
humanReadableVersion: string;
/**
* The API version is incremented every time a change that the UI depends
* on is introduced (e.g. adding a new table that the UI queries).
*
* @generated from field: optional int32 api_version = 3;
*/
apiVersion: number;
/**
* Typically something like "v42.1-deadbeef0", but could be just
* "v42", "v0.0", or unset for binaries built from Bazel or other
* build configurations. This can be compared with equality to other
* version codes to detect matched builds (for example to see if
* trace_processor_shell and the UI were built at the same revision)
* but you should not attempt to parse it as the format may change
* without warning.
*
* @generated from field: optional string version_code = 4;
*/
versionCode: string;
};
/**
* Describes the message perfetto.protos.StatusResult.
* Use `create(StatusResultSchema)` to create a new message.
*/
export const StatusResultSchema: GenMessage<StatusResult> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 6);
/**
* Input for the /compute_metric endpoint.
*
* @generated from message perfetto.protos.ComputeMetricArgs
*/
export type ComputeMetricArgs = Message<"perfetto.protos.ComputeMetricArgs"> & {
/**
* @generated from field: repeated string metric_names = 1;
*/
metricNames: string[];
/**
* @generated from field: optional perfetto.protos.ComputeMetricArgs.ResultFormat format = 2;
*/
format: ComputeMetricArgs_ResultFormat;
};
/**
* Describes the message perfetto.protos.ComputeMetricArgs.
* Use `create(ComputeMetricArgsSchema)` to create a new message.
*/
export const ComputeMetricArgsSchema: GenMessage<ComputeMetricArgs> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 7);
/**
* @generated from enum perfetto.protos.ComputeMetricArgs.ResultFormat
*/
export enum ComputeMetricArgs_ResultFormat {
/**
* @generated from enum value: BINARY_PROTOBUF = 0;
*/
BINARY_PROTOBUF = 0,
/**
* @generated from enum value: TEXTPROTO = 1;
*/
TEXTPROTO = 1,
/**
* @generated from enum value: JSON = 2;
*/
JSON = 2,
}
/**
* Describes the enum perfetto.protos.ComputeMetricArgs.ResultFormat.
*/
export const ComputeMetricArgs_ResultFormatSchema: GenEnum<ComputeMetricArgs_ResultFormat> = /*@__PURE__*/
enumDesc(file_protos_perfetto_trace_processor_trace_processor, 7, 0);
/**
* Output for the /compute_metric endpoint.
*
* @generated from message perfetto.protos.ComputeMetricResult
*/
export type ComputeMetricResult = Message<"perfetto.protos.ComputeMetricResult"> & {
/**
* @generated from oneof perfetto.protos.ComputeMetricResult.result
*/
result: {
/**
* This is meant to contain a perfetto.protos.TraceMetrics. We're using
* bytes instead of the actual type because we do not want to generate
* protozero code for the metrics protos. We always encode/decode metrics
* using a reflection based mechanism that does not require the compiled C++
* code. This allows us to read in new protos at runtime.
*
* @generated from field: bytes metrics = 1;
*/
value: Uint8Array;
case: "metrics";
} | {
/**
* A perfetto.protos.TraceMetrics formatted as prototext.
*
* @generated from field: string metrics_as_prototext = 3;
*/
value: string;
case: "metricsAsPrototext";
} | {
/**
* A perfetto.protos.TraceMetrics formatted as json.
*
* @generated from field: string metrics_as_json = 4;
*/
value: string;
case: "metricsAsJson";
} | { case: undefined; value?: undefined };
/**
* @generated from field: optional string error = 2;
*/
error: string;
};
/**
* Describes the message perfetto.protos.ComputeMetricResult.
* Use `create(ComputeMetricResultSchema)` to create a new message.
*/
export const ComputeMetricResultSchema: GenMessage<ComputeMetricResult> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 8);
/**
* Input for the /enable_metatrace endpoint.
*
* @generated from message perfetto.protos.EnableMetatraceArgs
*/
export type EnableMetatraceArgs = Message<"perfetto.protos.EnableMetatraceArgs"> & {
/**
* @generated from field: optional perfetto.protos.MetatraceCategories categories = 1;
*/
categories: MetatraceCategories;
};
/**
* Describes the message perfetto.protos.EnableMetatraceArgs.
* Use `create(EnableMetatraceArgsSchema)` to create a new message.
*/
export const EnableMetatraceArgsSchema: GenMessage<EnableMetatraceArgs> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 9);
/**
* Output for the /enable_metatrace endpoint.
*
* @generated from message perfetto.protos.EnableMetatraceResult
*/
export type EnableMetatraceResult = Message<"perfetto.protos.EnableMetatraceResult"> & {
};
/**
* Describes the message perfetto.protos.EnableMetatraceResult.
* Use `create(EnableMetatraceResultSchema)` to create a new message.
*/
export const EnableMetatraceResultSchema: GenMessage<EnableMetatraceResult> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 10);
/**
* Input for the /disable_and_read_metatrace endpoint.
*
* @generated from message perfetto.protos.DisableAndReadMetatraceArgs
*/
export type DisableAndReadMetatraceArgs = Message<"perfetto.protos.DisableAndReadMetatraceArgs"> & {
};
/**
* Describes the message perfetto.protos.DisableAndReadMetatraceArgs.
* Use `create(DisableAndReadMetatraceArgsSchema)` to create a new message.
*/
export const DisableAndReadMetatraceArgsSchema: GenMessage<DisableAndReadMetatraceArgs> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 11);
/**
* Output for the /disable_and_read_metatrace endpoint.
*
* @generated from message perfetto.protos.DisableAndReadMetatraceResult
*/
export type DisableAndReadMetatraceResult = Message<"perfetto.protos.DisableAndReadMetatraceResult"> & {
/**
* Bytes of perfetto.protos.Trace message. Stored as bytes
* to avoid adding a dependency on trace.proto.
*
* @generated from field: optional bytes metatrace = 1;
*/
metatrace: Uint8Array;
/**
* @generated from field: optional string error = 2;
*/
error: string;
};
/**
* Describes the message perfetto.protos.DisableAndReadMetatraceResult.
* Use `create(DisableAndReadMetatraceResultSchema)` to create a new message.
*/
export const DisableAndReadMetatraceResultSchema: GenMessage<DisableAndReadMetatraceResult> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 12);
/**
* Convenience wrapper for multiple descriptors, similar to FileDescriptorSet
* in descriptor.proto.
*
* @generated from message perfetto.protos.DescriptorSet
*/
export type DescriptorSet = Message<"perfetto.protos.DescriptorSet"> & {
/**
* @generated from field: repeated perfetto.protos.DescriptorProto descriptors = 1;
*/
descriptors: DescriptorProto[];
};
/**
* Describes the message perfetto.protos.DescriptorSet.
* Use `create(DescriptorSetSchema)` to create a new message.
*/
export const DescriptorSetSchema: GenMessage<DescriptorSet> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 13);
/**
* Input for setting Trace Processor config. This method works only in the WASM
* mode. trace_processor_shell supports configuration through command line
* flags.
*
* @generated from message perfetto.protos.ResetTraceProcessorArgs
*/
export type ResetTraceProcessorArgs = Message<"perfetto.protos.ResetTraceProcessorArgs"> & {
/**
* Mirror of the corresponding perfetto::trace_processor::Config fields.
*
* @generated from field: optional perfetto.protos.ResetTraceProcessorArgs.DropTrackEventDataBefore drop_track_event_data_before = 1;
*/
dropTrackEventDataBefore: ResetTraceProcessorArgs_DropTrackEventDataBefore;
/**
* @generated from field: optional bool ingest_ftrace_in_raw_table = 2;
*/
ingestFtraceInRawTable: boolean;
/**
* @generated from field: optional bool analyze_trace_proto_content = 3;
*/
analyzeTraceProtoContent: boolean;
/**
* @generated from field: optional bool ftrace_drop_until_all_cpus_valid = 4;
*/
ftraceDropUntilAllCpusValid: boolean;
/**
* @generated from field: optional perfetto.protos.ResetTraceProcessorArgs.ParsingMode parsing_mode = 5;
*/
parsingMode: ResetTraceProcessorArgs_ParsingMode;
};
/**
* Describes the message perfetto.protos.ResetTraceProcessorArgs.
* Use `create(ResetTraceProcessorArgsSchema)` to create a new message.
*/
export const ResetTraceProcessorArgsSchema: GenMessage<ResetTraceProcessorArgs> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 14);
/**
* @generated from enum perfetto.protos.ResetTraceProcessorArgs.DropTrackEventDataBefore
*/
export enum ResetTraceProcessorArgs_DropTrackEventDataBefore {
/**
* @generated from enum value: NO_DROP = 0;
*/
NO_DROP = 0,
/**
* @generated from enum value: TRACK_EVENT_RANGE_OF_INTEREST = 1;
*/
TRACK_EVENT_RANGE_OF_INTEREST = 1,
}
/**
* Describes the enum perfetto.protos.ResetTraceProcessorArgs.DropTrackEventDataBefore.
*/
export const ResetTraceProcessorArgs_DropTrackEventDataBeforeSchema: GenEnum<ResetTraceProcessorArgs_DropTrackEventDataBefore> = /*@__PURE__*/
enumDesc(file_protos_perfetto_trace_processor_trace_processor, 14, 0);
/**
* @generated from enum perfetto.protos.ResetTraceProcessorArgs.ParsingMode
*/
export enum ResetTraceProcessorArgs_ParsingMode {
/**
* @generated from enum value: DEFAULT = 0;
*/
DEFAULT = 0,
/**
* @generated from enum value: TOKENIZE_ONLY = 1;
*/
TOKENIZE_ONLY = 1,
/**
* @generated from enum value: TOKENIZE_AND_SORT = 2;
*/
TOKENIZE_AND_SORT = 2,
}
/**
* Describes the enum perfetto.protos.ResetTraceProcessorArgs.ParsingMode.
*/
export const ResetTraceProcessorArgs_ParsingModeSchema: GenEnum<ResetTraceProcessorArgs_ParsingMode> = /*@__PURE__*/
enumDesc(file_protos_perfetto_trace_processor_trace_processor, 14, 1);
/**
* @generated from message perfetto.protos.RegisterSqlPackageArgs
*/
export type RegisterSqlPackageArgs = Message<"perfetto.protos.RegisterSqlPackageArgs"> & {
/**
* @generated from field: optional string package_name = 1;
*/
packageName: string;
/**
* @generated from field: repeated perfetto.protos.RegisterSqlPackageArgs.Module modules = 2;
*/
modules: RegisterSqlPackageArgs_Module[];
/**
* @generated from field: optional bool allow_override = 3;
*/
allowOverride: boolean;
};
/**
* Describes the message perfetto.protos.RegisterSqlPackageArgs.
* Use `create(RegisterSqlPackageArgsSchema)` to create a new message.
*/
export const RegisterSqlPackageArgsSchema: GenMessage<RegisterSqlPackageArgs> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 15);
/**
* @generated from message perfetto.protos.RegisterSqlPackageArgs.Module
*/
export type RegisterSqlPackageArgs_Module = Message<"perfetto.protos.RegisterSqlPackageArgs.Module"> & {
/**
* @generated from field: optional string name = 1;
*/
name: string;
/**
* @generated from field: optional string sql = 2;
*/
sql: string;
};
/**
* Describes the message perfetto.protos.RegisterSqlPackageArgs.Module.
* Use `create(RegisterSqlPackageArgs_ModuleSchema)` to create a new message.
*/
export const RegisterSqlPackageArgs_ModuleSchema: GenMessage<RegisterSqlPackageArgs_Module> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 15, 0);
/**
* @generated from message perfetto.protos.RegisterSqlPackageResult
*/
export type RegisterSqlPackageResult = Message<"perfetto.protos.RegisterSqlPackageResult"> & {
/**
* @generated from field: optional string error = 1;
*/
error: string;
};
/**
* Describes the message perfetto.protos.RegisterSqlPackageResult.
* Use `create(RegisterSqlPackageResultSchema)` to create a new message.
*/
export const RegisterSqlPackageResultSchema: GenMessage<RegisterSqlPackageResult> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 16);
/**
* @generated from message perfetto.protos.FinalizeDataResult
*/
export type FinalizeDataResult = Message<"perfetto.protos.FinalizeDataResult"> & {
/**
* @generated from field: optional string error = 1;
*/
error: string;
};
/**
* Describes the message perfetto.protos.FinalizeDataResult.
* Use `create(FinalizeDataResultSchema)` to create a new message.
*/
export const FinalizeDataResultSchema: GenMessage<FinalizeDataResult> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_processor_trace_processor, 17);
/**
* @generated from enum perfetto.protos.TraceProcessorApiVersion
*/
export enum TraceProcessorApiVersion {
/**
* This variable has been introduced in v15 and is used to deal with API
* mismatches between UI and trace_processor_shell --httpd.
*
* Prior to API version 11 this was incremented every time a new
* feature that the UI depended on was introduced (e.g. new tables,
* new SQL operators, metrics that are required by the UI, etc).
* This:
* a. Tended to be forgotten
* b. Still led to issues when the TP dropped *backwards*
* compatibility of a feature (since we checked TP >= UI
* TRACE_PROCESSOR_CURRENT_API_VERSION).
* Now the UI attempts to redirect the user to the matched version
* of the UI if one exists.
* See also StatusResult.api_version (below).
* Changes:
* 7. Introduce GUESS_CPU_SIZE
* 8. Add 'json' option to ComputeMetricArgs
* 9. Add get_thread_state_summary_for_interval.
* 10. Add 'slice_is_ancestor' to stdlib.
* 11. Removal of experimental module from stdlib.
* 12. Changed UI to be more aggresive about version matching.
* Added version_code.
* 13. Added TPM_REGISTER_SQL_MODULE method.
* 14. Added parsing mode option to RESET method.
*
* @generated from enum value: TRACE_PROCESSOR_CURRENT_API_VERSION = 14;
*/
TRACE_PROCESSOR_CURRENT_API_VERSION = 14,
}
/**
* Describes the enum perfetto.protos.TraceProcessorApiVersion.
*/
export const TraceProcessorApiVersionSchema: GenEnum<TraceProcessorApiVersion> = /*@__PURE__*/
enumDesc(file_protos_perfetto_trace_processor_trace_processor, 0);