libabigail/include
Dodji Seketeli 3df54522b8 Add timing to the verbose logs of abidw
While doing my recent optimization work, it became useful to have an
idea of the time different parts of the processing pipeline are
taking.

This patch introduces an abigail::tools_utils::timer type that is easy
to use to time a given part of the code and emit the elapsed time to
an output stream.

This abigail::tools_utils::timer type is thus used to time various
parts of the processing pipeline involved in abidw.  Just using the
existing --verbose option now yields timing information.

	* include/abg-tools-utils.h (class timer): Declare new type.
	(operator<<(ostream&, const timer&)): Declare new streaming
	operator for the new timer type.
	* src/abg-tools-utils.cc (struct timer::priv): Define new type.
	(timer::{timer, start, stop, value_in_seconds, value,
	value_as_string, ~timer}): Define member functions.
	(operator<<(ostream& o, const timer& t)): Define streaming
	operator.
	(build_corpus_group_from_kernel_dist_under): Add timing logs to
	the linux kernel reading process.
	* src/abg-dwarf-reader.cc
	(read_context::canonicalize_types_scheduled): Add timing logs to
	type canonicalization.
	(read_debug_info_into_corpus): Add timing logs for the whole debug
	info loading and internal representation building process.
	* tools/abidw.cc (load_corpus_and_write_abixml): Add timing logs
	for the binary loading and serizalization process.
	(load_kernel_corpus_group_and_write_abixml): Add timing logs the
	Linux Kernel binary loading and writing process.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2019-07-19 10:46:42 +02:00
..
abg-comp-filter.h Bug 24731 - Wrongly reporting union members order change 2019-06-26 11:09:43 +02:00
abg-comparison.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-config.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-corpus.h Implement fast comparison of Linux Kernel types when applicable 2019-07-17 19:35:38 +02:00
abg-cxx-compat.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-diff-utils.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-dwarf-reader.h Avoid over-suppressing fns & vars when analysing the Kernel 2019-02-19 17:42:56 +01:00
abg-fwd.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-hash.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-ini.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-interned-str.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-ir.h Implement fast comparison of Linux Kernel types when applicable 2019-07-17 19:35:38 +02:00
abg-libxml-utils.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-libzip-utils.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-reader.h Separate public types of first binary from those of the second 2019-01-16 12:27:45 +01:00
abg-reporter.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-sptr-utils.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-suppression.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-tools-utils.h Add timing to the verbose logs of abidw 2019-07-19 10:46:42 +02:00
abg-traverse.h add missing virtual destructors 2019-04-16 16:11:01 +02:00
abg-version.h.in Add --version option to several libabigail tools 2015-11-16 12:54:10 +01:00
abg-viz-common.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-viz-dot.h viz-dot: remove unused members from dot 2019-04-16 16:11:01 +02:00
abg-viz-svg.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-workers.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-writer.h abg-writer: drop deprecated API 2019-05-22 14:33:45 +02:00
Makefile.am Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00