1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/libdm
Bryn M. Reeves a0cf3d47f1 libdm: add latency histogram support
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.
2015-09-02 20:48:59 +01:00
..
datastruct Use void pointer instead of char for binary key 2011-03-10 12:48:40 +00:00
ioctl macros: fix default symbol export control 2015-08-24 20:03:21 +01:00
misc libdm: Add DM_INTERNAL_SUSPEND_FLAG. 2015-04-23 18:39:04 +01:00
mm libdm: Use wrappers for all malloc functions. 2015-07-22 23:11:48 +01:00
regex cleanup: add braces for if() 2014-07-02 10:45:43 +02:00
.exported_symbols libdm: Use wrappers for all malloc functions. 2015-07-22 23:11:48 +01:00
.exported_symbols.Base macros: fix default symbol export control 2015-08-24 20:03:21 +01:00
.exported_symbols.DM_1_02_97 libdm: new dm_task_get_info with internal_suspend 2015-05-15 16:48:22 +02:00
.exported_symbols.DM_1_02_98 libdm: Add dm_task_get_errno to return ioctl errno. 2015-05-26 15:13:49 +01:00
.exported_symbols.DM_1_02_99 libdm: add dm_tree_node_set_thin_pool_read_only 2015-06-18 15:15:39 +02:00
.exported_symbols.DM_1_02_100 config: add support for config value formatting flags 2015-06-24 11:13:37 +02:00
.exported_symbols.DM_1_02_101 report: add infrastructure to recognize fuzzy reserved names and returning dynamic reserved values 2015-07-03 10:47:09 +02:00
.exported_symbols.DM_1_02_103 libdm: Use wrappers for all malloc functions. 2015-07-22 23:11:48 +01:00
.exported_symbols.DM_1_02_104 libdm: Drop ignored duplicate export designation. 2015-08-26 17:30:36 +01:00
.exported_symbols.DM_1_02_105 pre-release 2015-08-17 17:20:14 +01:00
.exported_symbols.DM_1_02_106 libdm: add per region precise timestamps property methods 2015-08-24 20:03:21 +01:00
.exported_symbols.DM_1_02_107 libdm: add latency histogram support 2015-09-02 20:48:59 +01:00
libdevmapper.h libdm: add latency histogram support 2015-09-02 20:48:59 +01:00
libdevmapper.pc.in libdm: Require librt for new dm_timestamp. 2015-07-29 19:30:22 +01:00
libdm-common.c dmsetup: Report timestamps of ioctls with -vvv. 2015-08-05 08:28:35 +01:00
libdm-common.h libdm: introduce and use DEV_UUID macro 2012-10-10 17:16:15 +02:00
libdm-config.c macros: Wrap PRI with FMT. 2015-07-06 15:09:17 +01:00
libdm-deptree.c thin: restore transaction_id handling 2015-08-17 11:25:03 +02:00
libdm-file.c debug: show sys errors 2015-05-08 15:15:10 +02:00
libdm-report.c libdm: reset report field widths in _destroy_rows() 2015-09-02 20:48:59 +01:00
libdm-stats.c libdm: add latency histogram support 2015-09-02 20:48:59 +01:00
libdm-string.c libdm: Add dm_size_to_string to libdevmapper. 2015-07-27 21:30:20 +01:00
libdm-timestamp.c libdm: do not in include internal bits/time.h header 2015-08-14 11:33:12 +01:00
Makefile.in configure: check for -lm and log10 function 2015-08-18 15:25:54 +01:00