#ifndef GRPC_SRC_CORE_LIB_DEBUG_TRACE_H
#define GRPC_SRC_CORE_LIB_DEBUG_TRACE_H
#include <grpc/support/port_platform.h>
#include <atomic>
#include "src/core/lib/gprpp/global_config.h"
#include "src/core/lib/gprpp/memory.h"
GPR_GLOBAL_CONFIG_DECLARE_STRING(grpc_trace);
void grpc_tracer_init(const char* env_var_name);
void grpc_tracer_init();
void grpc_tracer_shutdown(void);
namespace grpc_core {
class TraceFlag;
class TraceFlagList { … };
namespace testing {
void grpc_tracer_enable_flag(TraceFlag* flag);
}
class TraceFlag { … };
#define GRPC_TRACE_FLAG_ENABLED(f) …
#ifndef NDEBUG
DebugOnlyTraceFlag;
#else
class DebugOnlyTraceFlag {
public:
constexpr DebugOnlyTraceFlag(bool , const char* ) {
}
constexpr bool enabled() const { return false; }
constexpr const char* name() const { return "DebugOnlyTraceFlag"; }
private:
void set_enabled(bool ) {}
};
#endif
}
#endif