xref: /aosp_15_r20/external/perfetto/tools/gen_bigtrace_grpc_protos.py (revision 6dbdd20afdafa5e3ca9b8809fa73465d530080dc)
1*6dbdd20aSAndroid Build Coastguard Worker#!/usr/bin/env python3
2*6dbdd20aSAndroid Build Coastguard Worker# Copyright (C) 2024 The Android Open Source Project
3*6dbdd20aSAndroid Build Coastguard Worker#
4*6dbdd20aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
5*6dbdd20aSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
6*6dbdd20aSAndroid Build Coastguard Worker# You may obtain a copy of the License at
7*6dbdd20aSAndroid Build Coastguard Worker#
8*6dbdd20aSAndroid Build Coastguard Worker#      http://www.apache.org/licenses/LICENSE-2.0
9*6dbdd20aSAndroid Build Coastguard Worker#
10*6dbdd20aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
11*6dbdd20aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
12*6dbdd20aSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*6dbdd20aSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
14*6dbdd20aSAndroid Build Coastguard Worker# limitations under the License.
15*6dbdd20aSAndroid Build Coastguard Worker
16*6dbdd20aSAndroid Build Coastguard Workerimport subprocess
17*6dbdd20aSAndroid Build Coastguard Worker"""
18*6dbdd20aSAndroid Build Coastguard WorkerCompile the gRPC python code for Bigtrace
19*6dbdd20aSAndroid Build Coastguard Workerand modify the include paths to point to the correct file paths
20*6dbdd20aSAndroid Build Coastguard Worker
21*6dbdd20aSAndroid Build Coastguard Worker"""
22*6dbdd20aSAndroid Build Coastguard Worker
23*6dbdd20aSAndroid Build Coastguard Worker
24*6dbdd20aSAndroid Build Coastguard Workerdef main():
25*6dbdd20aSAndroid Build Coastguard Worker  subprocess.run([
26*6dbdd20aSAndroid Build Coastguard Worker      "python",
27*6dbdd20aSAndroid Build Coastguard Worker      "-m",
28*6dbdd20aSAndroid Build Coastguard Worker      "grpc_tools.protoc",
29*6dbdd20aSAndroid Build Coastguard Worker      "-I.",
30*6dbdd20aSAndroid Build Coastguard Worker      "--python_out=python/perfetto/bigtrace",
31*6dbdd20aSAndroid Build Coastguard Worker      "--pyi_out=python/perfetto/bigtrace",
32*6dbdd20aSAndroid Build Coastguard Worker      "protos/perfetto/bigtrace/orchestrator.proto",
33*6dbdd20aSAndroid Build Coastguard Worker      "protos/perfetto/trace_processor/trace_processor.proto",
34*6dbdd20aSAndroid Build Coastguard Worker      "protos/perfetto/common/descriptor.proto",
35*6dbdd20aSAndroid Build Coastguard Worker      "protos/perfetto/trace_processor/metatrace_categories.proto",
36*6dbdd20aSAndroid Build Coastguard Worker  ])
37*6dbdd20aSAndroid Build Coastguard Worker  subprocess.run([
38*6dbdd20aSAndroid Build Coastguard Worker      "python",
39*6dbdd20aSAndroid Build Coastguard Worker      "-m",
40*6dbdd20aSAndroid Build Coastguard Worker      "grpc_tools.protoc",
41*6dbdd20aSAndroid Build Coastguard Worker      "-I.",
42*6dbdd20aSAndroid Build Coastguard Worker      "--python_out=python/perfetto/bigtrace",
43*6dbdd20aSAndroid Build Coastguard Worker      "--pyi_out=python/perfetto/bigtrace",
44*6dbdd20aSAndroid Build Coastguard Worker      "--grpc_python_out=python/perfetto/bigtrace",
45*6dbdd20aSAndroid Build Coastguard Worker      "protos/perfetto/bigtrace/orchestrator.proto",
46*6dbdd20aSAndroid Build Coastguard Worker  ])
47*6dbdd20aSAndroid Build Coastguard Worker  subprocess.run([
48*6dbdd20aSAndroid Build Coastguard Worker      "sed",
49*6dbdd20aSAndroid Build Coastguard Worker      "-i",
50*6dbdd20aSAndroid Build Coastguard Worker      "-e",
51*6dbdd20aSAndroid Build Coastguard Worker      "s/protos\.perfetto/perfetto\.bigtrace\.protos\.perfetto/",
52*6dbdd20aSAndroid Build Coastguard Worker      "python/perfetto/bigtrace/protos/perfetto/bigtrace/orchestrator_pb2_grpc.py",
53*6dbdd20aSAndroid Build Coastguard Worker      "python/perfetto/bigtrace/protos/perfetto/bigtrace/orchestrator_pb2.py",
54*6dbdd20aSAndroid Build Coastguard Worker      "python/perfetto/bigtrace/protos/perfetto/bigtrace/orchestrator_pb2.pyi",
55*6dbdd20aSAndroid Build Coastguard Worker      "python/perfetto/bigtrace/protos/perfetto/trace_processor/trace_processor_pb2.py",
56*6dbdd20aSAndroid Build Coastguard Worker      "python/perfetto/bigtrace/protos/perfetto/trace_processor/trace_processor_pb2.pyi",
57*6dbdd20aSAndroid Build Coastguard Worker  ])
58*6dbdd20aSAndroid Build Coastguard Worker  return 0
59*6dbdd20aSAndroid Build Coastguard Worker
60*6dbdd20aSAndroid Build Coastguard Worker
61*6dbdd20aSAndroid Build Coastguard Workerif __name__ == "__main__":
62*6dbdd20aSAndroid Build Coastguard Worker  main()
63