timemory 3.3.0
Modular C++ Toolkit for Performance Analysis and Logging. Profiling API and Tools for C, C++, CUDA, Fortran, and Python. The C++ template API is essentially a framework to creating tools: it is designed to provide a unifying interface for recording various performance measurements alongside data logging and interfaces to other tools.
|
#include "timemory/components/metadata.hpp"
#include "timemory/components/properties.hpp"
#include "timemory/dll.hpp"
#include "timemory/macros.hpp"
#include <string>
#include <unordered_set>
Go to the source code of this file.
Macros | |
#define | TIMEMORY_COMPONENT_HEADER_MODE |
#define | TIMEMORY_DECLARE_COMPONENT(NAME) |
Declare a non-templated component type in the tim::component namespace. More... | |
#define | TIMEMORY_DECLARE_API_COMPONENTS(API, ...) |
Declare a non-templated component type in the tim::component namespace. More... | |
#define | TIMEMORY_SET_COMPONENT_API(COMP, ...) |
Declare a component is part of one or more APIs. More... | |
#define | TIMEMORY_SET_TEMPLATE_COMPONENT_API(TARGS, TSPECIAL, ...) |
Declare a component is part of one or more APIs. More... | |
#define | TIMEMORY_BUNDLE_INDEX(NAME, IDX) |
Declare a bundle index. More... | |
#define | TIMEMORY_DECLARE_TEMPLATE_COMPONENT(NAME, ...) |
Declare a templated component type in the tim::component namespace. More... | |
#define | TIMEMORY_TEMPLATE_COMPONENT(NAME, TEMPLATE_PARAM, ...) |
Declare a templated component type in the tim::component namespace. More... | |
#define | TIMEMORY_COMPONENT_ALIAS(NAME, ...) |
Declare a non-templated alias to a component in the tim::component namespace. More... | |
#define | TIMEMORY_PROPERTY_SPECIALIZATION(TYPE, ENUM, ID, ...) |
Specialization of the property specialization. More... | |
#define | TIMEMORY_METADATA_SPECIALIZATION(TYPE, LABEL, BASIC_DESC, ...) |
Specialization of the property specialization. More... | |
#define | TIMEMORY_TOOLSET_ALIAS(NAME, WRAPPER, ...) |
Creates an alias for a complex type when declaring the statistics type. More... | |
#define | _EXTERN_NAME_COMBINE(X, Y) X##Y |
#define | _EXTERN_TUPLE_ALIAS(Y) _EXTERN_NAME_COMBINE(extern_tuple_, Y) |
#define | _EXTERN_LIST_ALIAS(Y) _EXTERN_NAME_COMBINE(extern_list_, Y) |
#define | TIMEMORY_INITIALIZE_STORAGE(...) |
#define | TIMEMORY_STORAGE_INITIALIZER(...) TIMEMORY_INITIALIZE_STORAGE(__VA_ARGS__) |
#define | TIMEMORY_EXTERN_STORAGE_ALIASES |
#define | TIMEMORY_DECLARE_EXTERN_STORAGE(TYPE) |
#define | TIMEMORY_INSTANTIATE_EXTERN_STORAGE(TYPE) |
#define | TIMEMORY_DECLARE_EXTERN_OPERATIONS(TYPE, HAS_DATA) |
#define | TIMEMORY_INSTANTIATE_EXTERN_OPERATIONS(TYPE, HAS_DATA) |
#define | TIMEMORY_EXTERN_OPERATIONS(...) |
#define | TIMEMORY_EXTERN_STORAGE(...) |
#define | TIMEMORY_EXTERN_TEMPLATE(...) |
#define | TIMEMORY_DECLARE_EXTERN_COMPONENT(NAME, HAS_DATA, ...) |
#define | TIMEMORY_INSTANTIATE_EXTERN_COMPONENT(NAME, HAS_DATA, ...) |
#define _EXTERN_LIST_ALIAS | ( | Y | ) | _EXTERN_NAME_COMBINE(extern_list_, Y) |
Definition at line 356 of file macros.hpp.
#define _EXTERN_NAME_COMBINE | ( | X, | |
Y | |||
) | X##Y |
Definition at line 344 of file macros.hpp.
#define _EXTERN_TUPLE_ALIAS | ( | Y | ) | _EXTERN_NAME_COMBINE(extern_tuple_, Y) |
Definition at line 350 of file macros.hpp.
#define TIMEMORY_BUNDLE_INDEX | ( | NAME, | |
IDX | |||
) |
Declare a bundle index.
\macro TIMEMORY_BUNDLE_INDEX
Definition at line 144 of file macros.hpp.
#define TIMEMORY_COMPONENT_ALIAS | ( | NAME, | |
... | |||
) |
Declare a non-templated alias to a component in the tim::component namespace.
\macro TIMEMORY_COMPONENT_ALIAS
Definition at line 205 of file macros.hpp.
#define TIMEMORY_COMPONENT_HEADER_MODE |
Definition at line 43 of file macros.hpp.
#define TIMEMORY_DECLARE_API_COMPONENTS | ( | API, | |
... | |||
) |
Declare a non-templated component type in the tim::component namespace.
\macro TIMEMORY_DECLARE_API_COMPONENTS
Definition at line 78 of file macros.hpp.
#define TIMEMORY_DECLARE_COMPONENT | ( | NAME | ) |
Declare a non-templated component type in the tim::component namespace.
\macro TIMEMORY_DECLARE_COMPONENT
Definition at line 54 of file macros.hpp.
#define TIMEMORY_DECLARE_EXTERN_COMPONENT | ( | NAME, | |
HAS_DATA, | |||
... | |||
) |
Definition at line 720 of file macros.hpp.
#define TIMEMORY_DECLARE_EXTERN_OPERATIONS | ( | TYPE, | |
HAS_DATA | |||
) |
Definition at line 470 of file macros.hpp.
#define TIMEMORY_DECLARE_EXTERN_STORAGE | ( | TYPE | ) |
Definition at line 411 of file macros.hpp.
#define TIMEMORY_DECLARE_TEMPLATE_COMPONENT | ( | NAME, | |
... | |||
) |
Declare a templated component type in the tim::component namespace.
\macro TIMEMORY_DECLARE_TEMPLATE_COMPONENT
Definition at line 162 of file macros.hpp.
#define TIMEMORY_EXTERN_OPERATIONS | ( | ... | ) |
Definition at line 687 of file macros.hpp.
#define TIMEMORY_EXTERN_STORAGE | ( | ... | ) |
Definition at line 693 of file macros.hpp.
#define TIMEMORY_EXTERN_STORAGE_ALIASES |
Definition at line 390 of file macros.hpp.
#define TIMEMORY_EXTERN_TEMPLATE | ( | ... | ) |
Definition at line 699 of file macros.hpp.
#define TIMEMORY_INITIALIZE_STORAGE | ( | ... | ) |
Definition at line 362 of file macros.hpp.
#define TIMEMORY_INSTANTIATE_EXTERN_COMPONENT | ( | NAME, | |
HAS_DATA, | |||
... | |||
) |
Definition at line 731 of file macros.hpp.
#define TIMEMORY_INSTANTIATE_EXTERN_OPERATIONS | ( | TYPE, | |
HAS_DATA | |||
) |
Definition at line 553 of file macros.hpp.
#define TIMEMORY_INSTANTIATE_EXTERN_STORAGE | ( | TYPE | ) |
Definition at line 436 of file macros.hpp.
#define TIMEMORY_METADATA_SPECIALIZATION | ( | TYPE, | |
LABEL, | |||
BASIC_DESC, | |||
... | |||
) |
Specialization of the property specialization.
\macro TIMEMORY_METADATA_SPECIALIZATION
Definition at line 288 of file macros.hpp.
#define TIMEMORY_PROPERTY_SPECIALIZATION | ( | TYPE, | |
ENUM, | |||
ID, | |||
... | |||
) |
Specialization of the property specialization.
\macro TIMEMORY_PROPERTY_SPECIALIZATION
Definition at line 223 of file macros.hpp.
#define TIMEMORY_SET_COMPONENT_API | ( | COMP, | |
... | |||
) |
Declare a component is part of one or more APIs.
\macro TIMEMORY_SET_COMPONENT_APIS
Definition at line 100 of file macros.hpp.
#define TIMEMORY_SET_TEMPLATE_COMPONENT_API | ( | TARGS, | |
TSPECIAL, | |||
... | |||
) |
Declare a component is part of one or more APIs.
\macro TIMEMORY_SET_TEMPLATE_COMPONENT_API
Definition at line 122 of file macros.hpp.
#define TIMEMORY_STORAGE_INITIALIZER | ( | ... | ) | TIMEMORY_INITIALIZE_STORAGE(__VA_ARGS__) |
Definition at line 384 of file macros.hpp.
#define TIMEMORY_TEMPLATE_COMPONENT | ( | NAME, | |
TEMPLATE_PARAM, | |||
... | |||
) |
Declare a templated component type in the tim::component namespace.
\macro TIMEMORY_TEMPLATE_COMPONENT
Definition at line 180 of file macros.hpp.
#define TIMEMORY_TOOLSET_ALIAS | ( | NAME, | |
WRAPPER, | |||
... | |||
) |
Creates an alias for a complex type when declaring the statistics type.
\macro TIMEMORY_TOOLSET_ALIAS
Definition at line 323 of file macros.hpp.