Motr
M0
|
#include <stdarg.h>
#include "lib/types.h"
#include "lib/arith.h"
#include "lib/atomic.h"
#include "lib/time.h"
#include "lib/misc.h"
#include "motr/magic.h"
#include "lib/user_space/trace.h"
Go to the source code of this file.
Data Structures | |
struct | m0_trace_buf_header |
struct | m0_trace_rec_header |
struct | m0_trace_descr |
Macros | |
#define | __MOTR_LIB_TRACE_H__ |
#define | M0_LOG(level, ...) M0_CAT(M0_LOG, M0_COUNT_PARAMS(__VA_ARGS__))(level, __VA_ARGS__) |
#define | M0_ENTRY(...) M0_LOG(M0_CALL, "> " __VA_ARGS__) |
#define | M0_LEAVE(...) M0_LOG(M0_CALL, "< " __VA_ARGS__) |
#define | M0_RC_HOOK (0) |
#define | M0_RC(rc) |
#define | M0_ERR(rc) |
#define | M0_RC_INFO(rc, fmt, ...) |
#define | M0_ERR_INFO(rc, fmt, ...) |
#define | M0_TRACE_SUBSYSTEMS |
#define | M0_TRACE_SUBSYS(name, value) M0_TRACE_SUBSYS_ ## name = (1UL << value), |
#define | M0_TRACE_POINT(LEVEL, NR, DECL, OFFSET, SIZEOF, ISSTR, HASSTR, FMT, ...) |
#define | M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_OTHER |
#define | LOG_TYPEOF(a, v) typeof(a) v |
#define | LOG_OFFSETOF(v) offsetof(struct t_body, v) |
#define | LOG_SIZEOF(a) sizeof(a) |
#define | LOG_IS_STR_ARG(a) |
#define | LOG_CHECK(a) |
#define | LOG_GROUP(...) __VA_ARGS__ |
#define | M0_LOG0(level, fmt) M0_TRACE_POINT(level, 0, { ; }, {}, {}, {}, false, fmt) |
#define | M0_LOG1(level, fmt, a0) |
#define | M0_LOG2(level, fmt, a0, a1) |
#define | M0_LOG3(level, fmt, a0, a1, a2) |
#define | M0_LOG4(level, fmt, a0, a1, a2, a3) |
#define | M0_LOG5(level, fmt, a0, a1, a2, a3, a4) |
#define | M0_LOG6(level, fmt, a0, a1, a2, a3, a4, a5) |
#define | M0_LOG7(level, fmt, a0, a1, a2, a3, a4, a5, a6) |
#define | M0_LOG8(level, fmt, a0, a1, a2, a3, a4, a5, a6, a7) |
#define | M0_LOG9(level, fmt, a0, a1, a2, a3, a4, a5, a6, a7, a8) |
Enumerations | |
enum | m0_trace_subsystem { M0_TRACE_SUBSYSTEMS } |
enum | { M0_TRACE_BUF_HEADER_SIZE = (1 << 16), M0_TRACE_REC_ALIGN = 8 } |
enum | m0_trace_buf_type { M0_TRACE_BUF_KERNEL = 1, M0_TRACE_BUF_USER = 2 } |
enum | m0_trace_buf_flags { M0_TRACE_BUF_MKFS = 1 << 0, M0_TRACE_BUF_DIRTY = 1 << 1, M0_TRACE_BUF_FLAGS_MAX } |
enum | m0_trace_level { M0_NONE = 0, M0_ALWAYS = 1 << 0, M0_FATAL = 1 << 1, M0_ERROR = 1 << 2, M0_WARN = 1 << 3, M0_NOTICE = 1 << 4, M0_INFO = 1 << 5, M0_DEBUG = 1 << 6, M0_CALL = 1 << 7 } |
enum | m0_trace_print_context { M0_TRACE_PCTX_NONE = 0, M0_TRACE_PCTX_FUNC = 1, M0_TRACE_PCTX_SHORT = 2, M0_TRACE_PCTX_FULL = 3, M0_TRACE_PCTX_INVALID } |
enum | { M0_TRACE_ARGC_MAX = 9 } |
Functions | |
static void | m0_rc_hook (int rc) |
static void | m0_err_hook (int rc) |
M0_INTERNAL int | m0_trace_init (void) |
M0_INTERNAL void | m0_trace_fini (void) |
M0_INTERNAL int | m0_trace_set_immediate_mask (const char *mask_str) |
M0_INTERNAL int | m0_trace_set_print_context (const char *ctx_name) |
M0_INTERNAL int | m0_trace_set_level (const char *level_str) |
M0_BASSERT (M0_TRACE_BUF_FLAGS_MAX< UINT16_MAX) | |
M0_BASSERT (sizeof(struct m0_trace_buf_header)==M0_TRACE_BUF_HEADER_SIZE) | |
M0_INTERNAL void | m0_trace_level_allow (unsigned level) |
M0_INTERNAL void | m0_trace_allot (const struct m0_trace_descr *td, const void *body) |
M0_INTERNAL void | m0_trace_record_print (const struct m0_trace_rec_header *trh, const void *buf) |
M0_INTERNAL void | m0_trace_print_subsystems (void) |
__attribute__ ((format(printf, 1, 2))) void m0_console_printf(const char *fmt | |
void | m0_console_flush (void) |
M0_INTERNAL int | m0_trace_record_print_yaml (char *outbuf, size_t outbuf_size, const struct m0_trace_rec_header *trh, const void *tr_body, bool yaml_stream_mode) |
Variables | |
unsigned long | m0_trace_immediate_mask |
unsigned int | m0_trace_print_context |
unsigned int | m0_trace_level |
struct m0_trace_buf_header * | m0_logbuf_header |
void * | m0_logbuf |