xref: /aosp_15_r20/external/perfetto/tools/gen_clickhouse_bigtrace_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 Workerimport os
18*6dbdd20aSAndroid Build Coastguard Worker"""
19*6dbdd20aSAndroid Build Coastguard WorkerCompile the gRPC python code for Clickhouse for Bigtrace
20*6dbdd20aSAndroid Build Coastguard Workerand modify the include paths to point to the correct file paths
21*6dbdd20aSAndroid Build Coastguard Worker
22*6dbdd20aSAndroid Build Coastguard Worker"""
23*6dbdd20aSAndroid Build Coastguard Worker
24*6dbdd20aSAndroid Build Coastguard Worker
25*6dbdd20aSAndroid Build Coastguard Workerdef main():
26*6dbdd20aSAndroid Build Coastguard Worker  subprocess.run([
27*6dbdd20aSAndroid Build Coastguard Worker      "python3",
28*6dbdd20aSAndroid Build Coastguard Worker      "-m",
29*6dbdd20aSAndroid Build Coastguard Worker      "grpc_tools.protoc",
30*6dbdd20aSAndroid Build Coastguard Worker      "-I.",
31*6dbdd20aSAndroid Build Coastguard Worker      "--python_out=python/perfetto/bigtrace_clickhouse",
32*6dbdd20aSAndroid Build Coastguard Worker      "--pyi_out=python/perfetto/bigtrace_clickhouse",
33*6dbdd20aSAndroid Build Coastguard Worker      "protos/perfetto/bigtrace/orchestrator.proto",
34*6dbdd20aSAndroid Build Coastguard Worker      "protos/perfetto/trace_processor/trace_processor.proto",
35*6dbdd20aSAndroid Build Coastguard Worker      "protos/perfetto/common/descriptor.proto",
36*6dbdd20aSAndroid Build Coastguard Worker      "protos/perfetto/trace_processor/metatrace_categories.proto",
37*6dbdd20aSAndroid Build Coastguard Worker  ])
38*6dbdd20aSAndroid Build Coastguard Worker  subprocess.run([
39*6dbdd20aSAndroid Build Coastguard Worker      "python3",
40*6dbdd20aSAndroid Build Coastguard Worker      "-m",
41*6dbdd20aSAndroid Build Coastguard Worker      "grpc_tools.protoc",
42*6dbdd20aSAndroid Build Coastguard Worker      "-I.",
43*6dbdd20aSAndroid Build Coastguard Worker      "--python_out=python/perfetto/bigtrace_clickhouse",
44*6dbdd20aSAndroid Build Coastguard Worker      "--pyi_out=python/perfetto/bigtrace_clickhouse",
45*6dbdd20aSAndroid Build Coastguard Worker      "--grpc_python_out=python/perfetto/bigtrace_clickhouse",
46*6dbdd20aSAndroid Build Coastguard Worker      "protos/perfetto/bigtrace/orchestrator.proto",
47*6dbdd20aSAndroid Build Coastguard Worker  ])
48*6dbdd20aSAndroid Build Coastguard Worker  subprocess.run([
49*6dbdd20aSAndroid Build Coastguard Worker      "sed",
50*6dbdd20aSAndroid Build Coastguard Worker      "-i",
51*6dbdd20aSAndroid Build Coastguard Worker      "-e",
52*6dbdd20aSAndroid Build Coastguard Worker      "s/protos\.perfetto/\./",
53*6dbdd20aSAndroid Build Coastguard Worker      "python/perfetto/bigtrace_clickhouse/protos/perfetto/bigtrace/orchestrator_pb2_grpc.py",
54*6dbdd20aSAndroid Build Coastguard Worker      "python/perfetto/bigtrace_clickhouse/protos/perfetto/bigtrace/orchestrator_pb2.py",
55*6dbdd20aSAndroid Build Coastguard Worker      "python/perfetto/bigtrace_clickhouse/protos/perfetto/bigtrace/orchestrator_pb2.pyi",
56*6dbdd20aSAndroid Build Coastguard Worker      "python/perfetto/bigtrace_clickhouse/protos/perfetto/trace_processor/trace_processor_pb2.py",
57*6dbdd20aSAndroid Build Coastguard Worker      "python/perfetto/bigtrace_clickhouse/protos/perfetto/trace_processor/trace_processor_pb2.pyi",
58*6dbdd20aSAndroid Build Coastguard Worker  ])
59*6dbdd20aSAndroid Build Coastguard Worker  return 0
60*6dbdd20aSAndroid Build Coastguard Worker
61*6dbdd20aSAndroid Build Coastguard Worker
62*6dbdd20aSAndroid Build Coastguard Workerif __name__ == "__main__":
63*6dbdd20aSAndroid Build Coastguard Worker  main()
64