perfetto-protos
Version:
Perfetto protos exposed via protobuf-es for browser and node
246 lines • 8.96 kB
TypeScript
import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { TraceConfig } from "../trace_config_pb";
import type { Message } from "@bufbuild/protobuf";
/**
* Describes the file protos/perfetto/config/chrome/scenario_config.proto.
*/
export declare const file_protos_perfetto_config_chrome_scenario_config: GenFile;
/**
* Rule that triggers scenario events (e.g. start, stop).
*
* @generated from message perfetto.protos.TriggerRule
*/
export type TriggerRule = Message<"perfetto.protos.TriggerRule"> & {
/**
* Rule unique name.
*
* @generated from field: optional string name = 1;
*/
name: string;
/**
* A value between 0 and 1 which encodes the probability this rule is
* triggered.
*
* @generated from field: optional float trigger_chance = 2;
*/
triggerChance: number;
/**
* Additional delay *after* the trigger below. This is mostly useful
* to trace beyond a triggered event in upload rules. Other triggers
* can still be serviced during this period.
*
* @generated from field: optional uint64 delay_ms = 3;
*/
delayMs: bigint;
/**
* Delay *before* which the rule is activated. Trigger events during this
* period are ignored by this rule. This is mostly useful to trace for a
* minimum duration before watching trigger events.
*
* @generated from field: optional uint64 activation_delay_ms = 8;
*/
activationDelayMs: bigint;
/**
* @generated from oneof perfetto.protos.TriggerRule.trigger
*/
trigger: {
/**
* Triggers when the associated named trigger is manually emitted in Chrome
* client code.
*
* @generated from field: string manual_trigger_name = 4;
*/
value: string;
case: "manualTriggerName";
} | {
/**
* @generated from field: perfetto.protos.TriggerRule.HistogramTrigger histogram = 5;
*/
value: TriggerRule_HistogramTrigger;
case: "histogram";
} | {
/**
* @generated from field: perfetto.protos.TriggerRule.RepeatingInterval repeating_interval = 6;
*/
value: TriggerRule_RepeatingInterval;
case: "repeatingInterval";
} | {
case: undefined;
value?: undefined;
};
};
/**
* Describes the message perfetto.protos.TriggerRule.
* Use `create(TriggerRuleSchema)` to create a new message.
*/
export declare const TriggerRuleSchema: GenMessage<TriggerRule>;
/**
* Triggers when a value within the specified bounds [min_value,
* max_value] is emitted into a Chrome histogram.
*
* @generated from message perfetto.protos.TriggerRule.HistogramTrigger
*/
export type TriggerRule_HistogramTrigger = Message<"perfetto.protos.TriggerRule.HistogramTrigger"> & {
/**
* @generated from field: optional string histogram_name = 1;
*/
histogramName: string;
/**
* @generated from field: optional int64 min_value = 2;
*/
minValue: bigint;
/**
* @generated from field: optional int64 max_value = 3;
*/
maxValue: bigint;
};
/**
* Describes the message perfetto.protos.TriggerRule.HistogramTrigger.
* Use `create(TriggerRule_HistogramTriggerSchema)` to create a new message.
*/
export declare const TriggerRule_HistogramTriggerSchema: GenMessage<TriggerRule_HistogramTrigger>;
/**
* Triggers on a repeating interval, every `period_ms` milliseconds if
* `randomized` is false, and at random time within a `period_ms` window
* otherwise, thus ticking with an average period of `period_ms` milliseconds.
*
* @generated from message perfetto.protos.TriggerRule.RepeatingInterval
*/
export type TriggerRule_RepeatingInterval = Message<"perfetto.protos.TriggerRule.RepeatingInterval"> & {
/**
* @generated from field: optional uint64 period_ms = 1;
*/
periodMs: bigint;
/**
* @generated from field: optional bool randomized = 2;
*/
randomized: boolean;
};
/**
* Describes the message perfetto.protos.TriggerRule.RepeatingInterval.
* Use `create(TriggerRule_RepeatingIntervalSchema)` to create a new message.
*/
export declare const TriggerRule_RepeatingIntervalSchema: GenMessage<TriggerRule_RepeatingInterval>;
/**
* @generated from message perfetto.protos.NestedScenarioConfig
*/
export type NestedScenarioConfig = Message<"perfetto.protos.NestedScenarioConfig"> & {
/**
* Nested scenario name, unique within the parent scenario.
*
* @generated from field: optional string scenario_name = 1;
*/
scenarioName: string;
/**
* When triggered, this scenario becomes active. This activates `upload_rules`
* and `stop_rules`.
*
* @generated from field: repeated perfetto.protos.TriggerRule start_rules = 2;
*/
startRules: TriggerRule[];
/**
* When triggered, exits the scenario. This reverts back to the parent
* scenario. All nested scenarios within the parent scenario will be observed
* again.
*
* @generated from field: repeated perfetto.protos.TriggerRule stop_rules = 3;
*/
stopRules: TriggerRule[];
/**
* When triggered, exits both this scenario and the parent scenario, stops the
* tracing session, and attempts to upload the trace. All scenarios are
* observed again.
*
* @generated from field: repeated perfetto.protos.TriggerRule upload_rules = 4;
*/
uploadRules: TriggerRule[];
};
/**
* Describes the message perfetto.protos.NestedScenarioConfig.
* Use `create(NestedScenarioConfigSchema)` to create a new message.
*/
export declare const NestedScenarioConfigSchema: GenMessage<NestedScenarioConfig>;
/**
* @generated from message perfetto.protos.ScenarioConfig
*/
export type ScenarioConfig = Message<"perfetto.protos.ScenarioConfig"> & {
/**
* Scenario name, unique within the whole field tracing config.
*
* @generated from field: optional string scenario_name = 1;
*/
scenarioName: string;
/**
* When triggered, this scenario becomes active. Initializes a tracing session
* and starts recording data sources. This activates `upload_rules` and
* `stop_rules`.
*
* @generated from field: repeated perfetto.protos.TriggerRule start_rules = 2;
*/
startRules: TriggerRule[];
/**
* When triggered, exits the scenario. This stops the tracing session and
* discards the trace. All scenarios will be observed again.
*
* @generated from field: repeated perfetto.protos.TriggerRule stop_rules = 3;
*/
stopRules: TriggerRule[];
/**
* When triggered, exits the scenario, stops the tracing session, and attempts
* to upload the trace. All scenarios will be observed again.
*
* @generated from field: repeated perfetto.protos.TriggerRule upload_rules = 4;
*/
uploadRules: TriggerRule[];
/**
* When triggered, this scenario becomes active. Initializes a tracing
* session, without recording data sources, and waits for a `start_rules` or
* to enter a `nested_scenarios`, which would start recording. This also
* activates `stop_rules`.
*
* @generated from field: repeated perfetto.protos.TriggerRule setup_rules = 5;
*/
setupRules: TriggerRule[];
/**
* @generated from field: optional perfetto.protos.TraceConfig trace_config = 6;
*/
traceConfig?: TraceConfig;
/**
* @generated from field: repeated perfetto.protos.NestedScenarioConfig nested_scenarios = 7;
*/
nestedScenarios: NestedScenarioConfig[];
};
/**
* Describes the message perfetto.protos.ScenarioConfig.
* Use `create(ScenarioConfigSchema)` to create a new message.
*/
export declare const ScenarioConfigSchema: GenMessage<ScenarioConfig>;
/**
* @generated from message perfetto.protos.ChromeFieldTracingConfig
*/
export type ChromeFieldTracingConfig = Message<"perfetto.protos.ChromeFieldTracingConfig"> & {
/**
* @generated from field: repeated perfetto.protos.ScenarioConfig scenarios = 1;
*/
scenarios: ScenarioConfig[];
};
/**
* Describes the message perfetto.protos.ChromeFieldTracingConfig.
* Use `create(ChromeFieldTracingConfigSchema)` to create a new message.
*/
export declare const ChromeFieldTracingConfigSchema: GenMessage<ChromeFieldTracingConfig>;
/**
* @generated from message perfetto.protos.TracingTriggerRulesConfig
*/
export type TracingTriggerRulesConfig = Message<"perfetto.protos.TracingTriggerRulesConfig"> & {
/**
* @generated from field: repeated perfetto.protos.TriggerRule rules = 1;
*/
rules: TriggerRule[];
};
/**
* Describes the message perfetto.protos.TracingTriggerRulesConfig.
* Use `create(TracingTriggerRulesConfigSchema)` to create a new message.
*/
export declare const TracingTriggerRulesConfigSchema: GenMessage<TracingTriggerRulesConfig>;
//# sourceMappingURL=scenario_config_pb.d.ts.map