From a2151554e943ec33a6ed8a6bd12ad03afcb1426b Mon Sep 17 00:00:00 2001 From: Wyatt Hepler Date: Thu, 10 Aug 2023 17:53:53 +0000 Subject: pw_trace_tokenized: Build-related fixes - Get pw_trace_tokenized building against the null backend in the GN build. - Exclude pw_trace_tokenzied tests when pw_trace_tokenized is not used. - Use const void* instead of const char* for the data arg in the null backend. - Update the null backend's function naming to match the style guide. - Remove pw_trace_tokenized macros that are never invoked. Document the functions that need to be implemented instead. - Tag more of pw_trace_tokenized as "manual" in the Bazel build since these libraries now require pw_trace_tokenized to be the backend. Change-Id: I233a0726fec5a9a151a82d5e06bf4a675f2e2bb8 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164650 Pigweed-Auto-Submit: Wyatt Hepler Reviewed-by: Carlos Chinchilla Reviewed-by: Dave Roth Commit-Queue: Wyatt Hepler --- pw_trace_tokenized/BUILD.gn | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'pw_trace_tokenized/BUILD.gn') diff --git a/pw_trace_tokenized/BUILD.gn b/pw_trace_tokenized/BUILD.gn index 7af4ddfd9..0e7be3121 100644 --- a/pw_trace_tokenized/BUILD.gn +++ b/pw_trace_tokenized/BUILD.gn @@ -18,6 +18,7 @@ import("$dir_pw_build/target_types.gni") import("$dir_pw_docgen/docs.gni") import("$dir_pw_protobuf_compiler/proto.gni") import("$dir_pw_third_party/nanopb/nanopb.gni") +import("$dir_pw_trace/backend.gni") import("$dir_pw_unit_test/test.gni") import("config.gni") @@ -30,6 +31,13 @@ config("backend_config") { include_dirs = [ "public_overrides" ] } +# Some tests in this file do not compile unless pw_trace_tokenized is the trace +# backend. +_pw_trace_tokenized_is_selected = + get_label_info(pw_trace_BACKEND, "label_no_toolchain") == + get_label_info(":pw_trace_tokenized", "label_no_toolchain") && + pw_trace_tokenizer_time != "" + pw_source_set("config") { public_deps = [ pw_trace_CONFIG ] public_configs = [ ":public_include_path" ] @@ -76,7 +84,7 @@ pw_source_set("pw_trace_tokenized") { } pw_test("trace_tokenized_test") { - enable_if = pw_trace_tokenizer_time != "" + enable_if = _pw_trace_tokenized_is_selected deps = [ ":core", "$dir_pw_trace", @@ -131,7 +139,7 @@ pw_source_set("tokenized_trace_buffer") { } pw_test("tokenized_trace_buffer_test") { - enable_if = pw_trace_tokenizer_time != "" + enable_if = _pw_trace_tokenized_is_selected deps = [ ":tokenized_trace_buffer", "$dir_pw_trace", @@ -152,7 +160,7 @@ pw_source_set("tokenized_trace_buffer_log") { } pw_test("tokenized_trace_buffer_log_test") { - enable_if = pw_trace_tokenizer_time != "" + enable_if = _pw_trace_tokenized_is_selected deps = [ ":tokenized_trace_buffer_log", "$dir_pw_trace", @@ -206,7 +214,7 @@ config("trace_example_config") { } pw_source_set("trace_example_to_file") { - deps = [ ":pw_trace_tokenized" ] + public_deps = [ ":pw_trace_tokenized" ] public_configs = [ ":trace_example_config" ] public = [ "example/public/pw_trace_tokenized/example/trace_to_file.h" ] } @@ -249,6 +257,7 @@ if (dir_pw_third_party_nanopb == "") { pw_executable("trace_tokenized_example_rpc") { sources = [ "example/rpc.cc" ] deps = [ + ":pw_trace_tokenized", ":trace_rpc_service", "$dir_pw_hdlc", "$dir_pw_log", -- cgit v1.2.3 From e2c73889399ce97f00d56bd5b2e742888a8db69e Mon Sep 17 00:00:00 2001 From: Dave Roth Date: Wed, 8 Nov 2023 00:42:03 +0000 Subject: pw_trace_tokenized: Add a transfer based trace service Change-Id: Idac3ae2726d7ba081771bb672159c68c3467683b Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168833 Commit-Queue: Dave Roth Reviewed-by: Armando Montanez --- pw_trace_tokenized/BUILD.gn | 49 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) (limited to 'pw_trace_tokenized/BUILD.gn') diff --git a/pw_trace_tokenized/BUILD.gn b/pw_trace_tokenized/BUILD.gn index 0e7be3121..c2c928e91 100644 --- a/pw_trace_tokenized/BUILD.gn +++ b/pw_trace_tokenized/BUILD.gn @@ -62,6 +62,7 @@ pw_test_group("tests") { ":trace_tokenized_test", ":tokenized_trace_buffer_test", ":tokenized_trace_buffer_log_test", + ":trace_service_pwpb_test", ] } @@ -101,8 +102,14 @@ pw_proto_library("protos") { sources = [ "pw_trace_protos/trace.proto", "pw_trace_protos/trace_rpc.proto", + "pw_trace_protos/trace_service.proto", ] - inputs = [ "pw_trace_protos/trace_rpc.options" ] + inputs = [ + "pw_trace_protos/trace_rpc.options", + "pw_trace_protos/trace_service.options", + ] + python_package = "py" + deps = [ "$dir_pw_chrono:protos" ] } pw_source_set("trace_rpc_service") { @@ -120,6 +127,46 @@ pw_source_set("trace_rpc_service") { ] } +pw_source_set("base_trace_service") { + public_configs = [ ":public_include_path" ] + public_deps = [ + ":core", + ":tokenized_trace_buffer", + ] + deps = [ + "$dir_pw_ring_buffer", + "$dir_pw_stream", + ] + sources = [ + "base_trace_service.cc", + "public/pw_trace_tokenized/base_trace_service.h", + ] +} + +pw_source_set("trace_service_pwpb") { + public_configs = [ ":public_include_path" ] + public_deps = [ + ":base_trace_service", + ":protos.pwpb_rpc", + ] + deps = [ "$dir_pw_chrono:system_clock" ] + sources = [ + "public/pw_trace_tokenized/trace_service_pwpb.h", + "trace_service_pwpb.cc", + ] +} + +pw_test("trace_service_pwpb_test") { + enable_if = _pw_trace_tokenized_is_selected + deps = [ + ":trace_service_pwpb", + "$dir_pw_chrono:system_clock", + "$dir_pw_rpc/pwpb:test_method_context", + "$dir_pw_trace", + ] + sources = [ "trace_service_pwpb_test.cc" ] +} + pw_source_set("tokenized_trace_buffer") { deps = [ ":core" ] public_deps = [ -- cgit v1.2.3