// Copyright 2022 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: [
        "inspect/client.shard.cml",
        "syslog/client.shard.cml",
    ],
    program: {
        runner: "elf",
        binary: "bin/launcher",
        args: [ "sampler" ],
    },
    use: [
        {
            protocol: "fuchsia.diagnostics.ArchiveAccessor",
            from: "parent",
        },
        {
            protocol: [ "fuchsia.metrics.MetricEventLoggerFactory" ],
        },
        {
            protocol: "fuchsia.hardware.power.statecontrol.RebootMethodsWatcherRegister",
            from: "parent",
        },
        {
            directory: "config-data",
            rights: [ "r*" ],
            path: "/config/data",
        },
    ],
    expose: [
        {
            protocol: "fuchsia.component.Binder",
            from: "framework",
        },
    ],
    config: {
        minimum_sample_rate_sec: { type: "int64" },
        configs_path: {
            type: "string",
            max_size: 128,
        },
    },
}
