Software TSN Switch
A software switch to connect VMs and Containers to a TSN network
Loading...
Searching...
No Matches
PerformanceLogger.h
Go to the documentation of this file.
1#pragma once
2#include <spdlog/spdlog.h>
3
4#include <memory>
5
6#ifdef ENABLE_PERF_LOGGING
7
8void log_perf_internal(const char* context, const std::string& message);
9
10template <typename... Args>
11void log_perf_external(const char* context, fmt::format_string<Args...> fmt, Args&&... args) {
12 log_perf_internal(context, fmt::format(fmt, std::forward<Args>(args)...));
13}
14
15inline void log_perf_external(const char* context, const char* message) {
16 log_perf_internal(context, message);
17}
18#define PERFORMANCE_LOGGING(context, fmt_or_msg, ...) log_perf_external(context, fmt_or_msg, ##__VA_ARGS__)
19#else
20#define PERFORMANCE_LOGGING(context, fmt_or_msg, ...) ((void)0)
21#endif