00001
00008
00009
00010
00011
00012 #ifndef __RT_MON_INCLUDE_HISTOGRAM_H_
00013 #define __RT_MON_INCLUDE_HISTOGRAM_H_
00014
00015 #include <l4/sys/compiler.h>
00016 #include <l4/rt_mon/types.h>
00017
00018 EXTERN_C_BEGIN
00019
00036 rt_mon_histogram_t *
00037 rt_mon_hist_create(double low, double high, int bins,
00038 const char * name,
00039 const char * unit_abs, const char * unit_ord, int clock);
00040
00048 void
00049 rt_mon_hist_insert_data(rt_mon_histogram_t * hist, rt_mon_time_t x,
00050 unsigned int val);
00051
00061 void
00062 rt_mon_hist_insert_data_int(rt_mon_histogram_t * hist, rt_mon_time_t x,
00063 unsigned int val);
00064
00065
00072 void
00073 rt_mon_hist_insert_lost(rt_mon_histogram_t * hist, unsigned int count);
00074
00083 inline int
00084 rt_mon_hist_get_data(rt_mon_histogram_t * hist, rt_mon_time_t x);
00085
00092 void
00093 rt_mon_hist_free(rt_mon_histogram_t * hist);
00094
00106 void
00107 rt_mon_hist_reset(rt_mon_histogram_t * hist);
00108
00114 void
00115 rt_mon_hist_dump(rt_mon_histogram_t * hist);
00116
00122 inline void
00123 rt_mon_hist_start(rt_mon_histogram_t * hist);
00124
00131 inline void
00132 rt_mon_hist_end(rt_mon_histogram_t * hist);
00133
00143 inline rt_mon_time_t
00144 rt_mon_hist_measure(rt_mon_histogram_t * hist);
00145
00153 double
00154 rt_mon_hist_avg(rt_mon_histogram_t * hist);
00155
00156 EXTERN_C_END
00157
00158 #endif