struct MyGlobalProfiler

Overview

struct MyGlobalProfiler: public mrpt::system::CTimeLogger
{
    // construction

    MyGlobalProfiler();
    MyGlobalProfiler(const MyGlobalProfiler&);
    MyGlobalProfiler(MyGlobalProfiler&&);

    // methods

    MyGlobalProfiler& operator = (const MyGlobalProfiler&);
    MyGlobalProfiler& operator = (MyGlobalProfiler&&);
};

Inherited Members

public:
    // structs

    struct TMsg;
    struct TCallData;
    struct TCallStats;

    // fields

    bool logging_enable_console_output {true};
    bool logging_enable_keep_record {false};

    // methods

    void logStr(const VerbosityLevel level, std::string_view msg_str) const;
    void logFmt(const VerbosityLevel level, const char* fmt, ...) const;
    void void logCond(const VerbosityLevel level, bool cond, const std::string& msg_str) const;
    void setLoggerName(const std::string& name);
    std::string getLoggerName() const;
    void setVerbosityLevel(const VerbosityLevel level);
    void setVerbosityLevelForCallbacks(const VerbosityLevel level);
    void setMinLoggingLevel(const VerbosityLevel level);
    VerbosityLevel getMinLoggingLevel() const;
    VerbosityLevel getMinLoggingLevelForCallbacks() const;
    bool isLoggingLevelVisible(VerbosityLevel level) const;
    void getLogAsString(std::string& log_contents) const;
    std::string getLogAsString() const;
    void writeLogToFile(const std::optional<std::string>& fname_in = std::nullopt) const;
    void dumpLogToConsole() const;
    std::string getLoggerLastMsg() const;
    void getLoggerLastMsg(std::string& msg_str) const;
    void loggerReset();
    void logRegisterCallback(output_logger_callback_t userFunc);
    bool logDeregisterCallback(output_logger_callback_t userFunc);
    COutputLogger& operator = (const COutputLogger&);
    COutputLogger& operator = (COutputLogger&&);
    static std::array<mrpt::system::ConsoleForegroundColor, NUMBER_OF_VERBOSITY_LEVELS>& logging_levels_to_colors();
    static const std::array<const char*, NUMBER_OF_VERBOSITY_LEVELS>& logging_levels_to_names();
    CTimeLogger& operator = (const CTimeLogger& o);
    CTimeLogger& operator = (CTimeLogger&& o);
    std::string getStatsAsText(size_t column_width = 80) const;
    void getStats(std::map<std::string, TCallStats>& out_stats) const;
    void dumpAllStats(size_t column_width = 80) const;
    void clear(bool deep_clear = false);
    void enable(bool enabled = true);
    void disable();
    bool isEnabled() const;
    void enableKeepWholeHistory(bool enable = true);
    bool isEnabledKeepWholeHistory() const;
    void saveToCSVFile(const std::string& csv_file) const;
    void saveToMFile(const std::string& m_file) const;

    void registerUserMeasure(
        const std::string_view& event_name,
        const double value,
        const bool is_time = false
        );

    const std::string& getName() const;
    void setName(const std::string& name);
    void enter(const std::string_view& func_name);
    double leave(const std::string_view& func_name);
    double getMeanTime(const std::string& name) const;
    double getLastTime(const std::string& name) const;