From 51eef3db107e9c4822fec12c5a22fdec913477cb Mon Sep 17 00:00:00 2001 From: Ben Konyi Date: Tue, 3 Jun 2025 17:09:30 -0400 Subject: [PATCH] Remove Observatory build rules and remaining references from the engine (#169945) Work towards https://github.com/dart-lang/sdk/issues/50233 FYI @a-siva --- engine/src/flutter/runtime/BUILD.gn | 6 --- engine/src/flutter/runtime/dart_vm.cc | 38 ------------------- .../platform/fuchsia/dart_runner/BUILD.gn | 17 +-------- .../fuchsia/dart_runner/dart_runner.cc | 3 -- .../fuchsia/dart_runner/service_isolate.cc | 14 ------- .../fuchsia/dart_runner/service_isolate.h | 2 - .../shell/platform/fuchsia/flutter/BUILD.gn | 18 +-------- engine/src/flutter/testing/dart/BUILD.gn | 2 +- .../dart/{observatory => vm_service}/BUILD.gn | 2 +- .../{observatory => vm_service}/README.md | 0 .../shader_reload_test.dart | 0 .../{observatory => vm_service}/skp_test.dart | 0 .../tracing_test.dart | 0 .../vmservice_methods_test.dart | 0 engine/src/flutter/tools/fuchsia/dart.gni | 6 --- 15 files changed, 5 insertions(+), 103 deletions(-) rename engine/src/flutter/testing/dart/{observatory => vm_service}/BUILD.gn (96%) rename engine/src/flutter/testing/dart/{observatory => vm_service}/README.md (100%) rename engine/src/flutter/testing/dart/{observatory => vm_service}/shader_reload_test.dart (100%) rename engine/src/flutter/testing/dart/{observatory => vm_service}/skp_test.dart (100%) rename engine/src/flutter/testing/dart/{observatory => vm_service}/tracing_test.dart (100%) rename engine/src/flutter/testing/dart/{observatory => vm_service}/vmservice_methods_test.dart (100%) diff --git a/engine/src/flutter/runtime/BUILD.gn b/engine/src/flutter/runtime/BUILD.gn index a0e8610a6e3..6364215c6bc 100644 --- a/engine/src/flutter/runtime/BUILD.gn +++ b/engine/src/flutter/runtime/BUILD.gn @@ -118,12 +118,6 @@ source_set("runtime") { "//flutter/third_party/tonic", "//flutter/txt", ] - - if (flutter_runtime_mode != "release" && !is_fuchsia) { - # Only link in Observatory in non-release modes on non-Fuchsia. Fuchsia - # instead puts Observatory into the runner's package. - deps += [ "$dart_src/runtime/observatory:embedded_observatory_archive" ] - } } if (enable_unittests) { diff --git a/engine/src/flutter/runtime/dart_vm.cc b/engine/src/flutter/runtime/dart_vm.cc index 483a27ea246..48137ae8ed4 100644 --- a/engine/src/flutter/runtime/dart_vm.cc +++ b/engine/src/flutter/runtime/dart_vm.cc @@ -28,23 +28,6 @@ #include "third_party/tonic/logging/dart_error.h" #include "third_party/tonic/typed_data/typed_list.h" -namespace dart { -namespace observatory { - -#if !OS_FUCHSIA && !FLUTTER_RELEASE - -// These two symbols are defined in |observatory_archive.cc| which is generated -// by the |//third_party/dart/runtime/observatory:archive_observatory| rule. -// Both of these symbols will be part of the data segment and therefore are read -// only. -extern unsigned int observatory_assets_archive_len; -extern const uint8_t* observatory_assets_archive; - -#endif // !OS_FUCHSIA && !FLUTTER_RELEASE - -} // namespace observatory -} // namespace dart - namespace flutter { // Arguments passed to the Dart VM in all configurations. @@ -158,26 +141,6 @@ bool DartFileModifiedCallback(const char* source_url, int64_t since_ms) { void ThreadExitCallback() {} -Dart_Handle GetVMServiceAssetsArchiveCallback() { -#if FLUTTER_RELEASE - return nullptr; -#elif OS_FUCHSIA - fml::UniqueFD fd = fml::OpenFile("pkg/data/observatory.tar", false, - fml::FilePermission::kRead); - fml::FileMapping mapping(fd, {fml::FileMapping::Protection::kRead}); - if (mapping.GetSize() == 0 || mapping.GetMapping() == nullptr) { - FML_LOG(ERROR) << "Fail to load Observatory archive"; - return nullptr; - } - return tonic::DartConverter::ToDart(mapping.GetMapping(), - mapping.GetSize()); -#else - return tonic::DartConverter::ToDart( - ::dart::observatory::observatory_assets_archive, - ::dart::observatory::observatory_assets_archive_len); -#endif -} - static const char kStdoutStreamId[] = "Stdout"; static const char kStderrStreamId[] = "Stderr"; @@ -472,7 +435,6 @@ DartVM::DartVM(const std::shared_ptr& vm_data, params.file_write = dart::bin::WriteFile; params.file_close = dart::bin::CloseFile; params.entropy_source = dart::bin::GetEntropy; - params.get_service_assets = GetVMServiceAssetsArchiveCallback; DartVMInitializer::Initialize(¶ms, settings_.enable_timeline_event_handler, settings_.trace_systrace); diff --git a/engine/src/flutter/shell/platform/fuchsia/dart_runner/BUILD.gn b/engine/src/flutter/shell/platform/fuchsia/dart_runner/BUILD.gn index c42682d0f54..ad59180b71f 100644 --- a/engine/src/flutter/shell/platform/fuchsia/dart_runner/BUILD.gn +++ b/engine/src/flutter/shell/platform/fuchsia/dart_runner/BUILD.gn @@ -169,10 +169,6 @@ template("aot_runner_package") { deps += [ "vmservice:vmservice_snapshot", "//flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols:dart_aot_runner", - - # TODO(kaushikiska): Figure out how to get the profiler symbols for `libdart_aotruntime` - # "$dart_src/runtime:libdart_aotruntime", - observatory_target, ] } @@ -195,10 +191,6 @@ template("aot_runner_package") { path = vmservice_snapshot dest = "vmservice_snapshot.so" }, - { - path = rebase_path(observatory_archive_file) - dest = "observatory.tar" - }, { path = dart_profiler_symbols dest = "dart_aot_runner.dartprofilersymbols" @@ -222,10 +214,7 @@ template("jit_runner_package") { ] if (!invoker.product) { - deps += [ - "//flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols:dart_jit_runner", - observatory_target, - ] + deps += [ "//flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols:dart_jit_runner" ] } binary = "dart_jit${product_suffix}_runner" @@ -247,10 +236,6 @@ template("jit_runner_package") { if (!invoker.product) { resources += [ - { - path = rebase_path(observatory_archive_file) - dest = "observatory.tar" - }, { path = rebase_path( get_label_info( diff --git a/engine/src/flutter/shell/platform/fuchsia/dart_runner/dart_runner.cc b/engine/src/flutter/shell/platform/fuchsia/dart_runner/dart_runner.cc index 1d140723eb6..767488d121d 100644 --- a/engine/src/flutter/shell/platform/fuchsia/dart_runner/dart_runner.cc +++ b/engine/src/flutter/shell/platform/fuchsia/dart_runner/dart_runner.cc @@ -228,9 +228,6 @@ DartRunner::DartRunner(sys::ComponentContext* context) : context_(context) { params.shutdown_isolate = IsolateShutdownCallback; params.cleanup_group = IsolateGroupCleanupCallback; params.entropy_source = EntropySource; -#if !defined(DART_PRODUCT) - params.get_service_assets = GetVMServiceAssetsArchiveCallback; -#endif error = Dart_Initialize(¶ms); if (error) FML_LOG(FATAL) << "Dart_Initialize failed: " << error; diff --git a/engine/src/flutter/shell/platform/fuchsia/dart_runner/service_isolate.cc b/engine/src/flutter/shell/platform/fuchsia/dart_runner/service_isolate.cc index 59d9cb8fbf9..4d6a8748f39 100644 --- a/engine/src/flutter/shell/platform/fuchsia/dart_runner/service_isolate.cc +++ b/engine/src/flutter/shell/platform/fuchsia/dart_runner/service_isolate.cc @@ -197,18 +197,4 @@ Dart_Isolate CreateServiceIsolate( return isolate; } // namespace dart_runner -Dart_Handle GetVMServiceAssetsArchiveCallback() { - dart_utils::MappedResource vm_service_tar; - if (!dart_utils::MappedResource::LoadFromNamespace( - nullptr, "/pkg/data/observatory.tar", vm_service_tar)) { - FML_LOG(ERROR) << "Failed to load Observatory assets"; - return nullptr; - } - // TODO(rmacnak): Should we avoid copying the tar? Or does the service - // library not hold onto it anyway? - return tonic::DartConverter::ToDart( - reinterpret_cast(vm_service_tar.address()), - vm_service_tar.size()); -} - } // namespace dart_runner diff --git a/engine/src/flutter/shell/platform/fuchsia/dart_runner/service_isolate.h b/engine/src/flutter/shell/platform/fuchsia/dart_runner/service_isolate.h index 4e87f638769..5b5663c8672 100644 --- a/engine/src/flutter/shell/platform/fuchsia/dart_runner/service_isolate.h +++ b/engine/src/flutter/shell/platform/fuchsia/dart_runner/service_isolate.h @@ -13,8 +13,6 @@ Dart_Isolate CreateServiceIsolate(const char* uri, Dart_IsolateFlags* flags, char** error); -Dart_Handle GetVMServiceAssetsArchiveCallback(); - } // namespace dart_runner #endif // FLUTTER_SHELL_PLATFORM_FUCHSIA_DART_RUNNER_SERVICE_ISOLATE_H_ diff --git a/engine/src/flutter/shell/platform/fuchsia/flutter/BUILD.gn b/engine/src/flutter/shell/platform/fuchsia/flutter/BUILD.gn index a7408d7ee5f..99c037953d4 100644 --- a/engine/src/flutter/shell/platform/fuchsia/flutter/BUILD.gn +++ b/engine/src/flutter/shell/platform/fuchsia/flutter/BUILD.gn @@ -312,10 +312,7 @@ template("jit_runner") { ] if (!product) { - deps += [ - "//flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols:flutter_jit_runner", - observatory_target, - ] + deps += [ "//flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols:flutter_jit_runner" ] } binary = "flutter_jit${product_suffix}_runner" @@ -329,10 +326,6 @@ template("jit_runner") { if (!product) { resources += [ - { - path = rebase_path(observatory_archive_file) - dest = "observatory.tar" - }, { path = rebase_path( get_label_info( @@ -381,10 +374,7 @@ template("aot_runner") { deps = [ ":aot${product_suffix}" ] if (!product) { - deps += [ - "//flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols:flutter_aot_runner", - observatory_target, - ] + deps += [ "//flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols:flutter_aot_runner" ] } binary = "flutter_aot${product_suffix}_runner" @@ -398,10 +388,6 @@ template("aot_runner") { if (!product) { resources += [ - { - path = rebase_path(observatory_archive_file) - dest = "observatory.tar" - }, { path = rebase_path( get_label_info( diff --git a/engine/src/flutter/testing/dart/BUILD.gn b/engine/src/flutter/testing/dart/BUILD.gn index d240383f489..f901ae512bd 100644 --- a/engine/src/flutter/testing/dart/BUILD.gn +++ b/engine/src/flutter/testing/dart/BUILD.gn @@ -72,7 +72,7 @@ foreach(test, tests) { group("dart") { testonly = true - deps = [ "//flutter/testing/dart/observatory" ] + deps = [ "//flutter/testing/dart/vm_service" ] foreach(test, tests) { deps += [ ":compile_$test" ] } diff --git a/engine/src/flutter/testing/dart/observatory/BUILD.gn b/engine/src/flutter/testing/dart/vm_service/BUILD.gn similarity index 96% rename from engine/src/flutter/testing/dart/observatory/BUILD.gn rename to engine/src/flutter/testing/dart/vm_service/BUILD.gn index 780b3f7d368..aade578f116 100644 --- a/engine/src/flutter/testing/dart/observatory/BUILD.gn +++ b/engine/src/flutter/testing/dart/vm_service/BUILD.gn @@ -18,7 +18,7 @@ foreach(test, tests) { } } -group("observatory") { +group("vm_service") { testonly = true deps = [] foreach(test, tests) { diff --git a/engine/src/flutter/testing/dart/observatory/README.md b/engine/src/flutter/testing/dart/vm_service/README.md similarity index 100% rename from engine/src/flutter/testing/dart/observatory/README.md rename to engine/src/flutter/testing/dart/vm_service/README.md diff --git a/engine/src/flutter/testing/dart/observatory/shader_reload_test.dart b/engine/src/flutter/testing/dart/vm_service/shader_reload_test.dart similarity index 100% rename from engine/src/flutter/testing/dart/observatory/shader_reload_test.dart rename to engine/src/flutter/testing/dart/vm_service/shader_reload_test.dart diff --git a/engine/src/flutter/testing/dart/observatory/skp_test.dart b/engine/src/flutter/testing/dart/vm_service/skp_test.dart similarity index 100% rename from engine/src/flutter/testing/dart/observatory/skp_test.dart rename to engine/src/flutter/testing/dart/vm_service/skp_test.dart diff --git a/engine/src/flutter/testing/dart/observatory/tracing_test.dart b/engine/src/flutter/testing/dart/vm_service/tracing_test.dart similarity index 100% rename from engine/src/flutter/testing/dart/observatory/tracing_test.dart rename to engine/src/flutter/testing/dart/vm_service/tracing_test.dart diff --git a/engine/src/flutter/testing/dart/observatory/vmservice_methods_test.dart b/engine/src/flutter/testing/dart/vm_service/vmservice_methods_test.dart similarity index 100% rename from engine/src/flutter/testing/dart/observatory/vmservice_methods_test.dart rename to engine/src/flutter/testing/dart/vm_service/vmservice_methods_test.dart diff --git a/engine/src/flutter/tools/fuchsia/dart.gni b/engine/src/flutter/tools/fuchsia/dart.gni index d5289a84b5c..d2b088e6a1e 100644 --- a/engine/src/flutter/tools/fuchsia/dart.gni +++ b/engine/src/flutter/tools/fuchsia/dart.gni @@ -8,9 +8,3 @@ gen_snapshot = "$dart_src/runtime/bin:gen_snapshot" gen_snapshot_product = "$dart_src/runtime/bin:gen_snapshot_product" prebuilt_dart = "$dart_src/tools/sdks/dart-sdk/bin/dart" - -observatory_target = "$dart_src/runtime/observatory:observatory_archive" -observatory_archive_dir = get_label_info(observatory_target, "target_gen_dir") -observatory_archive_name = get_label_info(observatory_target, "name") -observatory_archive_file = - "${observatory_archive_dir}/${observatory_archive_name}.tar"