xref: /aosp_15_r20/external/perfetto/python/BUILD (revision 6dbdd20afdafa5e3ca9b8809fa73465d530080dc)
1# Copyright (C) 2022 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14#
15# This file is automatically generated by tools/gen_bazel. Do not edit.
16
17load("@perfetto_cfg//:perfetto_cfg.bzl", "PERFETTO_CONFIG")
18load(
19    "@perfetto//bazel:rules.bzl",
20    "perfetto_py_binary",
21    "perfetto_py_library",
22)
23
24licenses(["notice"])
25
26package(default_visibility = [PERFETTO_CONFIG.root + ":__subpackages__"])
27
28# GN target: //python:batch_trace_processor
29perfetto_py_library(
30    name = "batch_trace_processor",
31    srcs = [
32        "perfetto/batch_trace_processor/__init__.py",
33        "perfetto/batch_trace_processor/api.py",
34        "perfetto/batch_trace_processor/platform.py",
35    ],
36    visibility = [
37        "//visibility:public",
38    ],
39    deps = [
40               ":trace_processor_py",
41           ] + PERFETTO_CONFIG.deps.pandas_py +
42           PERFETTO_CONFIG.deps.tp_vendor_py,
43)
44
45# GN target: //python:experimental_slice_breakdown_bin
46perfetto_py_binary(
47    name = "experimental_slice_breakdown_bin",
48    srcs = [
49        "tools/slice_breakdown.py",
50    ],
51    deps = [
52        ":experimental_slice_breakdown_lib",
53        ":trace_processor_py",
54    ] + PERFETTO_CONFIG.deps.pandas_py,
55    main = "tools/slice_breakdown.py",
56    python_version = "PY3",
57)
58
59# GN target: //python:trace_processor_table_generator
60perfetto_py_library(
61    name = "trace_processor_table_generator",
62    srcs = [
63        "generators/trace_processor_table/public.py",
64        "generators/trace_processor_table/serialize.py",
65        "generators/trace_processor_table/util.py",
66    ],
67)
68
69# GN target: //python:trace_processor_py_example
70perfetto_py_binary(
71    name = "trace_processor_py_example",
72    srcs = [
73        "example.py",
74    ],
75    deps = [
76        ":trace_processor_py",
77    ] + PERFETTO_CONFIG.deps.pandas_py,
78    main = "example.py",
79    python_version = "PY3",
80)
81
82# GN target: //python:sql_processing
83perfetto_py_library(
84    name = "sql_processing",
85    srcs = [
86        "generators/sql_processing/docs_extractor.py",
87        "generators/sql_processing/docs_parse.py",
88        "generators/sql_processing/utils.py",
89    ],
90)
91
92# GN target: //python:common
93perfetto_py_library(
94    name = "common",
95    srcs = [
96        "perfetto/common/exceptions.py",
97        "perfetto/common/query_result_iterator.py",
98    ],
99)
100
101# GN target: //python:experimental_slice_breakdown_lib
102perfetto_py_library(
103    name = "experimental_slice_breakdown_lib",
104    srcs = [
105        "perfetto/experimental/slice_breakdown/__init__.py",
106        "perfetto/experimental/slice_breakdown/breakdown.py",
107    ],
108    deps = [
109        ":trace_processor_py",
110    ],
111)
112
113# GN target: //python:trace_processor_py
114perfetto_py_library(
115    name = "trace_processor_py",
116    visibility = [
117        "//visibility:public",
118    ],
119    deps = [
120        ":trace_processor_py_no_resolvers",
121    ] + PERFETTO_CONFIG.deps.tp_resolvers_py,
122)
123
124# GN target: //python:trace_processor_py_no_resolvers
125perfetto_py_library(
126    name = "trace_processor_py_no_resolvers",
127    srcs = [
128        "perfetto/trace_processor/__init__.py",
129        "perfetto/trace_processor/api.py",
130        "perfetto/trace_processor/http.py",
131        "perfetto/trace_processor/platform.py",
132        "perfetto/trace_processor/protos.py",
133        "perfetto/trace_processor/shell.py",
134    ],
135    visibility = [
136        "//visibility:public",
137    ],
138    data = [
139        PERFETTO_CONFIG.root + ":trace_processor_shell",
140        "perfetto/trace_processor/metrics.descriptor",
141        "perfetto/trace_processor/trace_processor.descriptor",
142    ],
143    deps = [
144               ":common",
145               ":trace_uri_resolver",
146           ] + PERFETTO_CONFIG.deps.pandas_py +
147           PERFETTO_CONFIG.deps.protobuf_py +
148           PERFETTO_CONFIG.deps.tp_vendor_py,
149    tags = [
150        "avoid_dep",
151    ],
152)
153
154# GN target: //python:trace_uri_resolver
155perfetto_py_library(
156    name = "trace_uri_resolver",
157    srcs = [
158        "perfetto/trace_uri_resolver/__init__.py",
159        "perfetto/trace_uri_resolver/path.py",
160        "perfetto/trace_uri_resolver/registry.py",
161        "perfetto/trace_uri_resolver/resolver.py",
162        "perfetto/trace_uri_resolver/util.py",
163    ],
164)
165
166