blob: 404a1ecb1206226148614b0f2b6ca1f84d0658a2 [file] [log] [blame] [edit]
// Copyright 2024 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.
// IWYU pragma: private, include "src/storage/lib/trace/trace.h"
#ifndef SRC_STORAGE_LIB_TRACE_TRACE_ENABLED_H_
#define SRC_STORAGE_LIB_TRACE_TRACE_ENABLED_H_
#include <lib/trace/event.h> // IWYU pragma: export
#include <cstdint>
namespace storage::trace {
// Generates a trace ID that will be unique across the system (barring overflow of the per-process
// nonce, reuse of a zx_handle_t for two processes, or some other code in this process which uses
// the same procedure to generate IDs).
//
// We use this instead of the standard TRACE_NONCE because TRACE_NONCE is only unique within a
// process; we need IDs that are unique across all processes.
uint64_t GenerateTraceId();
} // namespace storage::trace
#endif // SRC_STORAGE_LIB_TRACE_TRACE_ENABLED_H_