blob: 338774d17fbb4dceb09cb82d3feaeb4a07222ce1 [file]
# Copyright 2026 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
load("//build/bazel/rules/packages:fx_package.bzl", "fx_package")
load("//build/bazel/rules/rust:rustc_library.bzl", "rustc_library")
load("//build/bazel/rules/rust:rustc_test.bzl", "rustc_test")
load("//build/bazel/rules/testing:fx_test.bzl", "fx_test")
load("//build/bazel/rules/testing:fx_unittest_component.bzl", "fx_unittest_component")
package(default_applicable_licenses = ["//:license"])
rustc_library(
name = "diagnostics",
srcs = [
"src/escrow.rs",
"src/lib.rs",
"src/lifecycle.rs",
"src/routing.rs",
"src/task_metrics/component_stats.rs",
"src/task_metrics/component_tree_stats.rs",
"src/task_metrics/constants.rs",
"src/task_metrics/measurement.rs",
"src/task_metrics/mod.rs",
"src/task_metrics/runtime_stats_source.rs",
"src/task_metrics/task_info.rs",
"src/task_metrics/testing.rs",
],
edition = "2024",
proc_macro_deps = [
"//third_party/rust_crates/vendor:async-trait",
],
visibility = ["//src/sys/component_manager:__pkg__"],
deps = [
"//sdk/fidl/fuchsia.component.runner:fuchsia.component.runner_rust",
"//sdk/rust/zx",
"//src/lib/diagnostics/inspect/contrib/rust",
"//src/lib/diagnostics/inspect/rust:fuchsia-inspect", # @bazel2gn:path_overwrite://src/lib/diagnostics/inspect/rust
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-runtime",
"//src/lib/fuchsia-sync",
"//src/lib/injectable-time",
"//src/sys/component_manager/lib/errors",
"//src/sys/component_manager/lib/hooks",
"//src/sys/lib/cm_types",
"//src/sys/lib/moniker",
"//third_party/rust_crates/vendor:futures",
"//third_party/rust_crates/vendor:log",
],
)
rustc_test(
name = "diagnostics_lib_test",
crate = ":diagnostics",
edition = "2024",
deps = [
"//src/lib/diagnostics/hierarchy/rust:diagnostics-hierarchy", # @bazel2gn:path_overwrite://src/lib/diagnostics/hierarchy/rust
"//src/lib/diagnostics/testing/diagnostics-assertions/rust:diagnostics-assertions",
"//src/lib/fuchsia",
"//third_party/rust_crates/vendor:assert_matches",
"//third_party/rust_crates/vendor:itertools",
],
)
fx_unittest_component(
name = "test_component",
binary = ":diagnostics_lib_test",
)
fx_package(
name = "diagnostics_tests_package",
package_name = "diagnostics_test",
test_components = [":test_component"],
)
fx_test(
name = "diagnostics_tests",
package = ":diagnostics_tests_package",
)