• Home
  • Raw
  • Download

Lines Matching full:trace

38 static int past_eof(struct trace *trace, char *cur)  in past_eof()  argument
40 if (cur >= trace->fio_start + trace->fio_len) in past_eof()
45 static int parse_fio_line(struct trace *trace, int *time, int *rate, int *dir, int *bs) in parse_fio_line() argument
47 char *cur = trace->fio_cur; in parse_fio_line()
77 int next_fio_line(struct trace *trace) in next_fio_line() argument
80 char *cur = trace->fio_cur; in next_fio_line()
86 if (past_eof(trace, next)) in next_fio_line()
88 trace->fio_cur = next; in next_fio_line()
92 char *first_fio(struct trace *trace) in first_fio() argument
94 trace->fio_cur = trace->fio_start; in first_fio()
95 return trace->fio_cur; in first_fio()
98 static void find_last_fio_time(struct trace *trace) in find_last_fio_time() argument
105 if (trace->fio_len == 0) in find_last_fio_time()
108 first_fio(trace); in find_last_fio_time()
110 ret = parse_fio_line(trace, &time, &rate, &dir, &bs); in find_last_fio_time()
115 ret = next_fio_line(trace); in find_last_fio_time()
120 trace->fio_seconds = ceil(d); in find_last_fio_time()
124 static int read_fio(struct trace *trace, char *trace_name) in read_fio() argument
143 fprintf(stderr, "Unable to mmap trace file %s, err %s\n", in read_fio()
147 trace->fio_start = p; in read_fio()
148 trace->fio_len = st.st_size; in read_fio()
149 trace->fio_cur = p; in read_fio()
150 trace->fio_fd = fd; in read_fio()
151 find_last_fio_time(trace); in read_fio()
152 first_fio(trace); in read_fio()
160 struct trace *open_fio_trace(char *path) in open_fio_trace()
163 struct trace *trace; in open_fio_trace() local
165 trace = calloc(1, sizeof(*trace)); in open_fio_trace()
166 if (!trace) { in open_fio_trace()
167 fprintf(stderr, "unable to allocate memory for trace\n"); in open_fio_trace()
171 ret = read_fio(trace, path); in open_fio_trace()
173 free(trace); in open_fio_trace()
177 return trace; in open_fio_trace()
180 int read_fio_event(struct trace *trace, int *time_ret, u64 *bw_ret, int *dir_ret) in read_fio_event() argument
182 char *cur = trace->fio_cur; in read_fio_event()
186 if (past_eof(trace, cur)) in read_fio_event()
189 ret = parse_fio_line(trace, &time, &rate, &dir, &bs); in read_fio_event()