bactria  0.0.1
The bactria library is a header-only C++14 library for profiling and tracing.
Plugin.hpp File Reference

bactria-internal handling of metrics plugins. More...

#include <bactria/core/Activation.hpp>
#include <bactria/core/Plugin.hpp>
#include <cstdint>
#include <cstdlib>
#include <stdexcept>
#include <string>
#include <type_traits>
Include dependency graph for Plugin.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

using bactria::metrics::plugin::create_sector_t = std::add_pointer_t< void *(char const *, std::uint32_t) noexcept >
 Signature for plugin function bactria_metrics_create_sector(). More...
 
using bactria::metrics::plugin::destroy_sector_t = std::add_pointer_t< void(void *) noexcept >
 Signature for plugin function bactria_metrics_destroy_sector(). More...
 
using bactria::metrics::plugin::enter_sector_t = std::add_pointer_t< void(void *, char const *, std::uint32_t, char const *) noexcept >
 Signature for plugin function bactria_metrics_enter_sector(). More...
 
using bactria::metrics::plugin::leave_sector_t = std::add_pointer_t< void(void *, char const *, std::uint32_t, char const *) noexcept >
 Signature for plugin function bactria_metrics_leave_sector(). More...
 
using bactria::metrics::plugin::sector_summary_t = std::add_pointer_t< void(void *) noexcept >
 Signature for plugin function bactria_metrics_sector_summary(). More...
 
using bactria::metrics::plugin::create_phase_t = std::add_pointer_t< void *(char const *) noexcept >
 Signature for plugin function bactria_metrics_create_phase(). More...
 
using bactria::metrics::plugin::destroy_phase_t = std::add_pointer_t< void(void *) noexcept >
 Signature for plugin function bactria_metrics_destroy_phase(). More...
 
using bactria::metrics::plugin::enter_phase_t = std::add_pointer_t< void(void *, char const *, std::uint32_t, char const *) noexcept >
 Signature for plugin function bactria_metrics_enter_phase(). More...
 
using bactria::metrics::plugin::leave_phase_t = std::add_pointer_t< void(void *, char const *, std::uint32_t, char const *) noexcept >
 Signature for plugin function bactria_metrics_leave_phase(). More...
 

Functions

auto bactria::metrics::plugin::activated () -> bool
 Checks for an active metrics plugin. More...
 
auto bactria::metrics::plugin::load () -> plugin_handle_t
 Initializes the metrics plugin. More...
 
auto bactria::metrics::plugin::create_sector (char const *name, std::uint32_t tag) noexcept
 Creates a plugin-specific sector handle. More...
 
auto bactria::metrics::plugin::destroy_sector (void *sector_handle) noexcept
 Destroys a plugin-specific sector handle. More...
 
auto bactria::metrics::plugin::enter_sector (void *sector_handle, char const *source, std::uint32_t lineno, char const *caller) noexcept
 Plugin-specific sector entering. More...
 
auto bactria::metrics::plugin::leave_sector (void *sector_handle, char const *source, std::uint32_t lineno, char const *caller) noexcept
 Plugin-specific sector leaving. More...
 
auto bactria::metrics::plugin::sector_summary (void *sector_handle) noexcept
 Plugin-specific sector summary. More...
 
auto bactria::metrics::plugin::create_phase (char const *name) noexcept
 Creates a plugin-specific phase handle. More...
 
auto bactria::metrics::plugin::destroy_phase (void *phase_handle) noexcept
 Destroys a plugin-specific phase handle. More...
 
auto bactria::metrics::plugin::enter_phase (void *phase_handle, char const *source, std::uint32_t lineno, char const *caller) noexcept
 Plugin-specific phase entering. More...
 
auto bactria::metrics::plugin::leave_phase (void *phase_handle, char const *source, std::uint32_t lineno, char const *caller) noexcept
 Plugin-specific phase leaving. More...
 

Variables

auto bactria::metrics::plugin::create_sector_ptr = create_sector_t{nullptr}
 Pointer to plugin function bactria_metrics_create_sector(). More...
 
auto bactria::metrics::plugin::destroy_sector_ptr = destroy_sector_t{nullptr}
 Pointer to plugin function bactria_metrics_destroy_sector(). More...
 
auto bactria::metrics::plugin::enter_sector_ptr = enter_sector_t{nullptr}
 Pointer to plugin function bactria_metrics_enter_sector(). More...
 
auto bactria::metrics::plugin::leave_sector_ptr = leave_sector_t{nullptr}
 Pointer to plugin function bactria_metrics_leave_sector(). More...
 
auto bactria::metrics::plugin::sector_summary_ptr = sector_summary_t{nullptr}
 Pointer to plugin function bactria_metrics_sector_summary(). More...
 
auto bactria::metrics::plugin::create_phase_ptr = create_phase_t{nullptr}
 Pointer to plugin function bactria_metrics_create_phase(). More...
 
auto bactria::metrics::plugin::destroy_phase_ptr = destroy_phase_t{nullptr}
 Pointer to plugin function bactria_metrics_destroy_phase(). More...
 
auto bactria::metrics::plugin::enter_phase_ptr = enter_phase_t{nullptr}
 Pointer to plugin function bactria_metrics_enter_phase(). More...
 
auto bactria::metrics::plugin::leave_phase_ptr = leave_phase_t{nullptr}
 Pointer to plugin function bactria_metrics_leave_phase(). More...
 

Detailed Description

bactria-internal handling of metrics plugins.

The functionality described here is part of bactria's internals. It should not be included directly by the user.