34 lines
613 B
C
34 lines
613 B
C
|
|
enum {
|
|
Niosamples = 32,
|
|
Lsum = 0,
|
|
Lmax,
|
|
Lavg,
|
|
Lsz,
|
|
};
|
|
|
|
typedef struct Iofilter Iofilter;
|
|
struct Iofilter {
|
|
Lock;
|
|
uint32_t nsamples; /* total samples taken */
|
|
struct {
|
|
uint32_t b;
|
|
uint32_t lat[Lsz]; /* latency min, max, avg for bytes in b */
|
|
} samples[Niosamples];
|
|
|
|
uint32_t bytes;
|
|
uint32_t lmin;
|
|
uint32_t lmax;
|
|
int64_t lsum;
|
|
uint32_t nlat;
|
|
};
|
|
|
|
#pragma varargck type "Z" Iofilter*
|
|
|
|
void incfilter(Iofilter *, uint32_t, uint32_t);
|
|
void delfilter(Iofilter *);
|
|
int addfilter(Iofilter *);
|
|
void zfilter(Iofilter *);
|
|
int filtersum(Iofilter*, uint64_t*, int64_t*, int);
|
|
int filterfmt(Fmt *);
|