rocprofiler-sdk/cxx/perfetto.hpp File Reference#
| 
    Rocprofiler SDK Developer API 0.5.0
    
   ROCm Profiling API and tools 
   | 
 
perfetto.hpp File Reference
#include <rocprofiler-sdk/cxx/details/mpl.hpp>#include <cstddef>#include <ostream>#include <sstream>#include <string>#include <string_view>#include <type_traits>#include <utility>#include <perfetto.h>
 Include dependency graph for perfetto.hpp:Go to the source code of this file.
Namespaces | |
| namespace | rocprofiler | 
| namespace | rocprofiler::sdk | 
| namespace | rocprofiler::sdk::category | 
Macros | |
| #define | ROCPROFILER_DEFINE_PERFETTO_CATEGORY(NAME, DESC, ...) | 
| #define | ROCPROFILER_DEFINE_CATEGORY(NS, VALUE, DESC) | 
| #define | ROCPROFILER_PERFETTO_CATEGORY(TYPE) | 
| #define | ROCPROFILER_PERFETTO_CATEGORIES | 
Typedefs | |
| using | rocprofiler::sdk::perfetto_event_context_t = ::perfetto::EventContext | 
Data Structure Documentation
◆ rocprofiler::sdk::category::hsa_api
| struct rocprofiler::sdk::category::hsa_api | 
Definition at line 77 of file perfetto.hpp.
 Collaboration diagram for rocprofiler::sdk::category::hsa_api:◆ rocprofiler::sdk::category::hip_api
| struct rocprofiler::sdk::category::hip_api | 
Definition at line 78 of file perfetto.hpp.
 Collaboration diagram for rocprofiler::sdk::category::hip_api:◆ rocprofiler::sdk::category::marker_api
| struct rocprofiler::sdk::category::marker_api | 
Definition at line 79 of file perfetto.hpp.
 Collaboration diagram for rocprofiler::sdk::category::marker_api:◆ rocprofiler::sdk::category::rccl_api
| struct rocprofiler::sdk::category::rccl_api | 
Definition at line 80 of file perfetto.hpp.
 Collaboration diagram for rocprofiler::sdk::category::rccl_api:◆ rocprofiler::sdk::category::kernel_dispatch
| struct rocprofiler::sdk::category::kernel_dispatch | 
Definition at line 81 of file perfetto.hpp.
 Collaboration diagram for rocprofiler::sdk::category::kernel_dispatch:◆ rocprofiler::sdk::category::memory_copy
| struct rocprofiler::sdk::category::memory_copy | 
Definition at line 82 of file perfetto.hpp.
 Collaboration diagram for rocprofiler::sdk::category::memory_copy:Macro Definition Documentation
◆ ROCPROFILER_DEFINE_CATEGORY
| #define ROCPROFILER_DEFINE_CATEGORY | ( | NS, | |
| VALUE, | |||
| DESC | |||
| ) | 
Value:
    namespace rocprofiler                                                                          \
    {                                                                                              \
    namespace sdk                                                                                  \
    {                                                                                              \
    namespace NS                                                                                   \
    {                                                                                              \
    struct VALUE                                                                                   \
    {};                                                                                            \
    }                                                                                              \
    }                                                                                              \
    }                                                                                              \
    ROCPROFILER_DEFINE_PERFETTO_CATEGORY(#VALUE, DESC, NS::VALUE)
Definition code_printing.hpp:42
Definition at line 49 of file perfetto.hpp.
   51    {                                                                                              \
   52    namespace sdk                                                                                  \
   53    {                                                                                              \
   54    namespace NS                                                                                   \
   55    {                                                                                              \
   56    struct VALUE                                                                                   \
   57    {};                                                                                            \
   58    }                                                                                              \
   59    }                                                                                              \
   60    }                                                                                              \
   61    ROCPROFILER_DEFINE_PERFETTO_CATEGORY(#VALUE, DESC, NS::VALUE)
◆ ROCPROFILER_DEFINE_PERFETTO_CATEGORY
| #define ROCPROFILER_DEFINE_PERFETTO_CATEGORY | ( | NAME, | |
| DESC, | |||
| ... | |||
| ) | 
Value:
    namespace rocprofiler                                                                          \
    {                                                                                              \
    namespace sdk                                                                                  \
    {                                                                                              \
    template <>                                                                                    \
    struct perfetto_category<__VA_ARGS__>                                                          \
    {                                                                                              \
        static constexpr auto name        = NAME;                                                  \
        static constexpr auto description = DESC;                                                  \
    };                                                                                             \
    }                                                                                              \
    }
Definition at line 35 of file perfetto.hpp.
   37    {                                                                                              \
   38    namespace sdk                                                                                  \
   39    {                                                                                              \
   40    template <>                                                                                    \
   41    struct perfetto_category<__VA_ARGS__>                                                          \
   42    {                                                                                              \
   43        static constexpr auto name        = NAME;                                                  \
   44        static constexpr auto description = DESC;                                                  \
   45    };                                                                                             \
   46    }                                                                                              \
   47    }
◆ ROCPROFILER_PERFETTO_CATEGORIES
| #define ROCPROFILER_PERFETTO_CATEGORIES | 
Value:
    ROCPROFILER_PERFETTO_CATEGORY(category::hsa_api),                                              \
        ROCPROFILER_PERFETTO_CATEGORY(category::hip_api),                                          \
        ROCPROFILER_PERFETTO_CATEGORY(category::marker_api),                                       \
        ROCPROFILER_PERFETTO_CATEGORY(category::rccl_api),                                         \
        ROCPROFILER_PERFETTO_CATEGORY(category::kernel_dispatch),                                  \
        ROCPROFILER_PERFETTO_CATEGORY(category::memory_copy)
Definition at line 84 of file perfetto.hpp.
◆ ROCPROFILER_PERFETTO_CATEGORY
| #define ROCPROFILER_PERFETTO_CATEGORY | ( | TYPE | ) | 
Value:
    ::perfetto::Category(::rocprofiler::sdk::perfetto_category<::rocprofiler::sdk::TYPE>::name)    \
        .SetDescription(                                                                           \
Definition at line 63 of file perfetto.hpp.
Function Documentation
◆ PERFETTO_DEFINE_CATEGORIES()
Generated by