mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-22 17:35:59 +03:00
a0cf3d47f1
Add support for creating, parsing, and reporting dm-stats latency histograms on kernels that support precise_timestamps. Histograms are specified as a series of time values that give the boundaries of the bins into which I/O counts accumulate (with implicit lower and upper bounds on the first and last bins). A new type, struct dm_histogram, is introduced to represent histogram values and bin boundaries. The boundary values may be given as either a string of values (with optional unit suffixes) or as a zero terminated array of uint64_t values expressing boundary times in nanoseconds. A new bounds argument is added to dm_stats_create_region() which accepts a pointer to a struct dm_histogram initialised with bounds values. Histogram data associated with a region is parsed during a call to dm_stats_populate() and used to build a table of histogram values that are pointed to from the containing area's counter set. The histogram for a specified area may then be obtained and interogated for values and properties. This relies on kernel support to provide the boundary values in a @stats_list response: this will be present in 4.3 and 4.2-stable. A check for a minimum driver version of 4.33.0 is implemented to ensure that this is present (4.32.0 has the necessary precise_timestamps and histogram features but is unable to report these via @stats_list). Access methods are provided to retrieve histogram values and bounds as well as simple string representations of the counts and bin boundaries. Methods are also available to return the total count for a histogram and the relative value (as a dm_percent_t) of a specified bin.
16 lines
417 B
Plaintext
16 lines
417 B
Plaintext
dm_histogram_bounds_destroy
|
|
dm_histogram_bounds_from_string
|
|
dm_histogram_bounds_from_uint64
|
|
dm_histogram_get_bin_count
|
|
dm_histogram_get_bin_lower
|
|
dm_histogram_get_bin_percent
|
|
dm_histogram_get_bin_upper
|
|
dm_histogram_get_bin_width
|
|
dm_histogram_get_nr_bins
|
|
dm_histogram_get_sum
|
|
dm_histogram_to_string
|
|
dm_stats_create_region
|
|
dm_stats_driver_supports_histogram
|
|
dm_stats_get_histogram
|
|
dm_stats_get_region_nr_histogram_bins
|