// 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.

/// Library providing methods for connecting Perfetto clients to a system
/// tracing service.
@available(added=8)
library fuchsia.tracing.perfetto;
