blob: ff9b5207830b7ddd374d0b47e4f07dc9b7ae51ce [file] [log] [blame]
# Copyright 2019 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.
import("//build/components.gni")
import("//build/test.gni")
# Metrics which depend on cobalt only.
static_library("metrics-cobalt") {
public = [ "cobalt_metrics.h" ]
sources = [
"cobalt_metrics.cc",
"events.h",
]
public_deps = [
"//zircon/system/ulib/cobalt-client",
"//zircon/system/ulib/fbl",
]
deps = [
"//zircon/system/ulib/cobalt-client",
"//zircon/system/ulib/fbl",
]
}
# Metrics which are logged by inspect vmo only.
static_library("metrics-inspect") {
public = [
"attributes.h",
"events.h",
"histograms.h",
"object_generator.h",
"object_offsets.h",
"offsets.h",
]
sources = [ "histograms.cc" ]
public_deps = [
"//zircon/public/lib/zx",
"//zircon/system/ulib/fbl",
"//zircon/system/ulib/fzl",
"//zircon/system/ulib/inspect",
]
deps = [
"//zircon/public/lib/zx",
"//zircon/system/ulib/fbl",
"//zircon/system/ulib/fzl",
"//zircon/system/ulib/inspect",
]
}
# Helper library that uses both cobalt and inspect to record metrics.
# TODO(fxbug.dev/32982): Remove once inspect broker service is complete.
static_library("metrics-composite-latency-event") {
public = [ "composite_latency_event.h" ]
sources = [ "composite_latency_event.cc" ]
public_deps = [
":metrics-cobalt",
":metrics-inspect",
"//zircon/system/ulib/cobalt-client",
]
deps = [
":metrics-cobalt",
":metrics-inspect",
"//zircon/system/ulib/cobalt-client",
"//zircon/system/ulib/fbl",
"//zircon/system/ulib/fzl",
]
}
group("metrics") {
deps = [
":metrics-cobalt",
":metrics-composite-latency-event",
":metrics-inspect",
]
}
# Separated into own target, so it is easier to cleanup later.
test("metrics-composite-latency-event-test") {
if (is_fuchsia) {
configs += [ "//build/unification/config:zircon-migrated" ]
}
if (is_fuchsia) {
fdio_config = [ "//build/config/fuchsia:fdio_config" ]
if (configs + fdio_config - fdio_config != configs) {
configs -= fdio_config
}
}
sources = [ "composite_latency_event_test.cc" ]
deps = [
":metrics-cobalt",
":metrics-composite-latency-event",
":metrics-inspect-test",
"//zircon/public/lib/zxtest",
"//zircon/system/ulib/cobalt-client",
"//zircon/system/ulib/cobalt-client:in-memory-logger",
"//zircon/system/ulib/inspect",
]
}
test("metrics-inspect-test") {
if (is_fuchsia) {
configs += [ "//build/unification/config:zircon-migrated" ]
}
if (is_fuchsia) {
fdio_config = [ "//build/config/fuchsia:fdio_config" ]
if (configs + fdio_config - fdio_config != configs) {
configs -= fdio_config
}
}
sources = [
"histograms_test.cc",
"latency_event_test.cc",
"offsets_test.cc",
]
deps = [
":metrics-inspect",
"//zircon/public/lib/zx",
"//zircon/public/lib/zxtest",
"//zircon/system/ulib/fbl",
"//zircon/system/ulib/inspect",
]
}
test("metrics-cobalt-test") {
if (is_fuchsia) {
fdio_config = [ "//build/config/fuchsia:fdio_config" ]
if (configs + fdio_config - fdio_config != configs) {
configs -= fdio_config
}
}
sources = [ "cobalt_metrics_test.cc" ]
deps = [
":metrics-cobalt",
"//zircon/public/lib/zx",
"//zircon/public/lib/zxtest",
"//zircon/system/ulib/cobalt-client",
"//zircon/system/ulib/cobalt-client:in-memory-logger",
]
}
group("test") {
testonly = true
deps = [
":metrics-cobalt-test",
":metrics-composite-latency-event-test",
":metrics-inspect-test",
]
}
fuchsia_unittest_package("metrics-cobalt-test-pkg") {
package_name = "metrics-cobalt"
deps = [ ":metrics-cobalt-test" ]
}
group("tests") {
testonly = true
deps = [
":metrics-cobalt-test-pkg",
":metrics-composite-latency-event-test-pkg",
":metrics-inspect-test-pkg",
]
}
fuchsia_unittest_package("metrics-composite-latency-event-test-pkg") {
package_name = "metrics-composite-latency-event"
deps = [ ":metrics-composite-latency-event-test" ]
}
fuchsia_unittest_package("metrics-inspect-test-pkg") {
package_name = "metrics-inspect"
deps = [ ":metrics-inspect-test" ]
}