blob: 28bec08ad370d1ae050702a341c1257814ef6704 [file] [log] [blame]
Primiano Tucci1d409982019-09-19 10:15:18 +01001build_config_dir_ = "include/perfetto/base/build_configs/bazel"
2
3# Deliberately NOT a perfetto_cc_library, to avoid cyclic deps.
4# This is pulled as a default dep by all targets.
Harvey Yang321c4fc2021-10-25 14:11:50 +08005perfetto_build_config_cc_library(
Primiano Tucci1d409982019-09-19 10:15:18 +01006 name = "build_config_hdr",
7 hdrs = [build_config_dir_ + "/perfetto_build_flags.h"],
8 includes = [build_config_dir_],
Lalit Maganti279ecde2019-04-01 16:57:12 +01009)
Lalit Maganti26f69bd2019-04-29 18:23:47 +010010
Primiano Tucci1d409982019-09-19 10:15:18 +010011perfetto_cc_library(
Lalit Maganti4c328e32021-11-09 19:29:50 +000012 name = "cc_amalgamated_sql_metrics",
13 hdrs = ["src/trace_processor/metrics/sql/amalgamated_sql_metrics.h"],
Primiano Tucci1d409982019-09-19 10:15:18 +010014)
15
16perfetto_py_binary(
Lalit Maganti4c328e32021-11-09 19:29:50 +000017 name = "gen_amalgamated_sql_metrics_py",
Lalit Maganti26f69bd2019-04-29 18:23:47 +010018 srcs = [
Lalit Maganti4c328e32021-11-09 19:29:50 +000019 "tools/gen_amalgamated_sql_metrics.py",
Lalit Magantiab619fa2019-05-02 12:56:37 +010020 ],
Lalit Maganti4c328e32021-11-09 19:29:50 +000021 main = "tools/gen_amalgamated_sql_metrics.py",
Lalit Magantic449f772020-06-03 14:20:10 +010022 python_version = "PY3",
Lalit Maganti26f69bd2019-04-29 18:23:47 +010023)
Lalit Maganti65600342019-09-19 21:35:35 +010024
Lalit Maganti117272f2020-09-11 14:01:18 +010025perfetto_py_binary(
26 name = "gen_cc_proto_descriptor_py",
27 srcs = [
28 "tools/gen_cc_proto_descriptor.py",
29 ],
30 main = "tools/gen_cc_proto_descriptor.py",
31 python_version = "PY3",
32)
33
Lalit Maganti65600342019-09-19 21:35:35 +010034perfetto_java_proto_library(
35 name = "protos_perfetto_metrics_java",
36 deps = [
37 ":protos_perfetto_metrics_protos",
38 ],
39)
40
41perfetto_java_proto_library(
42 name = "protos_perfetto_metrics_android_java",
43 deps = [
44 ":protos_perfetto_metrics_android_protos",
45 ],
46)
47
Lalit Magantic3187f82019-09-20 14:51:11 +010048perfetto_java_proto_library(
49 name = "protos_perfetto_trace_merged_trace_java",
50 deps = [
51 ":protos_perfetto_trace_merged_trace_protos",
52 ],
53)
54
Hector Dearmanb0f680e2020-04-28 17:40:37 +010055perfetto_java_proto_library(
Hector Dearman41fb1812020-04-29 11:28:09 +010056 name = "protos_perfetto_config_merged_config_java",
Hector Dearmanb0f680e2020-04-28 17:40:37 +010057 deps = [
Hector Dearman41fb1812020-04-29 11:28:09 +010058 ":protos_perfetto_config_merged_config_protos",
Hector Dearmanb0f680e2020-04-28 17:40:37 +010059 ],
60)
61
Lalit Maganti46e2bda2020-05-06 12:51:33 +010062perfetto_java_lite_proto_library(
63 name = "protos_perfetto_config_merged_config_java_lite",
64 deps = [
65 ":protos_perfetto_config_merged_config_protos",
66 ],
67)
68
Lalit Maganti65600342019-09-19 21:35:35 +010069perfetto_gensignature_internal_only(
70 name = "trace_processor_sig",
71 srcs = [
72 ":trace_processor_shell",
73 ":trace_to_text",
74 ],
75 tags = [
76 "__TRACE_PROCESSOR_SIG_TAG1",
77 "__TRACE_PROCESSOR_SIG_TAG2",
78 ],
79)
Anindita Ghosh237a7762020-06-30 10:46:52 +000080
Primiano Tucciec590132020-11-16 14:16:44 +010081# This is overridden in google internal builds via
82# PERFETTO_CONFIG.deps.version_header (see perfetto_cfg.bzl).
83perfetto_cc_library(
84 name = "cc_perfetto_version_header",
85 hdrs = ["perfetto_version.gen.h"],
86)
87
88perfetto_py_binary(
89 name = "gen_version_header_py",
90 srcs = ["tools/write_version_header.py"],
91 data = ["CHANGELOG"],
92 main = "tools/write_version_header.py",
93 python_version = "PY3",
94)
95
Anindita Ghosh237a7762020-06-30 10:46:52 +000096perfetto_py_binary(
Lalit Maganti82a2c042020-07-06 13:50:33 +010097 name = "trace_processor_py_example",
98 srcs = ["src/trace_processor/python/example.py"],
Lalit Maganti471dec32021-08-16 14:38:42 +010099 deps = [":trace_processor_py"] + PERFETTO_CONFIG.deps.pandas_py,
Lalit Maganti82a2c042020-07-06 13:50:33 +0100100 main = "src/trace_processor/python/example.py",
Anindita Ghosh237a7762020-06-30 10:46:52 +0000101 python_version = "PY3",
102)
103
104perfetto_py_library(
Lalit Maganti82a2c042020-07-06 13:50:33 +0100105 name = "trace_processor_py",
Anindita Ghosh456261f2020-09-07 11:31:24 +0100106 srcs = glob(["src/trace_processor/python/perfetto/trace_processor/*.py"]),
Anindita Ghosh152562f2020-07-08 20:29:56 +0000107 data = [
Anindita Ghosh456261f2020-09-07 11:31:24 +0100108 "src/trace_processor/python/perfetto/trace_processor/trace_processor.descriptor",
109 "src/trace_processor/python/perfetto/trace_processor/metrics.descriptor",
Anindita Ghosh7887c762020-07-20 16:35:15 +0000110 ":trace_processor_shell",
Lalit Maganti471dec32021-08-16 14:38:42 +0100111 ] + PERFETTO_CONFIG.deps.tp_init_py,
112 deps = PERFETTO_CONFIG.deps.gfile_py +
113 PERFETTO_CONFIG.deps.protobuf_py +
114 PERFETTO_CONFIG.deps.protobuf_descriptor_pb2_py +
115 PERFETTO_CONFIG.deps.pyglib_py,
Lalit Maganti3f8fabd2021-08-10 15:57:46 +0100116 imports = [
117 "src/trace_processor/python",
118 ],
Lalit Maganti17a56fe2021-02-19 19:04:07 +0000119 visibility = PERFETTO_CONFIG.public_visibility,
Anindita Ghosh237a7762020-06-30 10:46:52 +0000120)
Lalit Maganti3f8fabd2021-08-10 15:57:46 +0100121
122perfetto_py_library(
123 name = "experimental_slice_breakdown_lib",
124 srcs = glob(["tools/slice_breakdown/perfetto/slice_breakdown/*.py"]),
125 deps = [
126 ":trace_processor_py",
127 ],
128 imports = [
129 "tools/slice_breakdown",
130 ],
131)
132
133perfetto_py_binary(
134 name = "experimental_slice_breakdown_bin",
Lalit Maganti471dec32021-08-16 14:38:42 +0100135 srcs = ["tools/slice_breakdown/main.py"],
Lalit Maganti3f8fabd2021-08-10 15:57:46 +0100136 main = "tools/slice_breakdown/main.py",
137 deps = [
138 ":experimental_slice_breakdown_lib",
139 ":trace_processor_py",
Lalit Maganti471dec32021-08-16 14:38:42 +0100140 ] + PERFETTO_CONFIG.deps.pandas_py,
Lalit Maganti3f8fabd2021-08-10 15:57:46 +0100141 python_version = "PY3",
142 legacy_create_init = 0,
143)
Lalit Maganti91bb5ca2021-11-05 16:21:45 +0000144
145perfetto_py_binary(
146 name = "batch_trace_processor_shell",
147 srcs = ["tools/batch_trace_processor/main.py"],
148 main = "tools/batch_trace_processor/main.py",
149 deps = [
150 ":trace_processor_py",
151 ] + PERFETTO_CONFIG.deps.pandas_py,
152 python_version = "PY3",
153 legacy_create_init = 0,
154)