| // Copyright 2023 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. |
| { |
| include: [ |
| "syslog/client.shard.cml", |
| "trace/client.shard.cml", |
| ], |
| program: { |
| runner: "elf", |
| binary: "bin/cpu_profiler", |
| }, |
| children: [ |
| { |
| name: "profiler_session_manager", |
| url: "profiler_session_manager#meta/profiler_session_manager.cm", |
| startup: "eager", |
| }, |
| ], |
| capabilities: [ |
| { |
| protocol: [ |
| "fuchsia.cpu.profiler.Session", |
| "fuchsia.profiling.Controller", |
| ], |
| }, |
| ], |
| use: [ |
| { |
| protocol: [ |
| "fuchsia.kernel.RootJob", |
| "fuchsia.kernel.SamplingResource", |
| "fuchsia.test.manager.SuiteRunner", |
| ], |
| }, |
| { |
| protocol: [ |
| "fuchsia.sys2.LifecycleController", |
| "fuchsia.sys2.LifecycleController.root", |
| "fuchsia.sys2.RealmQuery.root", |
| ], |
| |
| // Optional, since integration tests aren't able to provide this capability |
| availability: "optional", |
| }, |
| { |
| event_stream: [ "debug_started" ], |
| from: "parent", |
| }, |
| ], |
| offer: [ |
| { |
| protocol: [ |
| "fuchsia.cpu.profiler.Session", |
| "fuchsia.profiling.Controller", |
| ], |
| from: "self", |
| to: [ "#profiler_session_manager" ], |
| }, |
| { |
| storage: "cache", |
| from: "parent", |
| to: "#profiler_session_manager", |
| }, |
| ], |
| expose: [ |
| { |
| protocol: "fuchsia.cpu.profiler.Session", |
| from: "self", |
| }, |
| { |
| protocol: "fuchsia.cpu.profiler.SessionManager", |
| from: "#profiler_session_manager", |
| }, |
| ], |
| } |