scripts: Annotate build_packages for telemetry MVP
BUG=b:265963392
TEST=./bin/build_packages --board=amd64-generic --debug
TEST=manual span review
TEST=CQ
Cq-Depend: chromium:4575690
Change-Id: I7da52d8799c9f0a83f0dc4a068cf57978d74aeff
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/4576027
Commit-Queue: Alex Klein <saklein@chromium.org>
Auto-Submit: Lizzy Presland <zland@google.com>
Reviewed-by: Alex Klein <saklein@chromium.org>
Tested-by: Lizzy Presland <zland@google.com>
diff --git a/scripts/build_packages.py b/scripts/build_packages.py
index 69edb30..8b48ee7 100644
--- a/scripts/build_packages.py
+++ b/scripts/build_packages.py
@@ -20,11 +20,14 @@
import urllib.error
import urllib.request
+from chromite.third_party.opentelemetry import trace
+
from chromite.lib import build_target_lib
from chromite.lib import commandline
from chromite.lib import cros_build_lib
from chromite.lib import sysroot_lib
from chromite.service import sysroot
+from chromite.utils import telemetry
from chromite.utils import timer
@@ -471,11 +474,28 @@
return parser, opts
+tracer = trace.get_tracer(__name__)
+
+
+def set_up_telemetry(debug: bool):
+ telemetry.initialize()
+ if debug:
+ telemetry.export_to_console()
+
+
@timer.timed("Elapsed time (build_packages)")
def main(argv: Optional[List[str]] = None) -> Optional[int]:
commandline.RunInsideChroot()
parser, opts = parse_args(argv)
+ set_up_telemetry(opts.debug)
+ build_packages(parser, opts)
+
+
+@tracer.start_as_current_span("scripts.build_packages.build_packages")
+def build_packages(
+ parser: commandline.ArgumentParser, opts: commandline.ArgumentNamespace
+):
# If the opts.board is not set, then it means user hasn't specified a
# default board in 'src/scripts/.default_board' and didn't specify it as
# input argument.