Commit Graph

7 Commits (main)

Author SHA1 Message Date
Struan Shrimpton d495580f42 Add telemetry initialization and opt out utility
This includes initializing the module which will handle printing the
notice and enabling/disabling telemetry based on config. The __main__
file also allows for the banner to have a consistent entry point for
disabling telemetry so instrumenting programs don't need to worry
about it if they are using the same default config file.

Bug: 326277821
Change-Id: I861d6b9311ed48c2e1effcac22b314b73e2641e3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5901465
Reviewed-by: Terrence Reilly <treilly@google.com>
Commit-Queue: Struan Shrimpton <sshrimp@google.com>
5 months ago
Struan Shrimpton b5210fdb74 Add Tracer to the telemetry lib
This wraps the tracer and allows us to capture keyboard interrupts.
This is based on cros builds chromite_tracer:
https://crrev.com/ff59bf4edd7614a50f27e1cc067e0b6f0af62f1e/lib/telemetry/trace/chromite_tracer.py
except the failed_packages removed (and a custom span is subsequently
not needed)

Bug: 326277821
Change-Id: I0ac60797563c777ee00abac1e5924c45fb59df29
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5896032
Commit-Queue: Struan Shrimpton <sshrimp@google.com>
Reviewed-by: Terrence Reilly <treilly@google.com>
5 months ago
Struan Shrimpton 5bd66c3869 Add exporter to the telemetry lib
This translates the spans into protos and does the actual publishing to
the Clearcut endpoint using cros build's _LOG_SOURCE so it will be
routed to their Sawmill. The service_name on the trace is what will be
used to store our traces in an F1 table accessible by us.

Bug: 326277821
Change-Id: Id1af3b7d5cffa6d9bfb86c34185e4247e85f9619
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5888844
Reviewed-by: Terrence Reilly <treilly@google.com>
Commit-Queue: Struan Shrimpton <sshrimp@google.com>
5 months ago
Struan Shrimpton 9903e62e20 Add config to the telemetry lib
This provides the consistent config between runs. This only supports
linux at the moment, a windows support CL will follow up. Note the
current count down is stored to ensure we provide the banner a minimum
of 10 times and a uuid is stored which is collected in lieu of the
actual username

Bug: 326277821
Change-Id: I3817436ea213c755f490914023508a10cf3cef1b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5855459
Reviewed-by: Terrence Reilly <treilly@google.com>
Commit-Queue: Struan Shrimpton <sshrimp@google.com>
6 months ago
Struan Shrimpton 55d065cc0c Add anonymization and the protos to the telemetry lib
Add the protos for the traces used to publish metrics to Clearcut and
the anonymization code/test that ensure we don't collect de-anonymized
paths.

Bug: 326277821
Change-Id: Ifae4d51f59db2219995a0a8d21785729f5eeb137
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5850298
Reviewed-by: Terrence Reilly <treilly@google.com>
Commit-Queue: Struan Shrimpton <sshrimp@google.com>
6 months ago
Struan Shrimpton c36eb432d9 Add the detector to telemetry library
The detector can be a pretty direct port from chromite. A lot of these
metrics aren't likely neccesary but will be good to have complete
trace protos rather than missings parts. This also creates the
presubmit and .vpython3 file necessary to run the unit tests

Bug: 326277821
Change-Id: I4dbeabbbced4715527201eca888948b07b6004ca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5840599
Commit-Queue: Struan Shrimpton <sshrimp@google.com>
Reviewed-by: Terrence Reilly <treilly@google.com>
6 months ago
Struan Shrimpton e416566a1e Establish a directory for chrome infra telemetry
See go/chrome-infra-telemetry-dd for more details. This CL is to
establish a folder where we can create infra libraries shared by
depot_tools and chromium/src. Note that the folder cannot be named
lib due to https://crbug.com/40259280. "libs" should avoid that
problem

Bug: 326277821
Change-Id: I71641ee74d15474353ef0210579a3a24d2726270
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5797754
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Struan Shrimpton <sshrimp@google.com>
6 months ago