mirror of
https://github.com/dart-lang/sdk
synced 2024-10-06 13:08:01 +00:00
[VM/Service] Create package:vm_service_protos for distributing code for working with Perfetto protos
TEST=get_perfetto_vm_timeline_rpc_test and get_perfetto_cpu_samples_rpc_test Change-Id: I4a001ec634b939a258e337630633ce826e0f8b4d Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/303022 Reviewed-by: Ben Konyi <bkonyi@google.com> Reviewed-by: Jake Macdonald <jakemac@google.com> Commit-Queue: Derek Xu <derekx@google.com>
This commit is contained in:
parent
a54d2ec9b8
commit
be125afc18
|
@ -9,8 +9,6 @@ repository: https://github.com/dart-lang/sdk/tree/main/pkg/vm_service
|
|||
environment:
|
||||
sdk: '>=2.19.0 <4.0.0'
|
||||
|
||||
dependencies:
|
||||
|
||||
# We use 'any' version constraints here as we get our package versions from
|
||||
# the dart-lang/sdk repo's DEPS file. Note that this is a special case; the
|
||||
# best practice for packages is to specify their compatible version ranges.
|
||||
|
@ -25,6 +23,7 @@ dev_dependencies:
|
|||
pub_semver: any
|
||||
test_package: any
|
||||
test: any
|
||||
vm_service_protos: any
|
||||
|
||||
dependency_overrides:
|
||||
test_package:
|
||||
|
|
98
pkg/vm_service/test/get_perfetto_cpu_samples_rpc_test.dart
Normal file
98
pkg/vm_service/test/get_perfetto_cpu_samples_rpc_test.dart
Normal file
|
@ -0,0 +1,98 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:test/test.dart';
|
||||
import 'package:vm_service/vm_service.dart' hide Timeline;
|
||||
import 'package:vm_service_protos/vm_service_protos.dart';
|
||||
|
||||
import 'common/test_helper.dart';
|
||||
|
||||
int computeTimeOriginNanos(List<TracePacket> packets) {
|
||||
final packetsWithPerfSamples =
|
||||
packets.where((packet) => packet.hasPerfSample()).toList();
|
||||
if (packetsWithPerfSamples.length == 0) {
|
||||
return 0;
|
||||
}
|
||||
int smallest = packetsWithPerfSamples.first.timestamp.toInt();
|
||||
for (int i = 0; i < packetsWithPerfSamples.length; i++) {
|
||||
if (packetsWithPerfSamples[i].timestamp < smallest) {
|
||||
smallest = packetsWithPerfSamples[i].timestamp.toInt();
|
||||
}
|
||||
}
|
||||
return smallest;
|
||||
}
|
||||
|
||||
int computeTimeExtentNanos(List<TracePacket> packets, int timeOrigin) {
|
||||
final packetsWithPerfSamples =
|
||||
packets.where((packet) => packet.hasPerfSample()).toList();
|
||||
if (packetsWithPerfSamples.length == 0) {
|
||||
return 0;
|
||||
}
|
||||
int largestExtent = packetsWithPerfSamples[0].timestamp.toInt() - timeOrigin;
|
||||
for (var i = 0; i < packetsWithPerfSamples.length; i++) {
|
||||
int duration = packetsWithPerfSamples[i].timestamp.toInt() - timeOrigin;
|
||||
if (duration > largestExtent) {
|
||||
largestExtent = duration;
|
||||
}
|
||||
}
|
||||
return largestExtent;
|
||||
}
|
||||
|
||||
Iterable<PerfSample> extractPerfSamplesFromTracePackets(
|
||||
List<TracePacket> packets) {
|
||||
return packets
|
||||
.where((packet) => packet.hasPerfSample())
|
||||
.map((packet) => packet.perfSample);
|
||||
}
|
||||
|
||||
final tests = <IsolateTest>[
|
||||
(VmService service, IsolateRef isolateRef) async {
|
||||
final result = await service.getPerfettoCpuSamples(isolateRef.id!);
|
||||
expect(result.type, 'PerfettoCpuSamples');
|
||||
expect(result.samplePeriod, isPositive);
|
||||
expect(result.maxStackDepth, isPositive);
|
||||
expect(result.sampleCount, isPositive);
|
||||
expect(result.timeOriginMicros, isPositive);
|
||||
expect(result.timeExtentMicros, isPositive);
|
||||
expect(result.pid, isNotNull);
|
||||
|
||||
final trace = Trace.fromBuffer(base64Decode(result.samples!));
|
||||
final packets = trace.packet;
|
||||
int frameCount = 0;
|
||||
int callstackCount = 0;
|
||||
int perfSampleCount = 0;
|
||||
for (final packet in packets) {
|
||||
if (packet.hasInternedData()) {
|
||||
frameCount += packet.internedData.frames.length;
|
||||
callstackCount += packet.internedData.callstacks.length;
|
||||
}
|
||||
if (packet.hasPerfSample()) {
|
||||
perfSampleCount += 1;
|
||||
}
|
||||
}
|
||||
expect(frameCount, isPositive);
|
||||
expect(callstackCount, isPositive);
|
||||
expect(perfSampleCount, callstackCount);
|
||||
|
||||
// Calculate the time window of events.
|
||||
final timeOriginNanos = computeTimeOriginNanos(packets);
|
||||
final timeExtentNanos = computeTimeExtentNanos(packets, timeOriginNanos);
|
||||
// Query for the samples within the time window.
|
||||
final filteredResult = await service.getPerfettoCpuSamples(isolateRef.id!,
|
||||
timeOriginMicros: timeOriginNanos ~/ 1000,
|
||||
timeExtentMicros: timeExtentNanos ~/ 1000);
|
||||
// Verify that we have the same number of [PerfSample]s.
|
||||
final filteredTrace =
|
||||
Trace.fromBuffer(base64Decode(filteredResult.samples!));
|
||||
expect(extractPerfSamplesFromTracePackets(filteredTrace.packet).length,
|
||||
extractPerfSamplesFromTracePackets(packets).length);
|
||||
},
|
||||
];
|
||||
|
||||
main([args = const <String>[]]) async {
|
||||
await runIsolateTests(args, tests, 'get_perfetto_cpu_samples_rpc_test.dart',
|
||||
extraArgs: ['--profiler=true']);
|
||||
}
|
223
pkg/vm_service/test/get_perfetto_vm_timeline_rpc_test.dart
Normal file
223
pkg/vm_service/test/get_perfetto_vm_timeline_rpc_test.dart
Normal file
|
@ -0,0 +1,223 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
import 'dart:collection';
|
||||
import 'dart:convert';
|
||||
import 'dart:developer';
|
||||
|
||||
import 'package:test/test.dart';
|
||||
import 'package:vm_service/vm_service.dart' hide Timeline;
|
||||
import 'package:vm_service_protos/vm_service_protos.dart';
|
||||
|
||||
import 'common/test_helper.dart';
|
||||
|
||||
void primeTimeline() {
|
||||
Timeline.startSync('apple');
|
||||
Timeline.instantSync('ISYNC', arguments: {'fruit': 'banana'});
|
||||
Timeline.finishSync();
|
||||
|
||||
final parentTask = TimelineTask.withTaskId(42);
|
||||
final task = TimelineTask(parent: parentTask, filterKey: 'testFilter');
|
||||
task.start('TASK1', arguments: {'task1-start-key': 'task1-start-value'});
|
||||
task.instant('ITASK',
|
||||
arguments: {'task1-instant-key': 'task1-instant-value'});
|
||||
task.finish(arguments: {'task1-finish-key': 'task1-finish-value'});
|
||||
|
||||
final flow = Flow.begin(id: 123);
|
||||
Timeline.startSync('peach', flow: flow);
|
||||
Timeline.finishSync();
|
||||
Timeline.startSync('watermelon', flow: Flow.step(flow.id));
|
||||
Timeline.finishSync();
|
||||
Timeline.startSync('pear', flow: Flow.end(flow.id));
|
||||
Timeline.finishSync();
|
||||
}
|
||||
|
||||
Iterable<TrackEvent> extractTrackEventsFromTracePackets(
|
||||
List<TracePacket> packets) {
|
||||
return packets
|
||||
.where((packet) => packet.hasTrackEvent())
|
||||
.map((packet) => packet.trackEvent);
|
||||
}
|
||||
|
||||
Map<String, String> mapFromListOfDebugAnnotations(
|
||||
List<DebugAnnotation> debugAnnotations) {
|
||||
return HashMap.fromEntries(debugAnnotations.map((a) {
|
||||
if (a.hasStringValue()) {
|
||||
return MapEntry(a.name, a.stringValue);
|
||||
} else if (a.hasLegacyJsonValue()) {
|
||||
return MapEntry(a.name, a.legacyJsonValue);
|
||||
} else {
|
||||
throw 'We should not be writing annotations without values';
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
void checkThatAllEventsHaveIsolateNumbers(Iterable<TrackEvent> events) {
|
||||
for (TrackEvent event in events) {
|
||||
final debugAnnotations =
|
||||
mapFromListOfDebugAnnotations(event.debugAnnotations);
|
||||
expect(debugAnnotations['isolateGroupId'], isNotNull);
|
||||
expect(debugAnnotations['isolateId'], isNotNull);
|
||||
}
|
||||
}
|
||||
|
||||
bool mapContains(Map<String, dynamic> map, Map<String, String> submap) {
|
||||
for (final key in submap.keys) {
|
||||
if (map[key] != submap[key]) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
int countNumberOfEventsOfType(
|
||||
Iterable<TrackEvent> events, TrackEvent_Type type) {
|
||||
return events.where((event) {
|
||||
return event.type == type;
|
||||
}).length;
|
||||
}
|
||||
|
||||
bool eventsContains(Iterable<TrackEvent> events, TrackEvent_Type type,
|
||||
{String? name, int? flowId, Map<String, String>? arguments}) {
|
||||
return events.any((event) {
|
||||
if (event.type != type) {
|
||||
return false;
|
||||
}
|
||||
if (name != null && event.name != name) {
|
||||
return false;
|
||||
}
|
||||
if (flowId != null &&
|
||||
(event.flowIds.isEmpty || event.flowIds.first != flowId)) {
|
||||
return false;
|
||||
}
|
||||
if (event.debugAnnotations.isEmpty) {
|
||||
return arguments == null;
|
||||
} else {
|
||||
final Map<String, dynamic> dartArguments = jsonDecode(
|
||||
mapFromListOfDebugAnnotations(
|
||||
event.debugAnnotations)['Dart Arguments']!);
|
||||
if (arguments == null) {
|
||||
return dartArguments.isEmpty;
|
||||
} else {
|
||||
return mapContains(dartArguments, arguments);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
int computeTimeOriginNanos(List<TracePacket> packets) {
|
||||
final packetsWithEvents =
|
||||
packets.where((packet) => packet.hasTrackEvent()).toList();
|
||||
if (packetsWithEvents.length == 0) {
|
||||
return 0;
|
||||
}
|
||||
int smallest = packetsWithEvents.first.timestamp.toInt();
|
||||
for (int i = 0; i < packetsWithEvents.length; i++) {
|
||||
if (packetsWithEvents[i].timestamp < smallest) {
|
||||
smallest = packetsWithEvents[i].timestamp.toInt();
|
||||
}
|
||||
}
|
||||
return smallest;
|
||||
}
|
||||
|
||||
int computeTimeExtentNanos(List<TracePacket> packets, int timeOrigin) {
|
||||
final packetsWithEvents =
|
||||
packets.where((packet) => packet.hasTrackEvent()).toList();
|
||||
if (packetsWithEvents.length == 0) {
|
||||
return 0;
|
||||
}
|
||||
int largestExtent = packetsWithEvents[0].timestamp.toInt() - timeOrigin;
|
||||
for (var i = 0; i < packetsWithEvents.length; i++) {
|
||||
int duration = packetsWithEvents[i].timestamp.toInt() - timeOrigin;
|
||||
if (duration > largestExtent) {
|
||||
largestExtent = duration;
|
||||
}
|
||||
}
|
||||
return largestExtent;
|
||||
}
|
||||
|
||||
final tests = <VMTest>[
|
||||
(VmService service) async {
|
||||
final result = await service.getPerfettoVMTimeline();
|
||||
expect(result.type, 'PerfettoTimeline');
|
||||
expect(result.timeOriginMicros, isPositive);
|
||||
expect(result.timeExtentMicros, isPositive);
|
||||
|
||||
final trace = Trace.fromBuffer(base64Decode(result.trace!));
|
||||
final packets = trace.packet;
|
||||
final events = extractTrackEventsFromTracePackets(packets);
|
||||
expect(events.length, greaterThanOrEqualTo(12));
|
||||
checkThatAllEventsHaveIsolateNumbers(events);
|
||||
expect(
|
||||
countNumberOfEventsOfType(events, TrackEvent_Type.TYPE_SLICE_BEGIN),
|
||||
countNumberOfEventsOfType(events, TrackEvent_Type.TYPE_SLICE_END),
|
||||
);
|
||||
expect(
|
||||
eventsContains(events, TrackEvent_Type.TYPE_INSTANT,
|
||||
name: 'ISYNC', arguments: {'fruit': 'banana'}),
|
||||
true);
|
||||
expect(
|
||||
eventsContains(events, TrackEvent_Type.TYPE_SLICE_BEGIN, name: 'apple'),
|
||||
true);
|
||||
expect(
|
||||
eventsContains(events, TrackEvent_Type.TYPE_SLICE_BEGIN,
|
||||
name: 'TASK1',
|
||||
arguments: {
|
||||
'filterKey': 'testFilter',
|
||||
'task1-start-key': 'task1-start-value',
|
||||
'parentId': 42.toRadixString(16)
|
||||
}),
|
||||
true);
|
||||
expect(
|
||||
eventsContains(events, TrackEvent_Type.TYPE_SLICE_END, arguments: {
|
||||
'filterKey': 'testFilter',
|
||||
'task1-finish-key': 'task1-finish-value',
|
||||
}),
|
||||
true);
|
||||
expect(
|
||||
eventsContains(events, TrackEvent_Type.TYPE_INSTANT,
|
||||
name: 'ITASK',
|
||||
arguments: {
|
||||
'filterKey': 'testFilter',
|
||||
'task1-instant-key': 'task1-instant-value',
|
||||
}),
|
||||
true);
|
||||
expect(
|
||||
eventsContains(events, TrackEvent_Type.TYPE_SLICE_BEGIN,
|
||||
name: 'peach', flowId: 123),
|
||||
true);
|
||||
expect(
|
||||
eventsContains(events, TrackEvent_Type.TYPE_SLICE_BEGIN,
|
||||
name: 'watermelon', flowId: 123),
|
||||
true);
|
||||
expect(
|
||||
eventsContains(events, TrackEvent_Type.TYPE_SLICE_BEGIN,
|
||||
name: 'pear', flowId: 123),
|
||||
true);
|
||||
|
||||
// Calculate the time window of events.
|
||||
final timeOriginNanos = computeTimeOriginNanos(packets);
|
||||
final timeExtentNanos = computeTimeExtentNanos(packets, timeOriginNanos);
|
||||
// Query for the timeline with the time window.
|
||||
final filteredResult = await service.getPerfettoVMTimeline(
|
||||
timeOriginMicros: timeOriginNanos ~/ 1000,
|
||||
timeExtentMicros: timeExtentNanos ~/ 1000);
|
||||
// Verify that we have the same number of events.
|
||||
final filteredTrace = Trace.fromBuffer(base64Decode(filteredResult.trace!));
|
||||
expect(extractTrackEventsFromTracePackets(filteredTrace.packet).length,
|
||||
events.length);
|
||||
},
|
||||
];
|
||||
|
||||
main([args = const <String>[]]) async {
|
||||
await runVMTests(
|
||||
args, tests, 'get_perfetto_vm_timeline_rpc_test.dart',
|
||||
testeeBefore: primeTimeline,
|
||||
// TODO(derekx): runtime/observatory/tests/service/get_vm_timeline_rpc_test
|
||||
// runs with --complete-timeline, but for performance reasons, we cannot do
|
||||
// the same until this [runVMTests] method supports the [executableArgs] and
|
||||
// [compileToKernelFirst] parameters.
|
||||
extraArgs: ['--timeline-streams=Dart'],
|
||||
);
|
||||
}
|
4
pkg/vm_service_protos/CHANGELOG.md
Normal file
4
pkg/vm_service_protos/CHANGELOG.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
## 1.0.0
|
||||
- Initial version
|
||||
- Add code for working with Perfetto protos, which can be imported from
|
||||
`'package:vm_service_protos/vm_service_protos.dart'`.
|
27
pkg/vm_service_protos/LICENSE
Normal file
27
pkg/vm_service_protos/LICENSE
Normal file
|
@ -0,0 +1,27 @@
|
|||
Copyright 2023, the Dart project authors.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following
|
||||
disclaimer in the documentation and/or other materials provided
|
||||
with the distribution.
|
||||
* Neither the name of Google LLC nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
1
pkg/vm_service_protos/OWNERS
Normal file
1
pkg/vm_service_protos/OWNERS
Normal file
|
@ -0,0 +1 @@
|
|||
file:/tools/OWNERS_VM
|
20
pkg/vm_service_protos/README.md
Normal file
20
pkg/vm_service_protos/README.md
Normal file
|
@ -0,0 +1,20 @@
|
|||
[![pub package](https://img.shields.io/pub/v/vm_service_protos.svg)](https://pub.dev/packages/vm_service_protos)
|
||||
[![package publisher](https://img.shields.io/pub/publisher/vm_service_protos.svg)](https://pub.dev/packages/vm_service_protos/publisher)
|
||||
|
||||
A library for decoding protos returned by a service implementing the Dart VM
|
||||
service protocol.
|
||||
|
||||
## Usage
|
||||
|
||||
Refer to these examples:
|
||||
|
||||
- [get_perfetto_vm_timeline_rpc_test](https://github.com/dart-lang/sdk/blob/main/pkg/vm_service/test/get_perfetto_vm_timeline_rpc_test.dart)
|
||||
- [get_perfetto_cpu_samples_rpc_test](https://github.com/dart-lang/sdk/blob/main/pkg/vm_service/test/get_perfetto_cpu_samples_rpc_test.dart)
|
||||
|
||||
to see how the library's API is used.
|
||||
|
||||
## Features and bugs
|
||||
|
||||
Please file feature requests and bugs at the [issue tracker][tracker].
|
||||
|
||||
[tracker]: https://github.com/dart-lang/sdk/issues
|
7
pkg/vm_service_protos/analysis_options.yaml
Normal file
7
pkg/vm_service_protos/analysis_options.yaml
Normal file
|
@ -0,0 +1,7 @@
|
|||
include: package:lints/recommended.yaml
|
||||
|
||||
linter:
|
||||
rules:
|
||||
- comment_references
|
||||
- directives_ordering
|
||||
- prefer_single_quotes
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/common/builtin_clock.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
export 'builtin_clock.pbenum.dart';
|
|
@ -0,0 +1,39 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/common/builtin_clock.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class BuiltinClock extends $pb.ProtobufEnum {
|
||||
static const BuiltinClock BUILTIN_CLOCK_MONOTONIC =
|
||||
BuiltinClock._(3, _omitEnumNames ? '' : 'BUILTIN_CLOCK_MONOTONIC');
|
||||
|
||||
static const $core.List<BuiltinClock> values = <BuiltinClock>[
|
||||
BUILTIN_CLOCK_MONOTONIC,
|
||||
];
|
||||
|
||||
static final $core.Map<$core.int, BuiltinClock> _byValue =
|
||||
$pb.ProtobufEnum.initByValue(values);
|
||||
static BuiltinClock? valueOf($core.int value) => _byValue[value];
|
||||
|
||||
const BuiltinClock._($core.int v, $core.String n) : super(v, n);
|
||||
}
|
||||
|
||||
const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names');
|
|
@ -0,0 +1,34 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/common/builtin_clock.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use builtinClockDescriptor instead')
|
||||
const BuiltinClock$json = {
|
||||
'1': 'BuiltinClock',
|
||||
'2': [
|
||||
{'1': 'BUILTIN_CLOCK_MONOTONIC', '2': 3},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `BuiltinClock`. Decode as a `google.protobuf.EnumDescriptorProto`.
|
||||
final $typed_data.Uint8List builtinClockDescriptor = $convert.base64Decode(
|
||||
'CgxCdWlsdGluQ2xvY2sSGwoXQlVJTFRJTl9DTE9DS19NT05PVE9OSUMQAw==');
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/common/builtin_clock.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'builtin_clock.pb.dart';
|
|
@ -0,0 +1,162 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/clock_snapshot.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:fixnum/fixnum.dart' as $fixnum;
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import '../common/builtin_clock.pbenum.dart' as $0;
|
||||
|
||||
class ClockSnapshot_Clock extends $pb.GeneratedMessage {
|
||||
factory ClockSnapshot_Clock() => create();
|
||||
ClockSnapshot_Clock._() : super();
|
||||
factory ClockSnapshot_Clock.fromBuffer($core.List<$core.int> i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(i, r);
|
||||
factory ClockSnapshot_Clock.fromJson($core.String i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'ClockSnapshot.Clock',
|
||||
package:
|
||||
const $pb.PackageName(_omitMessageNames ? '' : 'perfetto.protos'),
|
||||
createEmptyInstance: create)
|
||||
..a<$core.int>(1, _omitFieldNames ? '' : 'clockId', $pb.PbFieldType.OU3)
|
||||
..a<$fixnum.Int64>(
|
||||
2, _omitFieldNames ? '' : 'timestamp', $pb.PbFieldType.OU6,
|
||||
defaultOrMaker: $fixnum.Int64.ZERO)
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
ClockSnapshot_Clock clone() => ClockSnapshot_Clock()..mergeFromMessage(this);
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
ClockSnapshot_Clock copyWith(void Function(ClockSnapshot_Clock) updates) =>
|
||||
super.copyWith((message) => updates(message as ClockSnapshot_Clock))
|
||||
as ClockSnapshot_Clock;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static ClockSnapshot_Clock create() => ClockSnapshot_Clock._();
|
||||
ClockSnapshot_Clock createEmptyInstance() => create();
|
||||
static $pb.PbList<ClockSnapshot_Clock> createRepeated() =>
|
||||
$pb.PbList<ClockSnapshot_Clock>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static ClockSnapshot_Clock getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<ClockSnapshot_Clock>(create);
|
||||
static ClockSnapshot_Clock? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.int get clockId => $_getIZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set clockId($core.int v) {
|
||||
$_setUnsignedInt32(0, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasClockId() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearClockId() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$fixnum.Int64 get timestamp => $_getI64(1);
|
||||
@$pb.TagNumber(2)
|
||||
set timestamp($fixnum.Int64 v) {
|
||||
$_setInt64(1, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasTimestamp() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearTimestamp() => clearField(2);
|
||||
}
|
||||
|
||||
class ClockSnapshot extends $pb.GeneratedMessage {
|
||||
factory ClockSnapshot() => create();
|
||||
ClockSnapshot._() : super();
|
||||
factory ClockSnapshot.fromBuffer($core.List<$core.int> i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(i, r);
|
||||
factory ClockSnapshot.fromJson($core.String i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'ClockSnapshot',
|
||||
package:
|
||||
const $pb.PackageName(_omitMessageNames ? '' : 'perfetto.protos'),
|
||||
createEmptyInstance: create)
|
||||
..pc<ClockSnapshot_Clock>(
|
||||
1, _omitFieldNames ? '' : 'clocks', $pb.PbFieldType.PM,
|
||||
subBuilder: ClockSnapshot_Clock.create)
|
||||
..e<$0.BuiltinClock>(
|
||||
2, _omitFieldNames ? '' : 'primaryTraceClock', $pb.PbFieldType.OE,
|
||||
defaultOrMaker: $0.BuiltinClock.BUILTIN_CLOCK_MONOTONIC,
|
||||
valueOf: $0.BuiltinClock.valueOf,
|
||||
enumValues: $0.BuiltinClock.values)
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
ClockSnapshot clone() => ClockSnapshot()..mergeFromMessage(this);
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
ClockSnapshot copyWith(void Function(ClockSnapshot) updates) =>
|
||||
super.copyWith((message) => updates(message as ClockSnapshot))
|
||||
as ClockSnapshot;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static ClockSnapshot create() => ClockSnapshot._();
|
||||
ClockSnapshot createEmptyInstance() => create();
|
||||
static $pb.PbList<ClockSnapshot> createRepeated() =>
|
||||
$pb.PbList<ClockSnapshot>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static ClockSnapshot getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<ClockSnapshot>(create);
|
||||
static ClockSnapshot? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.List<ClockSnapshot_Clock> get clocks => $_getList(0);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$0.BuiltinClock get primaryTraceClock => $_getN(1);
|
||||
@$pb.TagNumber(2)
|
||||
set primaryTraceClock($0.BuiltinClock v) {
|
||||
setField(2, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasPrimaryTraceClock() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearPrimaryTraceClock() => clearField(2);
|
||||
}
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_message_names');
|
|
@ -0,0 +1,62 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/clock_snapshot.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use clockSnapshotDescriptor instead')
|
||||
const ClockSnapshot$json = {
|
||||
'1': 'ClockSnapshot',
|
||||
'2': [
|
||||
{
|
||||
'1': 'clocks',
|
||||
'3': 1,
|
||||
'4': 3,
|
||||
'5': 11,
|
||||
'6': '.perfetto.protos.ClockSnapshot.Clock',
|
||||
'10': 'clocks'
|
||||
},
|
||||
{
|
||||
'1': 'primary_trace_clock',
|
||||
'3': 2,
|
||||
'4': 1,
|
||||
'5': 14,
|
||||
'6': '.perfetto.protos.BuiltinClock',
|
||||
'10': 'primaryTraceClock'
|
||||
},
|
||||
],
|
||||
'3': [ClockSnapshot_Clock$json],
|
||||
};
|
||||
|
||||
@$core.Deprecated('Use clockSnapshotDescriptor instead')
|
||||
const ClockSnapshot_Clock$json = {
|
||||
'1': 'Clock',
|
||||
'2': [
|
||||
{'1': 'clock_id', '3': 1, '4': 1, '5': 13, '10': 'clockId'},
|
||||
{'1': 'timestamp', '3': 2, '4': 1, '5': 4, '10': 'timestamp'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `ClockSnapshot`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List clockSnapshotDescriptor = $convert.base64Decode(
|
||||
'Cg1DbG9ja1NuYXBzaG90EjwKBmNsb2NrcxgBIAMoCzIkLnBlcmZldHRvLnByb3Rvcy5DbG9ja1'
|
||||
'NuYXBzaG90LkNsb2NrUgZjbG9ja3MSTQoTcHJpbWFyeV90cmFjZV9jbG9jaxgCIAEoDjIdLnBl'
|
||||
'cmZldHRvLnByb3Rvcy5CdWlsdGluQ2xvY2tSEXByaW1hcnlUcmFjZUNsb2NrGkAKBUNsb2NrEh'
|
||||
'kKCGNsb2NrX2lkGAEgASgNUgdjbG9ja0lkEhwKCXRpbWVzdGFtcBgCIAEoBFIJdGltZXN0YW1w');
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/clock_snapshot.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'clock_snapshot.pb.dart';
|
|
@ -0,0 +1,97 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/interned_data/interned_data.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import '../profiling/profile_common.pb.dart' as $2;
|
||||
|
||||
class InternedData extends $pb.GeneratedMessage {
|
||||
factory InternedData() => create();
|
||||
InternedData._() : super();
|
||||
factory InternedData.fromBuffer($core.List<$core.int> i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(i, r);
|
||||
factory InternedData.fromJson($core.String i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'InternedData',
|
||||
package:
|
||||
const $pb.PackageName(_omitMessageNames ? '' : 'perfetto.protos'),
|
||||
createEmptyInstance: create)
|
||||
..pc<$2.InternedString>(
|
||||
5, _omitFieldNames ? '' : 'functionNames', $pb.PbFieldType.PM,
|
||||
subBuilder: $2.InternedString.create)
|
||||
..pc<$2.Frame>(6, _omitFieldNames ? '' : 'frames', $pb.PbFieldType.PM,
|
||||
subBuilder: $2.Frame.create)
|
||||
..pc<$2.Callstack>(
|
||||
7, _omitFieldNames ? '' : 'callstacks', $pb.PbFieldType.PM,
|
||||
subBuilder: $2.Callstack.create)
|
||||
..pc<$2.InternedString>(
|
||||
17, _omitFieldNames ? '' : 'mappingPaths', $pb.PbFieldType.PM,
|
||||
subBuilder: $2.InternedString.create)
|
||||
..pc<$2.Mapping>(19, _omitFieldNames ? '' : 'mappings', $pb.PbFieldType.PM,
|
||||
subBuilder: $2.Mapping.create)
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
InternedData clone() => InternedData()..mergeFromMessage(this);
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
InternedData copyWith(void Function(InternedData) updates) =>
|
||||
super.copyWith((message) => updates(message as InternedData))
|
||||
as InternedData;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static InternedData create() => InternedData._();
|
||||
InternedData createEmptyInstance() => create();
|
||||
static $pb.PbList<InternedData> createRepeated() =>
|
||||
$pb.PbList<InternedData>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static InternedData getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<InternedData>(create);
|
||||
static InternedData? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(5)
|
||||
$core.List<$2.InternedString> get functionNames => $_getList(0);
|
||||
|
||||
@$pb.TagNumber(6)
|
||||
$core.List<$2.Frame> get frames => $_getList(1);
|
||||
|
||||
@$pb.TagNumber(7)
|
||||
$core.List<$2.Callstack> get callstacks => $_getList(2);
|
||||
|
||||
@$pb.TagNumber(17)
|
||||
$core.List<$2.InternedString> get mappingPaths => $_getList(3);
|
||||
|
||||
@$pb.TagNumber(19)
|
||||
$core.List<$2.Mapping> get mappings => $_getList(4);
|
||||
}
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_message_names');
|
|
@ -0,0 +1,78 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/interned_data/interned_data.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use internedDataDescriptor instead')
|
||||
const InternedData$json = {
|
||||
'1': 'InternedData',
|
||||
'2': [
|
||||
{
|
||||
'1': 'mapping_paths',
|
||||
'3': 17,
|
||||
'4': 3,
|
||||
'5': 11,
|
||||
'6': '.perfetto.protos.InternedString',
|
||||
'10': 'mappingPaths'
|
||||
},
|
||||
{
|
||||
'1': 'function_names',
|
||||
'3': 5,
|
||||
'4': 3,
|
||||
'5': 11,
|
||||
'6': '.perfetto.protos.InternedString',
|
||||
'10': 'functionNames'
|
||||
},
|
||||
{
|
||||
'1': 'mappings',
|
||||
'3': 19,
|
||||
'4': 3,
|
||||
'5': 11,
|
||||
'6': '.perfetto.protos.Mapping',
|
||||
'10': 'mappings'
|
||||
},
|
||||
{
|
||||
'1': 'frames',
|
||||
'3': 6,
|
||||
'4': 3,
|
||||
'5': 11,
|
||||
'6': '.perfetto.protos.Frame',
|
||||
'10': 'frames'
|
||||
},
|
||||
{
|
||||
'1': 'callstacks',
|
||||
'3': 7,
|
||||
'4': 3,
|
||||
'5': 11,
|
||||
'6': '.perfetto.protos.Callstack',
|
||||
'10': 'callstacks'
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `InternedData`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List internedDataDescriptor = $convert.base64Decode(
|
||||
'CgxJbnRlcm5lZERhdGESRAoNbWFwcGluZ19wYXRocxgRIAMoCzIfLnBlcmZldHRvLnByb3Rvcy'
|
||||
'5JbnRlcm5lZFN0cmluZ1IMbWFwcGluZ1BhdGhzEkYKDmZ1bmN0aW9uX25hbWVzGAUgAygLMh8u'
|
||||
'cGVyZmV0dG8ucHJvdG9zLkludGVybmVkU3RyaW5nUg1mdW5jdGlvbk5hbWVzEjQKCG1hcHBpbm'
|
||||
'dzGBMgAygLMhgucGVyZmV0dG8ucHJvdG9zLk1hcHBpbmdSCG1hcHBpbmdzEi4KBmZyYW1lcxgG'
|
||||
'IAMoCzIWLnBlcmZldHRvLnByb3Rvcy5GcmFtZVIGZnJhbWVzEjoKCmNhbGxzdGFja3MYByADKA'
|
||||
'syGi5wZXJmZXR0by5wcm90b3MuQ2FsbHN0YWNrUgpjYWxsc3RhY2tz');
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/interned_data/interned_data.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'interned_data.pb.dart';
|
|
@ -0,0 +1,309 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/profiling/profile_common.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:fixnum/fixnum.dart' as $fixnum;
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class InternedString extends $pb.GeneratedMessage {
|
||||
factory InternedString() => create();
|
||||
InternedString._() : super();
|
||||
factory InternedString.fromBuffer($core.List<$core.int> i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(i, r);
|
||||
factory InternedString.fromJson($core.String i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'InternedString',
|
||||
package:
|
||||
const $pb.PackageName(_omitMessageNames ? '' : 'perfetto.protos'),
|
||||
createEmptyInstance: create)
|
||||
..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'iid', $pb.PbFieldType.OU6,
|
||||
defaultOrMaker: $fixnum.Int64.ZERO)
|
||||
..a<$core.List<$core.int>>(
|
||||
2, _omitFieldNames ? '' : 'str', $pb.PbFieldType.OY)
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
InternedString clone() => InternedString()..mergeFromMessage(this);
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
InternedString copyWith(void Function(InternedString) updates) =>
|
||||
super.copyWith((message) => updates(message as InternedString))
|
||||
as InternedString;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static InternedString create() => InternedString._();
|
||||
InternedString createEmptyInstance() => create();
|
||||
static $pb.PbList<InternedString> createRepeated() =>
|
||||
$pb.PbList<InternedString>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static InternedString getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<InternedString>(create);
|
||||
static InternedString? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$fixnum.Int64 get iid => $_getI64(0);
|
||||
@$pb.TagNumber(1)
|
||||
set iid($fixnum.Int64 v) {
|
||||
$_setInt64(0, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasIid() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearIid() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.List<$core.int> get str => $_getN(1);
|
||||
@$pb.TagNumber(2)
|
||||
set str($core.List<$core.int> v) {
|
||||
$_setBytes(1, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasStr() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearStr() => clearField(2);
|
||||
}
|
||||
|
||||
class Mapping extends $pb.GeneratedMessage {
|
||||
factory Mapping() => create();
|
||||
Mapping._() : super();
|
||||
factory Mapping.fromBuffer($core.List<$core.int> i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(i, r);
|
||||
factory Mapping.fromJson($core.String i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'Mapping',
|
||||
package:
|
||||
const $pb.PackageName(_omitMessageNames ? '' : 'perfetto.protos'),
|
||||
createEmptyInstance: create)
|
||||
..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'iid', $pb.PbFieldType.OU6,
|
||||
defaultOrMaker: $fixnum.Int64.ZERO)
|
||||
..p<$fixnum.Int64>(
|
||||
7, _omitFieldNames ? '' : 'pathStringIds', $pb.PbFieldType.PU6)
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
Mapping clone() => Mapping()..mergeFromMessage(this);
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
Mapping copyWith(void Function(Mapping) updates) =>
|
||||
super.copyWith((message) => updates(message as Mapping)) as Mapping;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Mapping create() => Mapping._();
|
||||
Mapping createEmptyInstance() => create();
|
||||
static $pb.PbList<Mapping> createRepeated() => $pb.PbList<Mapping>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Mapping getDefault() =>
|
||||
_defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Mapping>(create);
|
||||
static Mapping? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$fixnum.Int64 get iid => $_getI64(0);
|
||||
@$pb.TagNumber(1)
|
||||
set iid($fixnum.Int64 v) {
|
||||
$_setInt64(0, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasIid() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearIid() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(7)
|
||||
$core.List<$fixnum.Int64> get pathStringIds => $_getList(1);
|
||||
}
|
||||
|
||||
class Frame extends $pb.GeneratedMessage {
|
||||
factory Frame() => create();
|
||||
Frame._() : super();
|
||||
factory Frame.fromBuffer($core.List<$core.int> i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(i, r);
|
||||
factory Frame.fromJson($core.String i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'Frame',
|
||||
package:
|
||||
const $pb.PackageName(_omitMessageNames ? '' : 'perfetto.protos'),
|
||||
createEmptyInstance: create)
|
||||
..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'iid', $pb.PbFieldType.OU6,
|
||||
defaultOrMaker: $fixnum.Int64.ZERO)
|
||||
..a<$fixnum.Int64>(
|
||||
2, _omitFieldNames ? '' : 'functionNameId', $pb.PbFieldType.OU6,
|
||||
defaultOrMaker: $fixnum.Int64.ZERO)
|
||||
..a<$fixnum.Int64>(
|
||||
3, _omitFieldNames ? '' : 'mappingId', $pb.PbFieldType.OU6,
|
||||
defaultOrMaker: $fixnum.Int64.ZERO)
|
||||
..a<$fixnum.Int64>(4, _omitFieldNames ? '' : 'relPc', $pb.PbFieldType.OU6,
|
||||
defaultOrMaker: $fixnum.Int64.ZERO)
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
Frame clone() => Frame()..mergeFromMessage(this);
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
Frame copyWith(void Function(Frame) updates) =>
|
||||
super.copyWith((message) => updates(message as Frame)) as Frame;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Frame create() => Frame._();
|
||||
Frame createEmptyInstance() => create();
|
||||
static $pb.PbList<Frame> createRepeated() => $pb.PbList<Frame>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Frame getDefault() =>
|
||||
_defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Frame>(create);
|
||||
static Frame? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$fixnum.Int64 get iid => $_getI64(0);
|
||||
@$pb.TagNumber(1)
|
||||
set iid($fixnum.Int64 v) {
|
||||
$_setInt64(0, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasIid() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearIid() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$fixnum.Int64 get functionNameId => $_getI64(1);
|
||||
@$pb.TagNumber(2)
|
||||
set functionNameId($fixnum.Int64 v) {
|
||||
$_setInt64(1, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasFunctionNameId() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearFunctionNameId() => clearField(2);
|
||||
|
||||
@$pb.TagNumber(3)
|
||||
$fixnum.Int64 get mappingId => $_getI64(2);
|
||||
@$pb.TagNumber(3)
|
||||
set mappingId($fixnum.Int64 v) {
|
||||
$_setInt64(2, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasMappingId() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearMappingId() => clearField(3);
|
||||
|
||||
@$pb.TagNumber(4)
|
||||
$fixnum.Int64 get relPc => $_getI64(3);
|
||||
@$pb.TagNumber(4)
|
||||
set relPc($fixnum.Int64 v) {
|
||||
$_setInt64(3, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool hasRelPc() => $_has(3);
|
||||
@$pb.TagNumber(4)
|
||||
void clearRelPc() => clearField(4);
|
||||
}
|
||||
|
||||
class Callstack extends $pb.GeneratedMessage {
|
||||
factory Callstack() => create();
|
||||
Callstack._() : super();
|
||||
factory Callstack.fromBuffer($core.List<$core.int> i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(i, r);
|
||||
factory Callstack.fromJson($core.String i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'Callstack',
|
||||
package:
|
||||
const $pb.PackageName(_omitMessageNames ? '' : 'perfetto.protos'),
|
||||
createEmptyInstance: create)
|
||||
..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'iid', $pb.PbFieldType.OU6,
|
||||
defaultOrMaker: $fixnum.Int64.ZERO)
|
||||
..p<$fixnum.Int64>(
|
||||
2, _omitFieldNames ? '' : 'frameIds', $pb.PbFieldType.PU6)
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
Callstack clone() => Callstack()..mergeFromMessage(this);
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
Callstack copyWith(void Function(Callstack) updates) =>
|
||||
super.copyWith((message) => updates(message as Callstack)) as Callstack;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Callstack create() => Callstack._();
|
||||
Callstack createEmptyInstance() => create();
|
||||
static $pb.PbList<Callstack> createRepeated() => $pb.PbList<Callstack>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Callstack getDefault() =>
|
||||
_defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Callstack>(create);
|
||||
static Callstack? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$fixnum.Int64 get iid => $_getI64(0);
|
||||
@$pb.TagNumber(1)
|
||||
set iid($fixnum.Int64 v) {
|
||||
$_setInt64(0, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasIid() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearIid() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.List<$fixnum.Int64> get frameIds => $_getList(1);
|
||||
}
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_message_names');
|
|
@ -0,0 +1,80 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/profiling/profile_common.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use internedStringDescriptor instead')
|
||||
const InternedString$json = {
|
||||
'1': 'InternedString',
|
||||
'2': [
|
||||
{'1': 'iid', '3': 1, '4': 1, '5': 4, '10': 'iid'},
|
||||
{'1': 'str', '3': 2, '4': 1, '5': 12, '10': 'str'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `InternedString`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List internedStringDescriptor = $convert.base64Decode(
|
||||
'Cg5JbnRlcm5lZFN0cmluZxIQCgNpaWQYASABKARSA2lpZBIQCgNzdHIYAiABKAxSA3N0cg==');
|
||||
|
||||
@$core.Deprecated('Use mappingDescriptor instead')
|
||||
const Mapping$json = {
|
||||
'1': 'Mapping',
|
||||
'2': [
|
||||
{'1': 'iid', '3': 1, '4': 1, '5': 4, '10': 'iid'},
|
||||
{'1': 'path_string_ids', '3': 7, '4': 3, '5': 4, '10': 'pathStringIds'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `Mapping`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List mappingDescriptor = $convert.base64Decode(
|
||||
'CgdNYXBwaW5nEhAKA2lpZBgBIAEoBFIDaWlkEiYKD3BhdGhfc3RyaW5nX2lkcxgHIAMoBFINcG'
|
||||
'F0aFN0cmluZ0lkcw==');
|
||||
|
||||
@$core.Deprecated('Use frameDescriptor instead')
|
||||
const Frame$json = {
|
||||
'1': 'Frame',
|
||||
'2': [
|
||||
{'1': 'iid', '3': 1, '4': 1, '5': 4, '10': 'iid'},
|
||||
{'1': 'function_name_id', '3': 2, '4': 1, '5': 4, '10': 'functionNameId'},
|
||||
{'1': 'mapping_id', '3': 3, '4': 1, '5': 4, '10': 'mappingId'},
|
||||
{'1': 'rel_pc', '3': 4, '4': 1, '5': 4, '10': 'relPc'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `Frame`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List frameDescriptor = $convert.base64Decode(
|
||||
'CgVGcmFtZRIQCgNpaWQYASABKARSA2lpZBIoChBmdW5jdGlvbl9uYW1lX2lkGAIgASgEUg5mdW'
|
||||
'5jdGlvbk5hbWVJZBIdCgptYXBwaW5nX2lkGAMgASgEUgltYXBwaW5nSWQSFQoGcmVsX3BjGAQg'
|
||||
'ASgEUgVyZWxQYw==');
|
||||
|
||||
@$core.Deprecated('Use callstackDescriptor instead')
|
||||
const Callstack$json = {
|
||||
'1': 'Callstack',
|
||||
'2': [
|
||||
{'1': 'iid', '3': 1, '4': 1, '5': 4, '10': 'iid'},
|
||||
{'1': 'frame_ids', '3': 2, '4': 3, '5': 4, '10': 'frameIds'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `Callstack`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List callstackDescriptor = $convert.base64Decode(
|
||||
'CglDYWxsc3RhY2sSEAoDaWlkGAEgASgEUgNpaWQSGwoJZnJhbWVfaWRzGAIgAygEUghmcmFtZU'
|
||||
'lkcw==');
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/profiling/profile_common.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'profile_common.pb.dart';
|
|
@ -0,0 +1,120 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/profiling/profile_packet.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:fixnum/fixnum.dart' as $fixnum;
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class PerfSample extends $pb.GeneratedMessage {
|
||||
factory PerfSample() => create();
|
||||
PerfSample._() : super();
|
||||
factory PerfSample.fromBuffer($core.List<$core.int> i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(i, r);
|
||||
factory PerfSample.fromJson($core.String i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'PerfSample',
|
||||
package:
|
||||
const $pb.PackageName(_omitMessageNames ? '' : 'perfetto.protos'),
|
||||
createEmptyInstance: create)
|
||||
..a<$core.int>(1, _omitFieldNames ? '' : 'cpu', $pb.PbFieldType.OU3)
|
||||
..a<$core.int>(2, _omitFieldNames ? '' : 'pid', $pb.PbFieldType.OU3)
|
||||
..a<$core.int>(3, _omitFieldNames ? '' : 'tid', $pb.PbFieldType.OU3)
|
||||
..a<$fixnum.Int64>(
|
||||
4, _omitFieldNames ? '' : 'callstackIid', $pb.PbFieldType.OU6,
|
||||
defaultOrMaker: $fixnum.Int64.ZERO)
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
PerfSample clone() => PerfSample()..mergeFromMessage(this);
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
PerfSample copyWith(void Function(PerfSample) updates) =>
|
||||
super.copyWith((message) => updates(message as PerfSample)) as PerfSample;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static PerfSample create() => PerfSample._();
|
||||
PerfSample createEmptyInstance() => create();
|
||||
static $pb.PbList<PerfSample> createRepeated() => $pb.PbList<PerfSample>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static PerfSample getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<PerfSample>(create);
|
||||
static PerfSample? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.int get cpu => $_getIZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set cpu($core.int v) {
|
||||
$_setUnsignedInt32(0, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasCpu() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearCpu() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.int get pid => $_getIZ(1);
|
||||
@$pb.TagNumber(2)
|
||||
set pid($core.int v) {
|
||||
$_setUnsignedInt32(1, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasPid() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearPid() => clearField(2);
|
||||
|
||||
@$pb.TagNumber(3)
|
||||
$core.int get tid => $_getIZ(2);
|
||||
@$pb.TagNumber(3)
|
||||
set tid($core.int v) {
|
||||
$_setUnsignedInt32(2, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasTid() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearTid() => clearField(3);
|
||||
|
||||
@$pb.TagNumber(4)
|
||||
$fixnum.Int64 get callstackIid => $_getI64(3);
|
||||
@$pb.TagNumber(4)
|
||||
set callstackIid($fixnum.Int64 v) {
|
||||
$_setInt64(3, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool hasCallstackIid() => $_has(3);
|
||||
@$pb.TagNumber(4)
|
||||
void clearCallstackIid() => clearField(4);
|
||||
}
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_message_names');
|
|
@ -0,0 +1,38 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/profiling/profile_packet.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use perfSampleDescriptor instead')
|
||||
const PerfSample$json = {
|
||||
'1': 'PerfSample',
|
||||
'2': [
|
||||
{'1': 'cpu', '3': 1, '4': 1, '5': 13, '10': 'cpu'},
|
||||
{'1': 'pid', '3': 2, '4': 1, '5': 13, '10': 'pid'},
|
||||
{'1': 'tid', '3': 3, '4': 1, '5': 13, '10': 'tid'},
|
||||
{'1': 'callstack_iid', '3': 4, '4': 1, '5': 4, '10': 'callstackIid'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `PerfSample`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List perfSampleDescriptor = $convert.base64Decode(
|
||||
'CgpQZXJmU2FtcGxlEhAKA2NwdRgBIAEoDVIDY3B1EhAKA3BpZBgCIAEoDVIDcGlkEhAKA3RpZB'
|
||||
'gDIAEoDVIDdGlkEiMKDWNhbGxzdGFja19paWQYBCABKARSDGNhbGxzdGFja0lpZA==');
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/profiling/profile_packet.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'profile_packet.pb.dart';
|
|
@ -0,0 +1,73 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/trace.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import 'trace_packet.pb.dart' as $10;
|
||||
|
||||
class Trace extends $pb.GeneratedMessage {
|
||||
factory Trace() => create();
|
||||
Trace._() : super();
|
||||
factory Trace.fromBuffer($core.List<$core.int> i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(i, r);
|
||||
factory Trace.fromJson($core.String i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'Trace',
|
||||
package:
|
||||
const $pb.PackageName(_omitMessageNames ? '' : 'perfetto.protos'),
|
||||
createEmptyInstance: create)
|
||||
..pc<$10.TracePacket>(
|
||||
1, _omitFieldNames ? '' : 'packet', $pb.PbFieldType.PM,
|
||||
subBuilder: $10.TracePacket.create)
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
Trace clone() => Trace()..mergeFromMessage(this);
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
Trace copyWith(void Function(Trace) updates) =>
|
||||
super.copyWith((message) => updates(message as Trace)) as Trace;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Trace create() => Trace._();
|
||||
Trace createEmptyInstance() => create();
|
||||
static $pb.PbList<Trace> createRepeated() => $pb.PbList<Trace>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Trace getDefault() =>
|
||||
_defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Trace>(create);
|
||||
static Trace? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.List<$10.TracePacket> get packet => $_getList(0);
|
||||
}
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_message_names');
|
|
@ -0,0 +1,42 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/trace.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use traceDescriptor instead')
|
||||
const Trace$json = {
|
||||
'1': 'Trace',
|
||||
'2': [
|
||||
{
|
||||
'1': 'packet',
|
||||
'3': 1,
|
||||
'4': 3,
|
||||
'5': 11,
|
||||
'6': '.perfetto.protos.TracePacket',
|
||||
'10': 'packet'
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `Trace`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List traceDescriptor = $convert.base64Decode(
|
||||
'CgVUcmFjZRI0CgZwYWNrZXQYASADKAsyHC5wZXJmZXR0by5wcm90b3MuVHJhY2VQYWNrZXRSBn'
|
||||
'BhY2tldA==');
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/trace.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'trace.pb.dart';
|
|
@ -0,0 +1,247 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/trace_packet.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:fixnum/fixnum.dart' as $fixnum;
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import 'clock_snapshot.pb.dart' as $5;
|
||||
import 'interned_data/interned_data.pb.dart' as $7;
|
||||
import 'profiling/profile_packet.pb.dart' as $9;
|
||||
import 'track_event/track_descriptor.pb.dart' as $8;
|
||||
import 'track_event/track_event.pb.dart' as $6;
|
||||
|
||||
export 'trace_packet.pbenum.dart';
|
||||
|
||||
enum TracePacket_Data {
|
||||
clockSnapshot,
|
||||
trackEvent,
|
||||
trackDescriptor,
|
||||
perfSample,
|
||||
notSet
|
||||
}
|
||||
|
||||
enum TracePacket_OptionalTrustedPacketSequenceId {
|
||||
trustedPacketSequenceId,
|
||||
notSet
|
||||
}
|
||||
|
||||
class TracePacket extends $pb.GeneratedMessage {
|
||||
factory TracePacket() => create();
|
||||
TracePacket._() : super();
|
||||
factory TracePacket.fromBuffer($core.List<$core.int> i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(i, r);
|
||||
factory TracePacket.fromJson($core.String i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(i, r);
|
||||
|
||||
static const $core.Map<$core.int, TracePacket_Data> _TracePacket_DataByTag = {
|
||||
6: TracePacket_Data.clockSnapshot,
|
||||
11: TracePacket_Data.trackEvent,
|
||||
60: TracePacket_Data.trackDescriptor,
|
||||
66: TracePacket_Data.perfSample,
|
||||
0: TracePacket_Data.notSet
|
||||
};
|
||||
static const $core.Map<$core.int, TracePacket_OptionalTrustedPacketSequenceId>
|
||||
_TracePacket_OptionalTrustedPacketSequenceIdByTag = {
|
||||
10: TracePacket_OptionalTrustedPacketSequenceId.trustedPacketSequenceId,
|
||||
0: TracePacket_OptionalTrustedPacketSequenceId.notSet
|
||||
};
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'TracePacket',
|
||||
package:
|
||||
const $pb.PackageName(_omitMessageNames ? '' : 'perfetto.protos'),
|
||||
createEmptyInstance: create)
|
||||
..oo(0, [6, 11, 60, 66])
|
||||
..oo(1, [10])
|
||||
..aOM<$5.ClockSnapshot>(6, _omitFieldNames ? '' : 'clockSnapshot',
|
||||
subBuilder: $5.ClockSnapshot.create)
|
||||
..a<$fixnum.Int64>(
|
||||
8, _omitFieldNames ? '' : 'timestamp', $pb.PbFieldType.OU6,
|
||||
defaultOrMaker: $fixnum.Int64.ZERO)
|
||||
..a<$core.int>(10, _omitFieldNames ? '' : 'trustedPacketSequenceId',
|
||||
$pb.PbFieldType.OU3)
|
||||
..aOM<$6.TrackEvent>(11, _omitFieldNames ? '' : 'trackEvent',
|
||||
subBuilder: $6.TrackEvent.create)
|
||||
..aOM<$7.InternedData>(12, _omitFieldNames ? '' : 'internedData',
|
||||
subBuilder: $7.InternedData.create)
|
||||
..a<$core.int>(
|
||||
13, _omitFieldNames ? '' : 'sequenceFlags', $pb.PbFieldType.OU3)
|
||||
..a<$core.int>(
|
||||
58, _omitFieldNames ? '' : 'timestampClockId', $pb.PbFieldType.OU3)
|
||||
..aOM<$8.TrackDescriptor>(60, _omitFieldNames ? '' : 'trackDescriptor',
|
||||
subBuilder: $8.TrackDescriptor.create)
|
||||
..aOM<$9.PerfSample>(66, _omitFieldNames ? '' : 'perfSample',
|
||||
subBuilder: $9.PerfSample.create)
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
TracePacket clone() => TracePacket()..mergeFromMessage(this);
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
TracePacket copyWith(void Function(TracePacket) updates) =>
|
||||
super.copyWith((message) => updates(message as TracePacket))
|
||||
as TracePacket;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static TracePacket create() => TracePacket._();
|
||||
TracePacket createEmptyInstance() => create();
|
||||
static $pb.PbList<TracePacket> createRepeated() => $pb.PbList<TracePacket>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static TracePacket getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<TracePacket>(create);
|
||||
static TracePacket? _defaultInstance;
|
||||
|
||||
TracePacket_Data whichData() => _TracePacket_DataByTag[$_whichOneof(0)]!;
|
||||
void clearData() => clearField($_whichOneof(0));
|
||||
|
||||
TracePacket_OptionalTrustedPacketSequenceId
|
||||
whichOptionalTrustedPacketSequenceId() =>
|
||||
_TracePacket_OptionalTrustedPacketSequenceIdByTag[$_whichOneof(1)]!;
|
||||
void clearOptionalTrustedPacketSequenceId() => clearField($_whichOneof(1));
|
||||
|
||||
@$pb.TagNumber(6)
|
||||
$5.ClockSnapshot get clockSnapshot => $_getN(0);
|
||||
@$pb.TagNumber(6)
|
||||
set clockSnapshot($5.ClockSnapshot v) {
|
||||
setField(6, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(6)
|
||||
$core.bool hasClockSnapshot() => $_has(0);
|
||||
@$pb.TagNumber(6)
|
||||
void clearClockSnapshot() => clearField(6);
|
||||
@$pb.TagNumber(6)
|
||||
$5.ClockSnapshot ensureClockSnapshot() => $_ensure(0);
|
||||
|
||||
@$pb.TagNumber(8)
|
||||
$fixnum.Int64 get timestamp => $_getI64(1);
|
||||
@$pb.TagNumber(8)
|
||||
set timestamp($fixnum.Int64 v) {
|
||||
$_setInt64(1, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(8)
|
||||
$core.bool hasTimestamp() => $_has(1);
|
||||
@$pb.TagNumber(8)
|
||||
void clearTimestamp() => clearField(8);
|
||||
|
||||
@$pb.TagNumber(10)
|
||||
$core.int get trustedPacketSequenceId => $_getIZ(2);
|
||||
@$pb.TagNumber(10)
|
||||
set trustedPacketSequenceId($core.int v) {
|
||||
$_setUnsignedInt32(2, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(10)
|
||||
$core.bool hasTrustedPacketSequenceId() => $_has(2);
|
||||
@$pb.TagNumber(10)
|
||||
void clearTrustedPacketSequenceId() => clearField(10);
|
||||
|
||||
@$pb.TagNumber(11)
|
||||
$6.TrackEvent get trackEvent => $_getN(3);
|
||||
@$pb.TagNumber(11)
|
||||
set trackEvent($6.TrackEvent v) {
|
||||
setField(11, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(11)
|
||||
$core.bool hasTrackEvent() => $_has(3);
|
||||
@$pb.TagNumber(11)
|
||||
void clearTrackEvent() => clearField(11);
|
||||
@$pb.TagNumber(11)
|
||||
$6.TrackEvent ensureTrackEvent() => $_ensure(3);
|
||||
|
||||
@$pb.TagNumber(12)
|
||||
$7.InternedData get internedData => $_getN(4);
|
||||
@$pb.TagNumber(12)
|
||||
set internedData($7.InternedData v) {
|
||||
setField(12, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(12)
|
||||
$core.bool hasInternedData() => $_has(4);
|
||||
@$pb.TagNumber(12)
|
||||
void clearInternedData() => clearField(12);
|
||||
@$pb.TagNumber(12)
|
||||
$7.InternedData ensureInternedData() => $_ensure(4);
|
||||
|
||||
@$pb.TagNumber(13)
|
||||
$core.int get sequenceFlags => $_getIZ(5);
|
||||
@$pb.TagNumber(13)
|
||||
set sequenceFlags($core.int v) {
|
||||
$_setUnsignedInt32(5, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(13)
|
||||
$core.bool hasSequenceFlags() => $_has(5);
|
||||
@$pb.TagNumber(13)
|
||||
void clearSequenceFlags() => clearField(13);
|
||||
|
||||
@$pb.TagNumber(58)
|
||||
$core.int get timestampClockId => $_getIZ(6);
|
||||
@$pb.TagNumber(58)
|
||||
set timestampClockId($core.int v) {
|
||||
$_setUnsignedInt32(6, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(58)
|
||||
$core.bool hasTimestampClockId() => $_has(6);
|
||||
@$pb.TagNumber(58)
|
||||
void clearTimestampClockId() => clearField(58);
|
||||
|
||||
@$pb.TagNumber(60)
|
||||
$8.TrackDescriptor get trackDescriptor => $_getN(7);
|
||||
@$pb.TagNumber(60)
|
||||
set trackDescriptor($8.TrackDescriptor v) {
|
||||
setField(60, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(60)
|
||||
$core.bool hasTrackDescriptor() => $_has(7);
|
||||
@$pb.TagNumber(60)
|
||||
void clearTrackDescriptor() => clearField(60);
|
||||
@$pb.TagNumber(60)
|
||||
$8.TrackDescriptor ensureTrackDescriptor() => $_ensure(7);
|
||||
|
||||
@$pb.TagNumber(66)
|
||||
$9.PerfSample get perfSample => $_getN(8);
|
||||
@$pb.TagNumber(66)
|
||||
set perfSample($9.PerfSample v) {
|
||||
setField(66, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(66)
|
||||
$core.bool hasPerfSample() => $_has(8);
|
||||
@$pb.TagNumber(66)
|
||||
void clearPerfSample() => clearField(66);
|
||||
@$pb.TagNumber(66)
|
||||
$9.PerfSample ensurePerfSample() => $_ensure(8);
|
||||
}
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_message_names');
|
|
@ -0,0 +1,48 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/trace_packet.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class TracePacket_SequenceFlags extends $pb.ProtobufEnum {
|
||||
static const TracePacket_SequenceFlags SEQ_UNSPECIFIED =
|
||||
TracePacket_SequenceFlags._(0, _omitEnumNames ? '' : 'SEQ_UNSPECIFIED');
|
||||
static const TracePacket_SequenceFlags SEQ_INCREMENTAL_STATE_CLEARED =
|
||||
TracePacket_SequenceFlags._(
|
||||
1, _omitEnumNames ? '' : 'SEQ_INCREMENTAL_STATE_CLEARED');
|
||||
static const TracePacket_SequenceFlags SEQ_NEEDS_INCREMENTAL_STATE =
|
||||
TracePacket_SequenceFlags._(
|
||||
2, _omitEnumNames ? '' : 'SEQ_NEEDS_INCREMENTAL_STATE');
|
||||
|
||||
static const $core.List<TracePacket_SequenceFlags> values =
|
||||
<TracePacket_SequenceFlags>[
|
||||
SEQ_UNSPECIFIED,
|
||||
SEQ_INCREMENTAL_STATE_CLEARED,
|
||||
SEQ_NEEDS_INCREMENTAL_STATE,
|
||||
];
|
||||
|
||||
static final $core.Map<$core.int, TracePacket_SequenceFlags> _byValue =
|
||||
$pb.ProtobufEnum.initByValue(values);
|
||||
static TracePacket_SequenceFlags? valueOf($core.int value) => _byValue[value];
|
||||
|
||||
const TracePacket_SequenceFlags._($core.int v, $core.String n) : super(v, n);
|
||||
}
|
||||
|
||||
const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names');
|
|
@ -0,0 +1,121 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/trace_packet.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use tracePacketDescriptor instead')
|
||||
const TracePacket$json = {
|
||||
'1': 'TracePacket',
|
||||
'2': [
|
||||
{'1': 'timestamp', '3': 8, '4': 1, '5': 4, '10': 'timestamp'},
|
||||
{
|
||||
'1': 'timestamp_clock_id',
|
||||
'3': 58,
|
||||
'4': 1,
|
||||
'5': 13,
|
||||
'10': 'timestampClockId'
|
||||
},
|
||||
{
|
||||
'1': 'clock_snapshot',
|
||||
'3': 6,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.perfetto.protos.ClockSnapshot',
|
||||
'9': 0,
|
||||
'10': 'clockSnapshot'
|
||||
},
|
||||
{
|
||||
'1': 'track_event',
|
||||
'3': 11,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.perfetto.protos.TrackEvent',
|
||||
'9': 0,
|
||||
'10': 'trackEvent'
|
||||
},
|
||||
{
|
||||
'1': 'track_descriptor',
|
||||
'3': 60,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.perfetto.protos.TrackDescriptor',
|
||||
'9': 0,
|
||||
'10': 'trackDescriptor'
|
||||
},
|
||||
{
|
||||
'1': 'perf_sample',
|
||||
'3': 66,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.perfetto.protos.PerfSample',
|
||||
'9': 0,
|
||||
'10': 'perfSample'
|
||||
},
|
||||
{
|
||||
'1': 'trusted_packet_sequence_id',
|
||||
'3': 10,
|
||||
'4': 1,
|
||||
'5': 13,
|
||||
'9': 1,
|
||||
'10': 'trustedPacketSequenceId'
|
||||
},
|
||||
{
|
||||
'1': 'interned_data',
|
||||
'3': 12,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.perfetto.protos.InternedData',
|
||||
'10': 'internedData'
|
||||
},
|
||||
{'1': 'sequence_flags', '3': 13, '4': 1, '5': 13, '10': 'sequenceFlags'},
|
||||
],
|
||||
'4': [TracePacket_SequenceFlags$json],
|
||||
'8': [
|
||||
{'1': 'data'},
|
||||
{'1': 'optional_trusted_packet_sequence_id'},
|
||||
],
|
||||
};
|
||||
|
||||
@$core.Deprecated('Use tracePacketDescriptor instead')
|
||||
const TracePacket_SequenceFlags$json = {
|
||||
'1': 'SequenceFlags',
|
||||
'2': [
|
||||
{'1': 'SEQ_UNSPECIFIED', '2': 0},
|
||||
{'1': 'SEQ_INCREMENTAL_STATE_CLEARED', '2': 1},
|
||||
{'1': 'SEQ_NEEDS_INCREMENTAL_STATE', '2': 2},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `TracePacket`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List tracePacketDescriptor = $convert.base64Decode(
|
||||
'CgtUcmFjZVBhY2tldBIcCgl0aW1lc3RhbXAYCCABKARSCXRpbWVzdGFtcBIsChJ0aW1lc3RhbX'
|
||||
'BfY2xvY2tfaWQYOiABKA1SEHRpbWVzdGFtcENsb2NrSWQSRwoOY2xvY2tfc25hcHNob3QYBiAB'
|
||||
'KAsyHi5wZXJmZXR0by5wcm90b3MuQ2xvY2tTbmFwc2hvdEgAUg1jbG9ja1NuYXBzaG90Ej4KC3'
|
||||
'RyYWNrX2V2ZW50GAsgASgLMhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnRIAFIKdHJhY2tF'
|
||||
'dmVudBJNChB0cmFja19kZXNjcmlwdG9yGDwgASgLMiAucGVyZmV0dG8ucHJvdG9zLlRyYWNrRG'
|
||||
'VzY3JpcHRvckgAUg90cmFja0Rlc2NyaXB0b3ISPgoLcGVyZl9zYW1wbGUYQiABKAsyGy5wZXJm'
|
||||
'ZXR0by5wcm90b3MuUGVyZlNhbXBsZUgAUgpwZXJmU2FtcGxlEj0KGnRydXN0ZWRfcGFja2V0X3'
|
||||
'NlcXVlbmNlX2lkGAogASgNSAFSF3RydXN0ZWRQYWNrZXRTZXF1ZW5jZUlkEkIKDWludGVybmVk'
|
||||
'X2RhdGEYDCABKAsyHS5wZXJmZXR0by5wcm90b3MuSW50ZXJuZWREYXRhUgxpbnRlcm5lZERhdG'
|
||||
'ESJQoOc2VxdWVuY2VfZmxhZ3MYDSABKA1SDXNlcXVlbmNlRmxhZ3MiaAoNU2VxdWVuY2VGbGFn'
|
||||
'cxITCg9TRVFfVU5TUEVDSUZJRUQQABIhCh1TRVFfSU5DUkVNRU5UQUxfU1RBVEVfQ0xFQVJFRB'
|
||||
'ABEh8KG1NFUV9ORUVEU19JTkNSRU1FTlRBTF9TVEFURRACQgYKBGRhdGFCJQojb3B0aW9uYWxf'
|
||||
'dHJ1c3RlZF9wYWNrZXRfc2VxdWVuY2VfaWQ=');
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/trace_packet.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'trace_packet.pb.dart';
|
|
@ -0,0 +1,131 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/track_event/debug_annotation.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
enum DebugAnnotation_NameField { name, notSet }
|
||||
|
||||
enum DebugAnnotation_Value { stringValue, legacyJsonValue, notSet }
|
||||
|
||||
class DebugAnnotation extends $pb.GeneratedMessage {
|
||||
factory DebugAnnotation() => create();
|
||||
DebugAnnotation._() : super();
|
||||
factory DebugAnnotation.fromBuffer($core.List<$core.int> i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(i, r);
|
||||
factory DebugAnnotation.fromJson($core.String i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(i, r);
|
||||
|
||||
static const $core.Map<$core.int, DebugAnnotation_NameField>
|
||||
_DebugAnnotation_NameFieldByTag = {
|
||||
10: DebugAnnotation_NameField.name,
|
||||
0: DebugAnnotation_NameField.notSet
|
||||
};
|
||||
static const $core.Map<$core.int, DebugAnnotation_Value>
|
||||
_DebugAnnotation_ValueByTag = {
|
||||
6: DebugAnnotation_Value.stringValue,
|
||||
9: DebugAnnotation_Value.legacyJsonValue,
|
||||
0: DebugAnnotation_Value.notSet
|
||||
};
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'DebugAnnotation',
|
||||
package:
|
||||
const $pb.PackageName(_omitMessageNames ? '' : 'perfetto.protos'),
|
||||
createEmptyInstance: create)
|
||||
..oo(0, [10])
|
||||
..oo(1, [6, 9])
|
||||
..aOS(6, _omitFieldNames ? '' : 'stringValue')
|
||||
..aOS(9, _omitFieldNames ? '' : 'legacyJsonValue')
|
||||
..aOS(10, _omitFieldNames ? '' : 'name')
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
DebugAnnotation clone() => DebugAnnotation()..mergeFromMessage(this);
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
DebugAnnotation copyWith(void Function(DebugAnnotation) updates) =>
|
||||
super.copyWith((message) => updates(message as DebugAnnotation))
|
||||
as DebugAnnotation;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static DebugAnnotation create() => DebugAnnotation._();
|
||||
DebugAnnotation createEmptyInstance() => create();
|
||||
static $pb.PbList<DebugAnnotation> createRepeated() =>
|
||||
$pb.PbList<DebugAnnotation>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static DebugAnnotation getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<DebugAnnotation>(create);
|
||||
static DebugAnnotation? _defaultInstance;
|
||||
|
||||
DebugAnnotation_NameField whichNameField() =>
|
||||
_DebugAnnotation_NameFieldByTag[$_whichOneof(0)]!;
|
||||
void clearNameField() => clearField($_whichOneof(0));
|
||||
|
||||
DebugAnnotation_Value whichValue() =>
|
||||
_DebugAnnotation_ValueByTag[$_whichOneof(1)]!;
|
||||
void clearValue() => clearField($_whichOneof(1));
|
||||
|
||||
@$pb.TagNumber(6)
|
||||
$core.String get stringValue => $_getSZ(0);
|
||||
@$pb.TagNumber(6)
|
||||
set stringValue($core.String v) {
|
||||
$_setString(0, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(6)
|
||||
$core.bool hasStringValue() => $_has(0);
|
||||
@$pb.TagNumber(6)
|
||||
void clearStringValue() => clearField(6);
|
||||
|
||||
@$pb.TagNumber(9)
|
||||
$core.String get legacyJsonValue => $_getSZ(1);
|
||||
@$pb.TagNumber(9)
|
||||
set legacyJsonValue($core.String v) {
|
||||
$_setString(1, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(9)
|
||||
$core.bool hasLegacyJsonValue() => $_has(1);
|
||||
@$pb.TagNumber(9)
|
||||
void clearLegacyJsonValue() => clearField(9);
|
||||
|
||||
@$pb.TagNumber(10)
|
||||
$core.String get name => $_getSZ(2);
|
||||
@$pb.TagNumber(10)
|
||||
set name($core.String v) {
|
||||
$_setString(2, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(10)
|
||||
$core.bool hasName() => $_has(2);
|
||||
@$pb.TagNumber(10)
|
||||
void clearName() => clearField(10);
|
||||
}
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_message_names');
|
|
@ -0,0 +1,49 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/track_event/debug_annotation.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use debugAnnotationDescriptor instead')
|
||||
const DebugAnnotation$json = {
|
||||
'1': 'DebugAnnotation',
|
||||
'2': [
|
||||
{'1': 'name', '3': 10, '4': 1, '5': 9, '9': 0, '10': 'name'},
|
||||
{'1': 'string_value', '3': 6, '4': 1, '5': 9, '9': 1, '10': 'stringValue'},
|
||||
{
|
||||
'1': 'legacy_json_value',
|
||||
'3': 9,
|
||||
'4': 1,
|
||||
'5': 9,
|
||||
'9': 1,
|
||||
'10': 'legacyJsonValue'
|
||||
},
|
||||
],
|
||||
'8': [
|
||||
{'1': 'name_field'},
|
||||
{'1': 'value'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `DebugAnnotation`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List debugAnnotationDescriptor = $convert.base64Decode(
|
||||
'Cg9EZWJ1Z0Fubm90YXRpb24SFAoEbmFtZRgKIAEoCUgAUgRuYW1lEiMKDHN0cmluZ192YWx1ZR'
|
||||
'gGIAEoCUgBUgtzdHJpbmdWYWx1ZRIsChFsZWdhY3lfanNvbl92YWx1ZRgJIAEoCUgBUg9sZWdh'
|
||||
'Y3lKc29uVmFsdWVCDAoKbmFtZV9maWVsZEIHCgV2YWx1ZQ==');
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/track_event/debug_annotation.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'debug_annotation.pb.dart';
|
|
@ -0,0 +1,93 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/track_event/process_descriptor.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class ProcessDescriptor extends $pb.GeneratedMessage {
|
||||
factory ProcessDescriptor() => create();
|
||||
ProcessDescriptor._() : super();
|
||||
factory ProcessDescriptor.fromBuffer($core.List<$core.int> i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(i, r);
|
||||
factory ProcessDescriptor.fromJson($core.String i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'ProcessDescriptor',
|
||||
package:
|
||||
const $pb.PackageName(_omitMessageNames ? '' : 'perfetto.protos'),
|
||||
createEmptyInstance: create)
|
||||
..a<$core.int>(1, _omitFieldNames ? '' : 'pid', $pb.PbFieldType.O3)
|
||||
..aOS(6, _omitFieldNames ? '' : 'processName')
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
ProcessDescriptor clone() => ProcessDescriptor()..mergeFromMessage(this);
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
ProcessDescriptor copyWith(void Function(ProcessDescriptor) updates) =>
|
||||
super.copyWith((message) => updates(message as ProcessDescriptor))
|
||||
as ProcessDescriptor;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static ProcessDescriptor create() => ProcessDescriptor._();
|
||||
ProcessDescriptor createEmptyInstance() => create();
|
||||
static $pb.PbList<ProcessDescriptor> createRepeated() =>
|
||||
$pb.PbList<ProcessDescriptor>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static ProcessDescriptor getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<ProcessDescriptor>(create);
|
||||
static ProcessDescriptor? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.int get pid => $_getIZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set pid($core.int v) {
|
||||
$_setSignedInt32(0, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasPid() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearPid() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(6)
|
||||
$core.String get processName => $_getSZ(1);
|
||||
@$pb.TagNumber(6)
|
||||
set processName($core.String v) {
|
||||
$_setString(1, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(6)
|
||||
$core.bool hasProcessName() => $_has(1);
|
||||
@$pb.TagNumber(6)
|
||||
void clearProcessName() => clearField(6);
|
||||
}
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_message_names');
|
|
@ -0,0 +1,36 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/track_event/process_descriptor.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use processDescriptorDescriptor instead')
|
||||
const ProcessDescriptor$json = {
|
||||
'1': 'ProcessDescriptor',
|
||||
'2': [
|
||||
{'1': 'pid', '3': 1, '4': 1, '5': 5, '10': 'pid'},
|
||||
{'1': 'process_name', '3': 6, '4': 1, '5': 9, '10': 'processName'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `ProcessDescriptor`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List processDescriptorDescriptor = $convert.base64Decode(
|
||||
'ChFQcm9jZXNzRGVzY3JpcHRvchIQCgNwaWQYASABKAVSA3BpZBIhCgxwcm9jZXNzX25hbWUYBi'
|
||||
'ABKAlSC3Byb2Nlc3NOYW1l');
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/track_event/process_descriptor.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'process_descriptor.pb.dart';
|
|
@ -0,0 +1,106 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/track_event/thread_descriptor.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class ThreadDescriptor extends $pb.GeneratedMessage {
|
||||
factory ThreadDescriptor() => create();
|
||||
ThreadDescriptor._() : super();
|
||||
factory ThreadDescriptor.fromBuffer($core.List<$core.int> i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(i, r);
|
||||
factory ThreadDescriptor.fromJson($core.String i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'ThreadDescriptor',
|
||||
package:
|
||||
const $pb.PackageName(_omitMessageNames ? '' : 'perfetto.protos'),
|
||||
createEmptyInstance: create)
|
||||
..a<$core.int>(1, _omitFieldNames ? '' : 'pid', $pb.PbFieldType.O3)
|
||||
..a<$core.int>(2, _omitFieldNames ? '' : 'tid', $pb.PbFieldType.O3)
|
||||
..aOS(5, _omitFieldNames ? '' : 'threadName')
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
ThreadDescriptor clone() => ThreadDescriptor()..mergeFromMessage(this);
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
ThreadDescriptor copyWith(void Function(ThreadDescriptor) updates) =>
|
||||
super.copyWith((message) => updates(message as ThreadDescriptor))
|
||||
as ThreadDescriptor;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static ThreadDescriptor create() => ThreadDescriptor._();
|
||||
ThreadDescriptor createEmptyInstance() => create();
|
||||
static $pb.PbList<ThreadDescriptor> createRepeated() =>
|
||||
$pb.PbList<ThreadDescriptor>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static ThreadDescriptor getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<ThreadDescriptor>(create);
|
||||
static ThreadDescriptor? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.int get pid => $_getIZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set pid($core.int v) {
|
||||
$_setSignedInt32(0, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasPid() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearPid() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.int get tid => $_getIZ(1);
|
||||
@$pb.TagNumber(2)
|
||||
set tid($core.int v) {
|
||||
$_setSignedInt32(1, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasTid() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearTid() => clearField(2);
|
||||
|
||||
@$pb.TagNumber(5)
|
||||
$core.String get threadName => $_getSZ(2);
|
||||
@$pb.TagNumber(5)
|
||||
set threadName($core.String v) {
|
||||
$_setString(2, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(5)
|
||||
$core.bool hasThreadName() => $_has(2);
|
||||
@$pb.TagNumber(5)
|
||||
void clearThreadName() => clearField(5);
|
||||
}
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_message_names');
|
|
@ -0,0 +1,37 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/track_event/thread_descriptor.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use threadDescriptorDescriptor instead')
|
||||
const ThreadDescriptor$json = {
|
||||
'1': 'ThreadDescriptor',
|
||||
'2': [
|
||||
{'1': 'pid', '3': 1, '4': 1, '5': 5, '10': 'pid'},
|
||||
{'1': 'tid', '3': 2, '4': 1, '5': 5, '10': 'tid'},
|
||||
{'1': 'thread_name', '3': 5, '4': 1, '5': 9, '10': 'threadName'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `ThreadDescriptor`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List threadDescriptorDescriptor = $convert.base64Decode(
|
||||
'ChBUaHJlYWREZXNjcmlwdG9yEhAKA3BpZBgBIAEoBVIDcGlkEhAKA3RpZBgCIAEoBVIDdGlkEh'
|
||||
'8KC3RocmVhZF9uYW1lGAUgASgJUgp0aHJlYWROYW1l');
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/track_event/thread_descriptor.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'thread_descriptor.pb.dart';
|
|
@ -0,0 +1,145 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/track_event/track_descriptor.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:fixnum/fixnum.dart' as $fixnum;
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import 'process_descriptor.pb.dart' as $3;
|
||||
import 'thread_descriptor.pb.dart' as $4;
|
||||
|
||||
class TrackDescriptor extends $pb.GeneratedMessage {
|
||||
factory TrackDescriptor() => create();
|
||||
TrackDescriptor._() : super();
|
||||
factory TrackDescriptor.fromBuffer($core.List<$core.int> i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(i, r);
|
||||
factory TrackDescriptor.fromJson($core.String i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'TrackDescriptor',
|
||||
package:
|
||||
const $pb.PackageName(_omitMessageNames ? '' : 'perfetto.protos'),
|
||||
createEmptyInstance: create)
|
||||
..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'uuid', $pb.PbFieldType.OU6,
|
||||
defaultOrMaker: $fixnum.Int64.ZERO)
|
||||
..aOS(2, _omitFieldNames ? '' : 'name')
|
||||
..aOM<$3.ProcessDescriptor>(3, _omitFieldNames ? '' : 'process',
|
||||
subBuilder: $3.ProcessDescriptor.create)
|
||||
..aOM<$4.ThreadDescriptor>(4, _omitFieldNames ? '' : 'thread',
|
||||
subBuilder: $4.ThreadDescriptor.create)
|
||||
..a<$fixnum.Int64>(
|
||||
5, _omitFieldNames ? '' : 'parentUuid', $pb.PbFieldType.OU6,
|
||||
defaultOrMaker: $fixnum.Int64.ZERO)
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
TrackDescriptor clone() => TrackDescriptor()..mergeFromMessage(this);
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
TrackDescriptor copyWith(void Function(TrackDescriptor) updates) =>
|
||||
super.copyWith((message) => updates(message as TrackDescriptor))
|
||||
as TrackDescriptor;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static TrackDescriptor create() => TrackDescriptor._();
|
||||
TrackDescriptor createEmptyInstance() => create();
|
||||
static $pb.PbList<TrackDescriptor> createRepeated() =>
|
||||
$pb.PbList<TrackDescriptor>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static TrackDescriptor getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<TrackDescriptor>(create);
|
||||
static TrackDescriptor? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$fixnum.Int64 get uuid => $_getI64(0);
|
||||
@$pb.TagNumber(1)
|
||||
set uuid($fixnum.Int64 v) {
|
||||
$_setInt64(0, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasUuid() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearUuid() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.String get name => $_getSZ(1);
|
||||
@$pb.TagNumber(2)
|
||||
set name($core.String v) {
|
||||
$_setString(1, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasName() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearName() => clearField(2);
|
||||
|
||||
@$pb.TagNumber(3)
|
||||
$3.ProcessDescriptor get process => $_getN(2);
|
||||
@$pb.TagNumber(3)
|
||||
set process($3.ProcessDescriptor v) {
|
||||
setField(3, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasProcess() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearProcess() => clearField(3);
|
||||
@$pb.TagNumber(3)
|
||||
$3.ProcessDescriptor ensureProcess() => $_ensure(2);
|
||||
|
||||
@$pb.TagNumber(4)
|
||||
$4.ThreadDescriptor get thread => $_getN(3);
|
||||
@$pb.TagNumber(4)
|
||||
set thread($4.ThreadDescriptor v) {
|
||||
setField(4, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool hasThread() => $_has(3);
|
||||
@$pb.TagNumber(4)
|
||||
void clearThread() => clearField(4);
|
||||
@$pb.TagNumber(4)
|
||||
$4.ThreadDescriptor ensureThread() => $_ensure(3);
|
||||
|
||||
@$pb.TagNumber(5)
|
||||
$fixnum.Int64 get parentUuid => $_getI64(4);
|
||||
@$pb.TagNumber(5)
|
||||
set parentUuid($fixnum.Int64 v) {
|
||||
$_setInt64(4, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(5)
|
||||
$core.bool hasParentUuid() => $_has(4);
|
||||
@$pb.TagNumber(5)
|
||||
void clearParentUuid() => clearField(5);
|
||||
}
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_message_names');
|
|
@ -0,0 +1,55 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/track_event/track_descriptor.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use trackDescriptorDescriptor instead')
|
||||
const TrackDescriptor$json = {
|
||||
'1': 'TrackDescriptor',
|
||||
'2': [
|
||||
{'1': 'uuid', '3': 1, '4': 1, '5': 4, '10': 'uuid'},
|
||||
{'1': 'parent_uuid', '3': 5, '4': 1, '5': 4, '10': 'parentUuid'},
|
||||
{'1': 'name', '3': 2, '4': 1, '5': 9, '10': 'name'},
|
||||
{
|
||||
'1': 'process',
|
||||
'3': 3,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.perfetto.protos.ProcessDescriptor',
|
||||
'10': 'process'
|
||||
},
|
||||
{
|
||||
'1': 'thread',
|
||||
'3': 4,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.perfetto.protos.ThreadDescriptor',
|
||||
'10': 'thread'
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `TrackDescriptor`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List trackDescriptorDescriptor = $convert.base64Decode(
|
||||
'Cg9UcmFja0Rlc2NyaXB0b3ISEgoEdXVpZBgBIAEoBFIEdXVpZBIfCgtwYXJlbnRfdXVpZBgFIA'
|
||||
'EoBFIKcGFyZW50VXVpZBISCgRuYW1lGAIgASgJUgRuYW1lEjwKB3Byb2Nlc3MYAyABKAsyIi5w'
|
||||
'ZXJmZXR0by5wcm90b3MuUHJvY2Vzc0Rlc2NyaXB0b3JSB3Byb2Nlc3MSOQoGdGhyZWFkGAQgAS'
|
||||
'gLMiEucGVyZmV0dG8ucHJvdG9zLlRocmVhZERlc2NyaXB0b3JSBnRocmVhZA==');
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/track_event/track_descriptor.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'track_descriptor.pb.dart';
|
|
@ -0,0 +1,147 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/track_event/track_event.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:fixnum/fixnum.dart' as $fixnum;
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import 'debug_annotation.pb.dart' as $1;
|
||||
import 'track_event.pbenum.dart';
|
||||
|
||||
export 'track_event.pbenum.dart';
|
||||
|
||||
enum TrackEvent_NameField { name, notSet }
|
||||
|
||||
class TrackEvent extends $pb.GeneratedMessage {
|
||||
factory TrackEvent() => create();
|
||||
TrackEvent._() : super();
|
||||
factory TrackEvent.fromBuffer($core.List<$core.int> i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(i, r);
|
||||
factory TrackEvent.fromJson($core.String i,
|
||||
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(i, r);
|
||||
|
||||
static const $core.Map<$core.int, TrackEvent_NameField>
|
||||
_TrackEvent_NameFieldByTag = {
|
||||
23: TrackEvent_NameField.name,
|
||||
0: TrackEvent_NameField.notSet
|
||||
};
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'TrackEvent',
|
||||
package:
|
||||
const $pb.PackageName(_omitMessageNames ? '' : 'perfetto.protos'),
|
||||
createEmptyInstance: create)
|
||||
..oo(0, [23])
|
||||
..pc<$1.DebugAnnotation>(
|
||||
4, _omitFieldNames ? '' : 'debugAnnotations', $pb.PbFieldType.PM,
|
||||
subBuilder: $1.DebugAnnotation.create)
|
||||
..e<TrackEvent_Type>(9, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE,
|
||||
defaultOrMaker: TrackEvent_Type.TYPE_SLICE_BEGIN,
|
||||
valueOf: TrackEvent_Type.valueOf,
|
||||
enumValues: TrackEvent_Type.values)
|
||||
..a<$fixnum.Int64>(
|
||||
11, _omitFieldNames ? '' : 'trackUuid', $pb.PbFieldType.OU6,
|
||||
defaultOrMaker: $fixnum.Int64.ZERO)
|
||||
..pPS(22, _omitFieldNames ? '' : 'categories')
|
||||
..aOS(23, _omitFieldNames ? '' : 'name')
|
||||
..p<$fixnum.Int64>(
|
||||
47, _omitFieldNames ? '' : 'flowIds', $pb.PbFieldType.PF6)
|
||||
..p<$fixnum.Int64>(
|
||||
48, _omitFieldNames ? '' : 'terminatingFlowIds', $pb.PbFieldType.PF6)
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
TrackEvent clone() => TrackEvent()..mergeFromMessage(this);
|
||||
@$core.Deprecated('Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
TrackEvent copyWith(void Function(TrackEvent) updates) =>
|
||||
super.copyWith((message) => updates(message as TrackEvent)) as TrackEvent;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static TrackEvent create() => TrackEvent._();
|
||||
TrackEvent createEmptyInstance() => create();
|
||||
static $pb.PbList<TrackEvent> createRepeated() => $pb.PbList<TrackEvent>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static TrackEvent getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<TrackEvent>(create);
|
||||
static TrackEvent? _defaultInstance;
|
||||
|
||||
TrackEvent_NameField whichNameField() =>
|
||||
_TrackEvent_NameFieldByTag[$_whichOneof(0)]!;
|
||||
void clearNameField() => clearField($_whichOneof(0));
|
||||
|
||||
@$pb.TagNumber(4)
|
||||
$core.List<$1.DebugAnnotation> get debugAnnotations => $_getList(0);
|
||||
|
||||
@$pb.TagNumber(9)
|
||||
TrackEvent_Type get type => $_getN(1);
|
||||
@$pb.TagNumber(9)
|
||||
set type(TrackEvent_Type v) {
|
||||
setField(9, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(9)
|
||||
$core.bool hasType() => $_has(1);
|
||||
@$pb.TagNumber(9)
|
||||
void clearType() => clearField(9);
|
||||
|
||||
@$pb.TagNumber(11)
|
||||
$fixnum.Int64 get trackUuid => $_getI64(2);
|
||||
@$pb.TagNumber(11)
|
||||
set trackUuid($fixnum.Int64 v) {
|
||||
$_setInt64(2, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(11)
|
||||
$core.bool hasTrackUuid() => $_has(2);
|
||||
@$pb.TagNumber(11)
|
||||
void clearTrackUuid() => clearField(11);
|
||||
|
||||
@$pb.TagNumber(22)
|
||||
$core.List<$core.String> get categories => $_getList(3);
|
||||
|
||||
@$pb.TagNumber(23)
|
||||
$core.String get name => $_getSZ(4);
|
||||
@$pb.TagNumber(23)
|
||||
set name($core.String v) {
|
||||
$_setString(4, v);
|
||||
}
|
||||
|
||||
@$pb.TagNumber(23)
|
||||
$core.bool hasName() => $_has(4);
|
||||
@$pb.TagNumber(23)
|
||||
void clearName() => clearField(23);
|
||||
|
||||
@$pb.TagNumber(47)
|
||||
$core.List<$fixnum.Int64> get flowIds => $_getList(5);
|
||||
|
||||
@$pb.TagNumber(48)
|
||||
$core.List<$fixnum.Int64> get terminatingFlowIds => $_getList(6);
|
||||
}
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_message_names');
|
|
@ -0,0 +1,45 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/track_event/track_event.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class TrackEvent_Type extends $pb.ProtobufEnum {
|
||||
static const TrackEvent_Type TYPE_SLICE_BEGIN =
|
||||
TrackEvent_Type._(1, _omitEnumNames ? '' : 'TYPE_SLICE_BEGIN');
|
||||
static const TrackEvent_Type TYPE_SLICE_END =
|
||||
TrackEvent_Type._(2, _omitEnumNames ? '' : 'TYPE_SLICE_END');
|
||||
static const TrackEvent_Type TYPE_INSTANT =
|
||||
TrackEvent_Type._(3, _omitEnumNames ? '' : 'TYPE_INSTANT');
|
||||
|
||||
static const $core.List<TrackEvent_Type> values = <TrackEvent_Type>[
|
||||
TYPE_SLICE_BEGIN,
|
||||
TYPE_SLICE_END,
|
||||
TYPE_INSTANT,
|
||||
];
|
||||
|
||||
static final $core.Map<$core.int, TrackEvent_Type> _byValue =
|
||||
$pb.ProtobufEnum.initByValue(values);
|
||||
static TrackEvent_Type? valueOf($core.int value) => _byValue[value];
|
||||
|
||||
const TrackEvent_Type._($core.int v, $core.String n) : super(v, n);
|
||||
}
|
||||
|
||||
const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names');
|
|
@ -0,0 +1,81 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/track_event/track_event.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use trackEventDescriptor instead')
|
||||
const TrackEvent$json = {
|
||||
'1': 'TrackEvent',
|
||||
'2': [
|
||||
{'1': 'categories', '3': 22, '4': 3, '5': 9, '10': 'categories'},
|
||||
{'1': 'name', '3': 23, '4': 1, '5': 9, '9': 0, '10': 'name'},
|
||||
{
|
||||
'1': 'type',
|
||||
'3': 9,
|
||||
'4': 1,
|
||||
'5': 14,
|
||||
'6': '.perfetto.protos.TrackEvent.Type',
|
||||
'10': 'type'
|
||||
},
|
||||
{'1': 'track_uuid', '3': 11, '4': 1, '5': 4, '10': 'trackUuid'},
|
||||
{'1': 'flow_ids', '3': 47, '4': 3, '5': 6, '10': 'flowIds'},
|
||||
{
|
||||
'1': 'terminating_flow_ids',
|
||||
'3': 48,
|
||||
'4': 3,
|
||||
'5': 6,
|
||||
'10': 'terminatingFlowIds'
|
||||
},
|
||||
{
|
||||
'1': 'debug_annotations',
|
||||
'3': 4,
|
||||
'4': 3,
|
||||
'5': 11,
|
||||
'6': '.perfetto.protos.DebugAnnotation',
|
||||
'10': 'debugAnnotations'
|
||||
},
|
||||
],
|
||||
'4': [TrackEvent_Type$json],
|
||||
'8': [
|
||||
{'1': 'name_field'},
|
||||
],
|
||||
};
|
||||
|
||||
@$core.Deprecated('Use trackEventDescriptor instead')
|
||||
const TrackEvent_Type$json = {
|
||||
'1': 'Type',
|
||||
'2': [
|
||||
{'1': 'TYPE_SLICE_BEGIN', '2': 1},
|
||||
{'1': 'TYPE_SLICE_END', '2': 2},
|
||||
{'1': 'TYPE_INSTANT', '2': 3},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `TrackEvent`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List trackEventDescriptor = $convert.base64Decode(
|
||||
'CgpUcmFja0V2ZW50Eh4KCmNhdGVnb3JpZXMYFiADKAlSCmNhdGVnb3JpZXMSFAoEbmFtZRgXIA'
|
||||
'EoCUgAUgRuYW1lEjQKBHR5cGUYCSABKA4yIC5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudC5U'
|
||||
'eXBlUgR0eXBlEh0KCnRyYWNrX3V1aWQYCyABKARSCXRyYWNrVXVpZBIZCghmbG93X2lkcxgvIA'
|
||||
'MoBlIHZmxvd0lkcxIwChR0ZXJtaW5hdGluZ19mbG93X2lkcxgwIAMoBlISdGVybWluYXRpbmdG'
|
||||
'bG93SWRzEk0KEWRlYnVnX2Fubm90YXRpb25zGAQgAygLMiAucGVyZmV0dG8ucHJvdG9zLkRlYn'
|
||||
'VnQW5ub3RhdGlvblIQZGVidWdBbm5vdGF0aW9ucyJCCgRUeXBlEhQKEFRZUEVfU0xJQ0VfQkVH'
|
||||
'SU4QARISCg5UWVBFX1NMSUNFX0VORBACEhAKDFRZUEVfSU5TVEFOVBADQgwKCm5hbWVfZmllbG'
|
||||
'Q=');
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: protos/perfetto/trace/track_event/track_event.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'track_event.pb.dart';
|
48
pkg/vm_service_protos/lib/vm_service_protos.dart
Normal file
48
pkg/vm_service_protos/lib/vm_service_protos.dart
Normal file
|
@ -0,0 +1,48 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
|
||||
export 'src/protos/perfetto/common/builtin_clock.pb.dart';
|
||||
export 'src/protos/perfetto/common/builtin_clock.pbenum.dart';
|
||||
export 'src/protos/perfetto/common/builtin_clock.pbjson.dart';
|
||||
export 'src/protos/perfetto/common/builtin_clock.pbserver.dart';
|
||||
export 'src/protos/perfetto/trace/clock_snapshot.pb.dart';
|
||||
export 'src/protos/perfetto/trace/clock_snapshot.pbjson.dart';
|
||||
export 'src/protos/perfetto/trace/clock_snapshot.pbserver.dart';
|
||||
export 'src/protos/perfetto/trace/interned_data/interned_data.pb.dart';
|
||||
export 'src/protos/perfetto/trace/interned_data/interned_data.pbjson.dart';
|
||||
export 'src/protos/perfetto/trace/interned_data/interned_data.pbserver.dart';
|
||||
export 'src/protos/perfetto/trace/profiling/profile_common.pb.dart';
|
||||
export 'src/protos/perfetto/trace/profiling/profile_common.pbjson.dart';
|
||||
export 'src/protos/perfetto/trace/profiling/profile_common.pbserver.dart';
|
||||
export 'src/protos/perfetto/trace/profiling/profile_packet.pb.dart';
|
||||
export 'src/protos/perfetto/trace/profiling/profile_packet.pbjson.dart';
|
||||
export 'src/protos/perfetto/trace/profiling/profile_packet.pbserver.dart';
|
||||
export 'src/protos/perfetto/trace/trace.pb.dart';
|
||||
export 'src/protos/perfetto/trace/trace.pbjson.dart';
|
||||
export 'src/protos/perfetto/trace/trace.pbserver.dart';
|
||||
export 'src/protos/perfetto/trace/trace_packet.pb.dart';
|
||||
export 'src/protos/perfetto/trace/trace_packet.pbenum.dart';
|
||||
export 'src/protos/perfetto/trace/trace_packet.pbjson.dart';
|
||||
export 'src/protos/perfetto/trace/trace_packet.pbserver.dart';
|
||||
export 'src/protos/perfetto/trace/track_event/debug_annotation.pb.dart';
|
||||
export 'src/protos/perfetto/trace/track_event/debug_annotation.pbjson.dart';
|
||||
export 'src/protos/perfetto/trace/track_event/debug_annotation.pbserver.dart';
|
||||
export 'src/protos/perfetto/trace/track_event/process_descriptor.pb.dart';
|
||||
export 'src/protos/perfetto/trace/track_event/process_descriptor.pbjson.dart';
|
||||
export 'src/protos/perfetto/trace/track_event/process_descriptor.pbserver.dart';
|
||||
export 'src/protos/perfetto/trace/track_event/thread_descriptor.pb.dart';
|
||||
export 'src/protos/perfetto/trace/track_event/thread_descriptor.pbjson.dart';
|
||||
export 'src/protos/perfetto/trace/track_event/thread_descriptor.pbserver.dart';
|
||||
export 'src/protos/perfetto/trace/track_event/track_descriptor.pb.dart';
|
||||
export 'src/protos/perfetto/trace/track_event/track_descriptor.pbjson.dart';
|
||||
export 'src/protos/perfetto/trace/track_event/track_descriptor.pbserver.dart';
|
||||
export 'src/protos/perfetto/trace/track_event/track_event.pb.dart';
|
||||
export 'src/protos/perfetto/trace/track_event/track_event.pbenum.dart';
|
||||
export 'src/protos/perfetto/trace/track_event/track_event.pbjson.dart';
|
||||
export 'src/protos/perfetto/trace/track_event/track_event.pbserver.dart';
|
21
pkg/vm_service_protos/pubspec.yaml
Normal file
21
pkg/vm_service_protos/pubspec.yaml
Normal file
|
@ -0,0 +1,21 @@
|
|||
name: vm_service_protos
|
||||
version: 1.0.0
|
||||
description: >-
|
||||
A library for decoding protos returned by a service implementing the Dart VM
|
||||
service protocol.
|
||||
|
||||
repository: https://github.com/dart-lang/sdk/tree/main/pkg/vm_service_protos
|
||||
|
||||
environment:
|
||||
sdk: '>=2.19.0 <4.0.0'
|
||||
|
||||
dependencies:
|
||||
fixnum: ^1.0.0
|
||||
protobuf: ^3.0.0
|
||||
|
||||
# We use 'any' version constraints here as we get our package versions from
|
||||
# the dart-lang/sdk repo's DEPS file. Note that this is a special case; the
|
||||
# best practice for packages is to specify their compatible version ranges.
|
||||
# See also https://dart.dev/tools/pub/dependencies.
|
||||
dev_dependencies:
|
||||
lints: any
|
|
@ -107,25 +107,41 @@ template("protozero_library") {
|
|||
}
|
||||
}
|
||||
|
||||
_perfetto_proto_definition_sources = [
|
||||
"protos/perfetto/common/builtin_clock.proto",
|
||||
"protos/perfetto/trace/clock_snapshot.proto",
|
||||
"protos/perfetto/trace/interned_data/interned_data.proto",
|
||||
"protos/perfetto/trace/profiling/profile_common.proto",
|
||||
"protos/perfetto/trace/profiling/profile_packet.proto",
|
||||
"protos/perfetto/trace/trace.proto",
|
||||
"protos/perfetto/trace/trace_packet.proto",
|
||||
"protos/perfetto/trace/track_event/debug_annotation.proto",
|
||||
"protos/perfetto/trace/track_event/process_descriptor.proto",
|
||||
"protos/perfetto/trace/track_event/thread_descriptor.proto",
|
||||
"protos/perfetto/trace/track_event/track_descriptor.proto",
|
||||
"protos/perfetto/trace/track_event/track_event.proto",
|
||||
]
|
||||
|
||||
# This target is not a dependency of any other GN target. It is required to make
|
||||
# ./protos/tools/compile_perfetto_protos.dart work though.
|
||||
protozero_library("perfetto_protos") {
|
||||
protozero_library("perfetto_protos_protozero") {
|
||||
proto_in_dir = "."
|
||||
proto_out_dir = "//runtime/vm"
|
||||
generator_plugin_options = "wrapper_namespace=pbzero"
|
||||
sources = [
|
||||
"protos/perfetto/common/builtin_clock.proto",
|
||||
"protos/perfetto/trace/clock_snapshot.proto",
|
||||
"protos/perfetto/trace/interned_data/interned_data.proto",
|
||||
"protos/perfetto/trace/profiling/profile_common.proto",
|
||||
"protos/perfetto/trace/profiling/profile_packet.proto",
|
||||
"protos/perfetto/trace/trace_packet.proto",
|
||||
"protos/perfetto/trace/track_event/debug_annotation.proto",
|
||||
"protos/perfetto/trace/track_event/process_descriptor.proto",
|
||||
"protos/perfetto/trace/track_event/thread_descriptor.proto",
|
||||
"protos/perfetto/trace/track_event/track_descriptor.proto",
|
||||
"protos/perfetto/trace/track_event/track_event.proto",
|
||||
]
|
||||
sources = _perfetto_proto_definition_sources
|
||||
}
|
||||
|
||||
proto_library("perfetto_protos_dart") {
|
||||
generate_cc = false
|
||||
generate_python = false
|
||||
generator_plugin_script =
|
||||
"//third_party/pkg/protobuf/protoc_plugin/bin/protoc-gen-dart"
|
||||
generator_plugin_suffixes = [ ".pb.dart" ]
|
||||
|
||||
proto_in_dir = "."
|
||||
proto_out_dir = "//pkg/vm_service_protos/lib/src"
|
||||
|
||||
sources = _perfetto_proto_definition_sources
|
||||
}
|
||||
|
||||
# This config needs to be propagated to all targets that depend on
|
||||
|
|
78
runtime/vm/protos/perfetto/trace/trace.pbzero.h
Normal file
78
runtime/vm/protos/perfetto/trace/trace.pbzero.h
Normal file
|
@ -0,0 +1,78 @@
|
|||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
// Autogenerated by the ProtoZero compiler plugin. DO NOT EDIT.
|
||||
|
||||
#ifndef PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_TRACE_PROTO_H_
|
||||
#define PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_TRACE_PROTO_H_
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "perfetto/protozero/field_writer.h"
|
||||
#include "perfetto/protozero/message.h"
|
||||
#include "perfetto/protozero/packed_repeated_fields.h"
|
||||
#include "perfetto/protozero/proto_decoder.h"
|
||||
#include "perfetto/protozero/proto_utils.h"
|
||||
|
||||
namespace perfetto {
|
||||
namespace protos {
|
||||
namespace pbzero {
|
||||
|
||||
class TracePacket;
|
||||
|
||||
class Trace_Decoder : public ::protozero::TypedProtoDecoder<
|
||||
/*MAX_FIELD_ID=*/1,
|
||||
/*HAS_NONPACKED_REPEATED_FIELDS=*/true> {
|
||||
public:
|
||||
Trace_Decoder(const uint8_t* data, size_t len)
|
||||
: TypedProtoDecoder(data, len) {}
|
||||
explicit Trace_Decoder(const std::string& raw)
|
||||
: TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()),
|
||||
raw.size()) {}
|
||||
explicit Trace_Decoder(const ::protozero::ConstBytes& raw)
|
||||
: TypedProtoDecoder(raw.data, raw.size) {}
|
||||
bool has_packet() const { return at<1>().valid(); }
|
||||
::protozero::RepeatedFieldIterator<::protozero::ConstBytes> packet() const {
|
||||
return GetRepeated<::protozero::ConstBytes>(1);
|
||||
}
|
||||
};
|
||||
|
||||
class Trace : public ::protozero::Message {
|
||||
public:
|
||||
using Decoder = Trace_Decoder;
|
||||
enum : int32_t {
|
||||
kPacketFieldNumber = 1,
|
||||
};
|
||||
static constexpr const char* GetName() { return ".perfetto.protos.Trace"; }
|
||||
|
||||
using FieldMetadata_Packet = ::protozero::proto_utils::FieldMetadata<
|
||||
1,
|
||||
::protozero::proto_utils::RepetitionType::kRepeatedNotPacked,
|
||||
::protozero::proto_utils::ProtoSchemaType::kMessage,
|
||||
TracePacket,
|
||||
Trace>;
|
||||
|
||||
// Ceci n'est pas une pipe.
|
||||
// This is actually a variable of FieldMetadataHelper<FieldMetadata<...>>
|
||||
// type (and users are expected to use it as such, hence kCamelCase name).
|
||||
// It is declared as a function to keep protozero bindings header-only as
|
||||
// inline constexpr variables are not available until C++17 (while inline
|
||||
// functions are).
|
||||
// TODO(altimin): Use inline variable instead after adopting C++17.
|
||||
static constexpr FieldMetadata_Packet kPacket() { return {}; }
|
||||
template <typename T = TracePacket>
|
||||
T* add_packet() {
|
||||
return BeginNestedMessage<T>(1);
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace pbzero
|
||||
} // namespace protos
|
||||
} // namespace perfetto
|
||||
#endif // Include guard.
|
32
runtime/vm/protos/perfetto/trace/trace.proto
Normal file
32
runtime/vm/protos/perfetto/trace/trace.proto
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
// NOTE: This is a manually minified version of Perfetto's trace.proto.
|
||||
|
||||
// IMPORTANT: The coresponding .pbzero.h file must be regenerated after
|
||||
// any change is made to this file. This can be done by running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the
|
||||
// SDK root directory.
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
import "protos/perfetto/trace/trace_packet.proto";
|
||||
|
||||
package perfetto.protos;
|
||||
|
||||
message Trace {
|
||||
repeated TracePacket packet = 1;
|
||||
}
|
|
@ -8,7 +8,13 @@ import 'dart:io';
|
|||
Future<void> compilePerfettoProtos() async {
|
||||
final processResult = await Process.run(
|
||||
'./tools/build.py',
|
||||
['-mdebug', '-ax64', '--no-goma', 'runtime/vm:perfetto_protos'],
|
||||
[
|
||||
'-mdebug',
|
||||
'-ax64',
|
||||
'--no-goma',
|
||||
'runtime/vm:perfetto_protos_protozero',
|
||||
'runtime/vm:perfetto_protos_dart'
|
||||
],
|
||||
);
|
||||
|
||||
final int exitCode = processResult.exitCode;
|
||||
|
@ -23,19 +29,21 @@ Future<void> compilePerfettoProtos() async {
|
|||
}
|
||||
}
|
||||
|
||||
Future<void> copyPerfettoProtoHeaders() async {
|
||||
final copySource = Directory('./out/DebugX64/gen/runtime/vm/protos').path;
|
||||
final copyDestination = Directory('./runtime/vm').path;
|
||||
const noticesToPrepend = r'''
|
||||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
late final executable;
|
||||
late final args;
|
||||
if (Platform.operatingSystem == 'windows') {
|
||||
executable = 'xcopy';
|
||||
args = [copySource, copyDestination, '/e', '/i'];
|
||||
} else {
|
||||
executable = 'cp';
|
||||
args = ['-R', copySource, copyDestination];
|
||||
}
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
''';
|
||||
|
||||
Future<void> copyGeneratedFiles(
|
||||
{required Directory source, required Directory destination}) async {
|
||||
final executable = 'cp';
|
||||
final args = ['-R', source.path, destination.path];
|
||||
final processResult = await Process.run(executable, args);
|
||||
|
||||
final int exitCode = processResult.exitCode;
|
||||
|
@ -50,30 +58,72 @@ Future<void> copyPerfettoProtoHeaders() async {
|
|||
}
|
||||
|
||||
for (final file
|
||||
in Directory('./runtime/vm/protos').listSync(recursive: true)) {
|
||||
if (!(file is File) || !file.path.endsWith('.pbzero.h')) {
|
||||
in Directory('${destination.path}/protos').listSync(recursive: true)) {
|
||||
if (!(file is File &&
|
||||
(file.path.endsWith('.pbzero.h') ||
|
||||
file.path.endsWith('.pb.dart') ||
|
||||
file.path.endsWith('.pbenum.dart') ||
|
||||
file.path.endsWith('.pbjson.dart') ||
|
||||
file.path.endsWith('.pbserver.dart')))) {
|
||||
continue;
|
||||
}
|
||||
if (file.path.endsWith('.pbenum.dart') &&
|
||||
file.readAsStringSync().indexOf('class') == -1) {
|
||||
// Sometimes .pbenum.dart files that are effictively empty get generated,
|
||||
// so we delete them.
|
||||
file.deleteSync();
|
||||
continue;
|
||||
}
|
||||
final contentsIncludingPrependedNotices = r'''
|
||||
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// IMPORTANT: This file should only ever be modified by modifying the
|
||||
// corresponding .proto file and then running
|
||||
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
|
||||
// directory.
|
||||
''' +
|
||||
file.readAsStringSync();
|
||||
final contentsIncludingPrependedNotices =
|
||||
noticesToPrepend + file.readAsStringSync();
|
||||
file.writeAsStringSync(contentsIncludingPrependedNotices, flush: true);
|
||||
}
|
||||
}
|
||||
|
||||
void createFileThatExportsAllGeneratedDartCode() {
|
||||
final file = File('./pkg/vm_service_protos/lib/vm_service_protos.dart');
|
||||
if (!file.existsSync()) {
|
||||
file.createSync();
|
||||
}
|
||||
file.writeAsStringSync(noticesToPrepend + '\n');
|
||||
|
||||
final generatedDartFilePaths =
|
||||
Directory('./pkg/vm_service_protos/lib/src/protos/perfetto')
|
||||
.listSync(recursive: true)
|
||||
.where((entity) => entity is File)
|
||||
.map((file) => file.path)
|
||||
.toList();
|
||||
generatedDartFilePaths.sort();
|
||||
for (final path in generatedDartFilePaths) {
|
||||
final pathToExport = path.replaceAll('./pkg/vm_service_protos/lib/', '');
|
||||
file.writeAsStringSync("export '$pathToExport';\n", mode: FileMode.append);
|
||||
}
|
||||
}
|
||||
|
||||
main(List<String> files) async {
|
||||
if (!Directory('./runtime/vm').existsSync()) {
|
||||
print('Error: this tool must be run from the root directory of the SDK.');
|
||||
return;
|
||||
}
|
||||
if (!Platform.isLinux) {
|
||||
// TODO(derekx): The compilation of protoc fails on MacOS due to the error
|
||||
// "'sprintf' is deprecated". When bumping protobuf, check if this problem
|
||||
// has been resolved.
|
||||
print('Error: this tool can only be run on Linux because protoc has '
|
||||
'compatibility issues on other platforms.');
|
||||
return;
|
||||
}
|
||||
|
||||
await compilePerfettoProtos();
|
||||
await copyPerfettoProtoHeaders();
|
||||
await copyGeneratedFiles(
|
||||
destination: Directory('./runtime/vm'),
|
||||
source: Directory('./out/DebugX64/gen/runtime/vm/protos'),
|
||||
);
|
||||
await copyGeneratedFiles(
|
||||
destination: Directory('./pkg/vm_service_protos/lib/src'),
|
||||
source:
|
||||
Directory('./out/DebugX64/gen/pkg/vm_service_protos/lib/src/protos'),
|
||||
);
|
||||
createFileThatExportsAllGeneratedDartCode();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue