Motr  M0
utrace.c File Reference
#include <string.h>
#include <errno.h>
#include <err.h>
#include <sysexits.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <limits.h>
#include <stddef.h>
#include <time.h>
#include "lib/types.h"
#include "lib/arith.h"
#include "lib/memory.h"
#include "lib/trace.h"
#include "lib/trace_internal.h"
#include "lib/cookie.h"
#include "motr/magic.h"
Include dependency graph for utrace.c:

Go to the source code of this file.

Macros

#define CMDLINE   "/proc/self/cmdline"
 

Enumerations

enum  { MAGIC_SYM_OFFSETS_MAX }
 

Functions

static int logbuf_map ()
 
M0_INTERNAL const char * m0_trace_file_path_get (void)
 
M0_INTERNAL int m0_trace_set_immediate_mask (const char *mask_str)
 
M0_INTERNAL void m0_trace_stats_update (uint32_t rec_size)
 
M0_INTERNAL void m0_trace_set_mmapped_buffer (bool val)
 
M0_INTERNAL bool m0_trace_use_mmapped_buffer (void)
 
int m0_trace_set_buffer_size (size_t size)
 
static int set_trace_dir (const char *path)
 
M0_INTERNAL int m0_arch_trace_init ()
 
M0_INTERNAL void m0_arch_trace_fini (void)
 
M0_INTERNAL void m0_arch_trace_buf_header_init (struct m0_trace_buf_header *tbh)
 
static unsigned align (FILE *file, uint64_t align, uint64_t pos)
 
static const struct m0_trace_buf_headerread_trace_buf_header (FILE *trace_file)
 
static void print_trace_buf_header (FILE *ofile, const struct m0_trace_buf_header *tbh)
 
static int mmap_m0tr_ko (const char *m0tr_ko_path, void **ko_addr)
 
static int calc_trace_descr_offset (const struct m0_trace_buf_header *tbh, const char *m0tr_ko_path, ptrdiff_t *td_offset)
 
static int calc_extra_trace_descr_offsets (const struct m0_trace_buf_header *tbh, const void *magic_symbols[], size_t nr, ptrdiff_t td_offsets[])
 
static void patch_trace_descr (struct m0_trace_descr *td, ptrdiff_t offset)
 
M0_INTERNAL int m0_trace_parse (FILE *trace_file, FILE *output_file, const char *m0tr_ko_path, enum m0_trace_parse_flags flags, const void *magic_symbols[], unsigned int magic_symbols_nr)
 
void m0_console_vprintf (const char *fmt, va_list args)
 
void m0_console_flush (void)
 
void m0_error_printf (const char *fmt,...)
 

Variables

pid_t m0_pid_cached
 
static int logfd
 
static bool use_mmaped_buffer = true
 
static char trace_file_path [PATH_MAX]
 
static size_t trace_buf_size = M0_TRACE_UBUF_SIZE
 

Macro Definition Documentation

◆ CMDLINE

#define CMDLINE   "/proc/self/cmdline"