Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-09-17 08:54:09

0001 //------------------------------- -*- C++ -*- -------------------------------//
0002 // Copyright Celeritas contributors: see top-level COPYRIGHT file for details
0003 // SPDX-License-Identifier: (Apache-2.0 OR MIT)
0004 //---------------------------------------------------------------------------//
0005 //! \file corecel/sys/detail/TrackEvent.perfetto.hh
0006 //! \brief Define perfetto track event categories
0007 //---------------------------------------------------------------------------//
0008 #pragma once
0009 
0010 #include <perfetto.h>
0011 
0012 namespace celeritas
0013 {
0014 namespace detail
0015 {
0016 //---------------------------------------------------------------------------//
0017 //! Global category name for celeritas
0018 //! TODO: add more categories for fine-grained control of events to record
0019 inline constexpr auto* perfetto_track_event_category{"celeritas"};
0020 
0021 //---------------------------------------------------------------------------//
0022 }  // namespace detail
0023 }  // namespace celeritas
0024 
0025 // This declaration needs to be available when calling perfetto's
0026 // TRACE_EVENT_BEGIN (i.e. ScopedProfiling TU) and when initializing a tracing
0027 // session (i.e. TracingSession TU). Adding this in a public header would
0028 // propagate perfetto dependency to downstream so hide it in a header to be
0029 // included by corecel TU only.
0030 PERFETTO_DEFINE_CATEGORIES(
0031     perfetto::Category(celeritas::detail::perfetto_track_event_category)
0032         .SetDescription(R"(Events from the celeritas library)"));