5 * Use for maintaining statistics
10 unsigned long samples;
17 * A single data sample
27 * Dynamically growing data sample log
30 unsigned long nr_samples;
31 unsigned long max_samples;
32 struct io_sample *log;
36 * When logging io actions, this matches a single sent io_u
40 struct rb_node rb_node;
41 struct flist_head list;
45 struct fio_file *file;
47 unsigned long long offset;
52 unsigned int file_action;
66 extern int __must_check read_iolog_get(struct thread_data *, struct io_u *);
67 extern void log_io_u(struct thread_data *, struct io_u *);
68 extern void log_file(struct thread_data *, struct fio_file *, enum file_log_act);
69 extern int __must_check init_iolog(struct thread_data *td);
70 extern void log_io_piece(struct thread_data *, struct io_u *);
71 extern void queue_io_piece(struct thread_data *, struct io_piece *);
72 extern void prune_io_piece_log(struct thread_data *);
73 extern void write_iolog_close(struct thread_data *);
78 extern void add_clat_sample(struct thread_data *, enum fio_ddir, unsigned long,
80 extern void add_slat_sample(struct thread_data *, enum fio_ddir, unsigned long,
82 extern void add_bw_sample(struct thread_data *, enum fio_ddir, unsigned int,
84 extern void show_run_stats(void);
85 extern void init_disk_util(struct thread_data *);
86 extern void update_rusage_stat(struct thread_data *);
87 extern void update_io_ticks(void);
88 extern void setup_log(struct io_log **);
89 extern void finish_log(struct thread_data *, struct io_log *, const char *);
90 extern void finish_log_named(struct thread_data *, struct io_log *, const char *, const char *);
91 extern void __finish_log(struct io_log *, const char *);
92 extern struct io_log *agg_io_log[2];
93 extern int write_bw_log;
94 extern void add_agg_sample(unsigned long, enum fio_ddir, unsigned int);