Fixes for safe-string and linking.
This commit is contained in:
parent
0c60431d40
commit
a6f3e36166
@ -1,7 +1,7 @@
|
|||||||
From 0e47961395eec78b1ee9f6ae48520f1d95d84fdf Mon Sep 17 00:00:00 2001
|
From 0e47961395eec78b1ee9f6ae48520f1d95d84fdf Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Sat, 2 Aug 2014 17:37:21 +0100
|
Date: Sat, 2 Aug 2014 17:37:21 +0100
|
||||||
Subject: [PATCH 01/17] Disable warning about immutable strings (for OCaml
|
Subject: [PATCH 01/19] Disable warning about immutable strings (for OCaml
|
||||||
4.02).
|
4.02).
|
||||||
|
|
||||||
---
|
---
|
||||||
@ -46,5 +46,5 @@ index 5aa0c35..98e6647 100755
|
|||||||
|
|
||||||
BYTE_TARGETS := virt-top
|
BYTE_TARGETS := virt-top
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 6ea4275b0d9f6d40b8d4a35f78928e71d830d721 Mon Sep 17 00:00:00 2001
|
From 6ea4275b0d9f6d40b8d4a35f78928e71d830d721 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Sat, 21 Feb 2015 17:27:59 +0000
|
Date: Sat, 21 Feb 2015 17:27:59 +0000
|
||||||
Subject: [PATCH 02/17] Move upstream translations from Tranifex to Zanata.
|
Subject: [PATCH 02/19] Move upstream translations from Tranifex to Zanata.
|
||||||
|
|
||||||
This is at the request of the Fedora localization team.
|
This is at the request of the Fedora localization team.
|
||||||
For further information see:
|
For further information see:
|
||||||
@ -163,5 +163,5 @@ index 0000000..64810f9
|
|||||||
+
|
+
|
||||||
+</config>
|
+</config>
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From defe5bdd4a32e0206a786d279e0f9cfc238e5e17 Mon Sep 17 00:00:00 2001
|
From defe5bdd4a32e0206a786d279e0f9cfc238e5e17 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Sat, 21 Feb 2015 17:29:16 +0000
|
Date: Sat, 21 Feb 2015 17:29:16 +0000
|
||||||
Subject: [PATCH 03/17] Update translations from Zanata.
|
Subject: [PATCH 03/19] Update translations from Zanata.
|
||||||
|
|
||||||
---
|
---
|
||||||
po/LINGUAS | 12 +-
|
po/LINGUAS | 12 +-
|
||||||
@ -4184,5 +4184,5 @@ index 9729fc3..dcf0de0 100644
|
|||||||
#: ../virt-top/virt_top.ml:1506
|
#: ../virt-top/virt_top.ml:1506
|
||||||
msgid "# %s virt-top configuration file\\n"
|
msgid "# %s virt-top configuration file\\n"
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 4a2d0ccd91f07d0a2009e8553a29fcf4cf752ba3 Mon Sep 17 00:00:00 2001
|
From 4a2d0ccd91f07d0a2009e8553a29fcf4cf752ba3 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Mon, 4 Jan 2016 11:48:40 -0500
|
Date: Mon, 4 Jan 2016 11:48:40 -0500
|
||||||
Subject: [PATCH 04/17] build: Add -g flag to ocamlopt.
|
Subject: [PATCH 04/19] build: Add -g flag to ocamlopt.
|
||||||
|
|
||||||
Modern ocamlopt supports the -g flag fine (very old versions did not).
|
Modern ocamlopt supports the -g flag fine (very old versions did not).
|
||||||
---
|
---
|
||||||
@ -22,5 +22,5 @@ index 98e6647..e149b26 100755
|
|||||||
|
|
||||||
BYTE_TARGETS := virt-top
|
BYTE_TARGETS := virt-top
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From b7c3ef13cbd9c9cd49005a32ffb70faf6f5bbe8c Mon Sep 17 00:00:00 2001
|
From b7c3ef13cbd9c9cd49005a32ffb70faf6f5bbe8c Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Mon, 31 Oct 2016 12:01:40 +0000
|
Date: Mon, 31 Oct 2016 12:01:40 +0000
|
||||||
Subject: [PATCH 05/17] Rename source directory and files.
|
Subject: [PATCH 05/19] Rename source directory and files.
|
||||||
|
|
||||||
This renames the source directory from virt-top to src/ and removes
|
This renames the source directory from virt-top to src/ and removes
|
||||||
the unnecessary virt_top_* prefix from many source files.
|
the unnecessary virt_top_* prefix from many source files.
|
||||||
@ -715,5 +715,5 @@ index 46099b7..0000000
|
|||||||
-virt_top_xml.cmo: virt_top_gettext.cmo virt_top.cmi
|
-virt_top_xml.cmo: virt_top_gettext.cmo virt_top.cmi
|
||||||
-virt_top_xml.cmx: virt_top_gettext.cmx virt_top.cmx
|
-virt_top_xml.cmx: virt_top_gettext.cmx virt_top.cmx
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 5500a027ad231eb5bb16e36efee72b48cfac9528 Mon Sep 17 00:00:00 2001
|
From 5500a027ad231eb5bb16e36efee72b48cfac9528 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Mon, 27 Mar 2017 12:21:48 +0100
|
Date: Mon, 27 Mar 2017 12:21:48 +0100
|
||||||
Subject: [PATCH 06/17] Enable same warnings as libguestfs.
|
Subject: [PATCH 06/19] Enable same warnings as libguestfs.
|
||||||
|
|
||||||
In particular 'warning 3' was still enabled before, meaning that the
|
In particular 'warning 3' was still enabled before, meaning that the
|
||||||
code would fail with newer OCaml compilers:
|
code would fail with newer OCaml compilers:
|
||||||
@ -30,5 +30,5 @@ index d29f2e8..d744fd7 100755
|
|||||||
|
|
||||||
OCAMLOPTPACKAGES := $(OCAMLCPACKAGES)
|
OCAMLOPTPACKAGES := $(OCAMLCPACKAGES)
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 8cd690d0b8a5343d8731145b95931ec7aaa2db35 Mon Sep 17 00:00:00 2001
|
From 8cd690d0b8a5343d8731145b95931ec7aaa2db35 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Mon, 27 Mar 2017 12:25:19 +0100
|
Date: Mon, 27 Mar 2017 12:25:19 +0100
|
||||||
Subject: [PATCH 07/17] Remove +x (executable) permission on several source
|
Subject: [PATCH 07/19] Remove +x (executable) permission on several source
|
||||||
files.
|
files.
|
||||||
|
|
||||||
Not sure why it was there, but it was incorrect.
|
Not sure why it was there, but it was incorrect.
|
||||||
@ -44,5 +44,5 @@ diff --git a/src/virt-top.pod b/src/virt-top.pod
|
|||||||
old mode 100755
|
old mode 100755
|
||||||
new mode 100644
|
new mode 100644
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From cc9f1f9d8f17e8ac5a6a73af830c132d916fd6e0 Mon Sep 17 00:00:00 2001
|
From cc9f1f9d8f17e8ac5a6a73af830c132d916fd6e0 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Mon, 27 Mar 2017 12:30:01 +0100
|
Date: Mon, 27 Mar 2017 12:30:01 +0100
|
||||||
Subject: [PATCH 08/17] Refresh HACKING file.
|
Subject: [PATCH 08/19] Refresh HACKING file.
|
||||||
|
|
||||||
Fixes commit b7c3ef13cbd9c9cd49005a32ffb70faf6f5bbe8c.
|
Fixes commit b7c3ef13cbd9c9cd49005a32ffb70faf6f5bbe8c.
|
||||||
---
|
---
|
||||||
@ -91,5 +91,5 @@ index bce40a9..3cd266b 100644
|
|||||||
- virt-top.1
|
- virt-top.1
|
||||||
- virt-top.txt
|
- virt-top.txt
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 1b4980da40000a34ec987f83824dd69454c4e8e4 Mon Sep 17 00:00:00 2001
|
From 1b4980da40000a34ec987f83824dd69454c4e8e4 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Mon, 27 Mar 2017 12:33:22 +0100
|
Date: Mon, 27 Mar 2017 12:33:22 +0100
|
||||||
Subject: [PATCH 09/17] Fix po/POTFILES for new location of source files.
|
Subject: [PATCH 09/19] Fix po/POTFILES for new location of source files.
|
||||||
|
|
||||||
Fixes commit b7c3ef13cbd9c9cd49005a32ffb70faf6f5bbe8c.
|
Fixes commit b7c3ef13cbd9c9cd49005a32ffb70faf6f5bbe8c.
|
||||||
---
|
---
|
||||||
@ -30,5 +30,5 @@ index 55bb82d..70d62d5 100644
|
|||||||
+../src/utils.ml
|
+../src/utils.ml
|
||||||
+../src/version.ml
|
+../src/version.ml
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 0b6f6d45d50174e27f9a425f67bb1a6045a8e58c Mon Sep 17 00:00:00 2001
|
From 0b6f6d45d50174e27f9a425f67bb1a6045a8e58c Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Mon, 27 Mar 2017 12:34:20 +0100
|
Date: Mon, 27 Mar 2017 12:34:20 +0100
|
||||||
Subject: [PATCH 10/17] Update PO files.
|
Subject: [PATCH 10/19] Update PO files.
|
||||||
|
|
||||||
---
|
---
|
||||||
po/as.po | 227 +++++++++++++++++++++++++++++--------------------------
|
po/as.po | 227 +++++++++++++++++++++++++++++--------------------------
|
||||||
@ -14275,5 +14275,5 @@ index dcf0de0..4df1241 100644
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
+
|
+
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From effd1ec5897a2cac6e897ae7bce72f6b1e617b90 Mon Sep 17 00:00:00 2001
|
From effd1ec5897a2cac6e897ae7bce72f6b1e617b90 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Mon, 27 Mar 2017 12:41:21 +0100
|
Date: Mon, 27 Mar 2017 12:41:21 +0100
|
||||||
Subject: [PATCH 11/17] Remove support for OCaml Calendar v1.
|
Subject: [PATCH 11/19] Remove support for OCaml Calendar v1.
|
||||||
|
|
||||||
Calendar v2 was released in 2008 (9 years ago!), thus remove support
|
Calendar v2 was released in 2008 (9 years ago!), thus remove support
|
||||||
for v1.
|
for v1.
|
||||||
@ -199,5 +199,5 @@ index 2c459fe..0000000
|
|||||||
- *)
|
- *)
|
||||||
- Calendar.to_unixfloat cal
|
- Calendar.to_unixfloat cal
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 3e9ed9c0fe49c3d4e4a8e467d521f676769c485a Mon Sep 17 00:00:00 2001
|
From 3e9ed9c0fe49c3d4e4a8e467d521f676769c485a Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Mon, 27 Mar 2017 13:06:18 +0100
|
Date: Mon, 27 Mar 2017 13:06:18 +0100
|
||||||
Subject: [PATCH 12/17] src: Fix some comments which referred to the old
|
Subject: [PATCH 12/19] src: Fix some comments which referred to the old
|
||||||
filenames.
|
filenames.
|
||||||
|
|
||||||
Fixes commit b7c3ef13cbd9c9cd49005a32ffb70faf6f5bbe8c.
|
Fixes commit b7c3ef13cbd9c9cd49005a32ffb70faf6f5bbe8c.
|
||||||
@ -72,5 +72,5 @@ index 3ad0718..b0953dd 100644
|
|||||||
|
|
||||||
type setup =
|
type setup =
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 90d14bc151e488972d33eefaac2242d9a6e07578 Mon Sep 17 00:00:00 2001
|
From 90d14bc151e488972d33eefaac2242d9a6e07578 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Mon, 27 Mar 2017 15:29:23 +0100
|
Date: Mon, 27 Mar 2017 15:29:23 +0100
|
||||||
Subject: [PATCH 13/17] Split up huge Top module into smaller modules.
|
Subject: [PATCH 13/19] Split up huge Top module into smaller modules.
|
||||||
|
|
||||||
This change is hopefully pure refactoring, splitting up the very large
|
This change is hopefully pure refactoring, splitting up the very large
|
||||||
and highly interlinked module into more manageable modules with
|
and highly interlinked module into more manageable modules with
|
||||||
@ -11,7 +11,7 @@ well-defined (or at least *better*-defined) interfaces between them.
|
|||||||
po/POTFILES | 6 +
|
po/POTFILES | 6 +
|
||||||
src/.depend | 36 +-
|
src/.depend | 36 +-
|
||||||
src/Makefile.in | 6 +
|
src/Makefile.in | 6 +
|
||||||
src/README | 38 +-
|
src/README | 36 +-
|
||||||
src/collect.ml | 455 ++++++++++++++++++++
|
src/collect.ml | 455 ++++++++++++++++++++
|
||||||
src/collect.mli | 86 ++++
|
src/collect.mli | 86 ++++
|
||||||
src/csv_output.ml | 118 +++++
|
src/csv_output.ml | 118 +++++
|
||||||
@ -30,7 +30,7 @@ well-defined (or at least *better*-defined) interfaces between them.
|
|||||||
src/types.mli | 49 +++
|
src/types.mli | 49 +++
|
||||||
src/utils.ml | 65 ---
|
src/utils.ml | 65 ---
|
||||||
src/utils.mli | 9 -
|
src/utils.mli | 9 -
|
||||||
23 files changed, 1719 insertions(+), 1223 deletions(-)
|
23 files changed, 1718 insertions(+), 1222 deletions(-)
|
||||||
create mode 100644 src/collect.ml
|
create mode 100644 src/collect.ml
|
||||||
create mode 100644 src/collect.mli
|
create mode 100644 src/collect.mli
|
||||||
create mode 100644 src/csv_output.ml
|
create mode 100644 src/csv_output.ml
|
||||||
@ -167,8 +167,10 @@ index 8aa2348..1fd4be3 100644
|
|||||||
String functions and other small utility functions. This is
|
String functions and other small utility functions. This is
|
||||||
included directly into virt_top.ml.
|
included directly into virt_top.ml.
|
||||||
|
|
||||||
|
- top.mli, top.ml
|
||||||
+ types.mli, types.ml
|
+ types.mli, types.ml
|
||||||
+
|
|
||||||
|
- This is the virt-top program.
|
||||||
+ Various internally used types and functions operating on those
|
+ Various internally used types and functions operating on those
|
||||||
+ types.
|
+ types.
|
||||||
+
|
+
|
||||||
@ -181,27 +183,24 @@ index 8aa2348..1fd4be3 100644
|
|||||||
+ Various useful functions for drawing to the curses screen.
|
+ Various useful functions for drawing to the curses screen.
|
||||||
+
|
+
|
||||||
+ redraw.mli, redraw.ml
|
+ redraw.mli, redraw.ml
|
||||||
+
|
|
||||||
|
- The two interesting functions are called 'collect' and 'redraw'.
|
||||||
+ Redraw the main display.
|
+ Redraw the main display.
|
||||||
+
|
|
||||||
|
- 'collect' collects all the information about domains, etc.
|
||||||
+ csv_output.mli, csv_output.ml
|
+ csv_output.mli, csv_output.ml
|
||||||
+
|
|
||||||
|
- 'redraw' updates the display on each frame.
|
||||||
+ Functions which implement --csv mode.
|
+ Functions which implement --csv mode.
|
||||||
+
|
+
|
||||||
+ stream_output.mli, stream_output.ml
|
+ stream_output.mli, stream_output.ml
|
||||||
+
|
+
|
||||||
+ Functions which implement --stream mode.
|
+ Functions which implement --stream mode.
|
||||||
+
|
+
|
||||||
top.mli, top.ml
|
+ top.mli, top.ml
|
||||||
|
+
|
||||||
|
+ This is the virt-top program.
|
||||||
|
|
||||||
This is the virt-top program.
|
|
||||||
|
|
||||||
- The two interesting functions are called 'collect' and 'redraw'.
|
|
||||||
-
|
|
||||||
- 'collect' collects all the information about domains, etc.
|
|
||||||
-
|
|
||||||
- 'redraw' updates the display on each frame.
|
|
||||||
-
|
|
||||||
- Another interesting function is 'start_up' which handles all
|
- Another interesting function is 'start_up' which handles all
|
||||||
- start-up stuff, eg. command line arguments, connecting to the
|
- start-up stuff, eg. command line arguments, connecting to the
|
||||||
- hypervisor, enabling curses.
|
- hypervisor, enabling curses.
|
||||||
@ -3270,5 +3269,5 @@ index 5b71b31..6e81215 100644
|
|||||||
-val sum_interface_stats : interface_stats list -> interface_stats
|
-val sum_interface_stats : interface_stats list -> interface_stats
|
||||||
-val diff_interface_stats : interface_stats -> interface_stats -> interface_stats
|
-val diff_interface_stats : interface_stats -> interface_stats -> interface_stats
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 431dbd98bad6e3635b4d0885bf33dd3e759ca35d Mon Sep 17 00:00:00 2001
|
From 431dbd98bad6e3635b4d0885bf33dd3e759ca35d Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Mon, 27 Mar 2017 21:22:52 +0100
|
Date: Mon, 27 Mar 2017 21:22:52 +0100
|
||||||
Subject: [PATCH 14/17] Move block_in_bytes entirely to the presentation layer.
|
Subject: [PATCH 14/19] Move block_in_bytes entirely to the presentation layer.
|
||||||
|
|
||||||
Simplifies and updates commit dbef8dd3bf00417e75a12c851b053e49c9e1a79e.
|
Simplifies and updates commit dbef8dd3bf00417e75a12c851b053e49c9e1a79e.
|
||||||
---
|
---
|
||||||
@ -207,5 +207,5 @@ index 204f3b6..e2a93d6 100644
|
|||||||
(* Append to stream output file. *)
|
(* Append to stream output file. *)
|
||||||
if stream_mode then
|
if stream_mode then
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 4f3794d5718249238a74b614a6b486465bc4315d Mon Sep 17 00:00:00 2001
|
From 4f3794d5718249238a74b614a6b486465bc4315d Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 28 Mar 2017 13:09:54 +0100
|
Date: Tue, 28 Mar 2017 13:09:54 +0100
|
||||||
Subject: [PATCH 15/17] Remove unused variable is_calendar2.
|
Subject: [PATCH 15/19] Remove unused variable is_calendar2.
|
||||||
|
|
||||||
Fixes commit effd1ec5897a2cac6e897ae7bce72f6b1e617b90.
|
Fixes commit effd1ec5897a2cac6e897ae7bce72f6b1e617b90.
|
||||||
---
|
---
|
||||||
@ -21,5 +21,5 @@ index 64f431e..6a13bef 100644
|
|||||||
|
|
||||||
OCAMLCPACKAGES := -package unix,extlib,curses,str,libvirt
|
OCAMLCPACKAGES := -package unix,extlib,curses,str,libvirt
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From c513d05fd4e85953701b1023bef71af62613cf79 Mon Sep 17 00:00:00 2001
|
From c513d05fd4e85953701b1023bef71af62613cf79 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 28 Mar 2017 13:30:07 +0100
|
Date: Tue, 28 Mar 2017 13:30:07 +0100
|
||||||
Subject: [PATCH 16/17] Use virConnectGetAllDomainStats API to collect domain
|
Subject: [PATCH 16/19] Use virConnectGetAllDomainStats API to collect domain
|
||||||
stats (RHBZ#1422795).
|
stats (RHBZ#1422795).
|
||||||
|
|
||||||
This is much faster than using the basic libvirt APIs to collect
|
This is much faster than using the basic libvirt APIs to collect
|
||||||
@ -10,11 +10,11 @@ stats for each domain individually.
|
|||||||
Note this will not work unless you have the latest ocaml-libvirt
|
Note this will not work unless you have the latest ocaml-libvirt
|
||||||
package which includes this new API binding.
|
package which includes this new API binding.
|
||||||
---
|
---
|
||||||
src/collect.ml | 242 +++++++++++++++++++++++++++++++++++++++++---------------
|
src/collect.ml | 252 +++++++++++++++++++++++++++++++++++++++++---------------
|
||||||
src/collect.mli | 1 +
|
src/collect.mli | 1 +
|
||||||
src/utils.ml | 6 ++
|
src/utils.ml | 6 ++
|
||||||
src/utils.mli | 3 +
|
src/utils.mli | 3 +
|
||||||
4 files changed, 190 insertions(+), 62 deletions(-)
|
4 files changed, 195 insertions(+), 67 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/collect.ml b/src/collect.ml
|
diff --git a/src/collect.ml b/src/collect.ml
|
||||||
index 448ce8c..a1e50a1 100644
|
index 448ce8c..a1e50a1 100644
|
||||||
@ -61,6 +61,60 @@ index 448ce8c..a1e50a1 100644
|
|||||||
- let dom = D.lookup_by_id conn id in
|
- let dom = D.lookup_by_id conn id in
|
||||||
- let name = D.get_name dom in
|
- let name = D.get_name dom in
|
||||||
- let blkdevs, netifs = get_devices id dom in
|
- let blkdevs, netifs = get_devices id dom in
|
||||||
|
-
|
||||||
|
- (* Get current CPU, block and network stats. *)
|
||||||
|
- let info = D.get_info dom in
|
||||||
|
- let block_stats =
|
||||||
|
- try List.map (fun dev -> dev, D.block_stats dom dev) blkdevs
|
||||||
|
- with
|
||||||
|
- | Libvirt.Not_supported "virDomainBlockStats"
|
||||||
|
- | Libvirt.Virterror _ -> [] in
|
||||||
|
- let interface_stats =
|
||||||
|
- try List.map (fun dev -> dev, D.interface_stats dom dev) netifs
|
||||||
|
- with
|
||||||
|
- | Libvirt.Not_supported "virDomainInterfaceStats"
|
||||||
|
- | Libvirt.Virterror _ -> [] in
|
||||||
|
-
|
||||||
|
- let prev_info, prev_block_stats, prev_interface_stats =
|
||||||
|
- try
|
||||||
|
- let prev_info, prev_block_stats, prev_interface_stats =
|
||||||
|
- Hashtbl.find last_info id in
|
||||||
|
- Some prev_info, prev_block_stats, prev_interface_stats
|
||||||
|
- with Not_found -> None, [], [] in
|
||||||
|
-
|
||||||
|
- Some (name,
|
||||||
|
- Active {
|
||||||
|
- rd_domid = id; rd_dom = dom; rd_info = info;
|
||||||
|
- rd_block_stats = block_stats;
|
||||||
|
- rd_interface_stats = interface_stats;
|
||||||
|
- rd_prev_info = prev_info;
|
||||||
|
- rd_prev_block_stats = prev_block_stats;
|
||||||
|
- rd_prev_interface_stats = prev_interface_stats;
|
||||||
|
- rd_cpu_time = 0.; rd_percent_cpu = 0.;
|
||||||
|
- rd_mem_bytes = 0L; rd_mem_percent = 0L;
|
||||||
|
- rd_block_rd_reqs = None; rd_block_wr_reqs = None;
|
||||||
|
- rd_block_rd_bytes = None; rd_block_wr_bytes = None;
|
||||||
|
- rd_net_rx_bytes = None; rd_net_tx_bytes = None;
|
||||||
|
- })
|
||||||
|
- with
|
||||||
|
- Libvirt.Virterror _ -> None (* ignore transient error *)
|
||||||
|
- ) ids in
|
||||||
|
-
|
||||||
|
- (* Inactive domains. *)
|
||||||
|
- let doms_inactive =
|
||||||
|
- try
|
||||||
|
- let n = C.num_of_defined_domains conn in
|
||||||
|
- let names =
|
||||||
|
- if n > 0 then Array.to_list (C.list_defined_domains conn n)
|
||||||
|
- else [] in
|
||||||
|
- List.map (fun name -> name, Inactive) names
|
||||||
|
- with
|
||||||
|
- (* Ignore transient errors, in particular errors from
|
||||||
|
- * num_of_defined_domains if it cannot contact xend.
|
||||||
|
- *)
|
||||||
|
- | Libvirt.Virterror _ -> [] in
|
||||||
|
-
|
||||||
|
- doms @ doms_inactive in
|
||||||
+ let doms = D.get_all_domain_stats conn what who in
|
+ let doms = D.get_all_domain_stats conn what who in
|
||||||
+ let doms = Array.to_list doms in
|
+ let doms = Array.to_list doms in
|
||||||
+ List.map (
|
+ List.map (
|
||||||
@ -92,52 +146,17 @@ index 448ce8c..a1e50a1 100644
|
|||||||
+ | Some (D.TypedFieldUInt64 i) -> Some i
|
+ | Some (D.TypedFieldUInt64 i) -> Some i
|
||||||
+ | _ -> default
|
+ | _ -> default
|
||||||
+ in
|
+ in
|
||||||
|
+
|
||||||
- (* Get current CPU, block and network stats. *)
|
|
||||||
- let info = D.get_info dom in
|
|
||||||
- let block_stats =
|
|
||||||
- try List.map (fun dev -> dev, D.block_stats dom dev) blkdevs
|
|
||||||
- with
|
|
||||||
- | Libvirt.Not_supported "virDomainBlockStats"
|
|
||||||
- | Libvirt.Virterror _ -> [] in
|
|
||||||
- let interface_stats =
|
|
||||||
- try List.map (fun dev -> dev, D.interface_stats dom dev) netifs
|
|
||||||
- with
|
|
||||||
- | Libvirt.Not_supported "virDomainInterfaceStats"
|
|
||||||
- | Libvirt.Virterror _ -> [] in
|
|
||||||
+ let dom = D.lookup_by_uuid conn uuid in
|
+ let dom = D.lookup_by_uuid conn uuid in
|
||||||
+ let id = D.get_id dom in
|
+ let id = D.get_id dom in
|
||||||
+ let name = D.get_name dom in
|
+ let name = D.get_name dom in
|
||||||
+ let state = get_param_int "state.state" None in
|
+ let state = get_param_int "state.state" None in
|
||||||
|
+
|
||||||
- let prev_info, prev_block_stats, prev_interface_stats =
|
|
||||||
- try
|
|
||||||
- let prev_info, prev_block_stats, prev_interface_stats =
|
|
||||||
- Hashtbl.find last_info id in
|
|
||||||
- Some prev_info, prev_block_stats, prev_interface_stats
|
|
||||||
- with Not_found -> None, [], [] in
|
|
||||||
+ if state = Some 5 (* VIR_DOMAIN_SHUTOFF *) then
|
+ if state = Some 5 (* VIR_DOMAIN_SHUTOFF *) then
|
||||||
+ (name, Inactive)
|
+ (name, Inactive)
|
||||||
+ else (
|
+ else (
|
||||||
+ (* Active domain. *)
|
+ (* Active domain. *)
|
||||||
|
+
|
||||||
- Some (name,
|
|
||||||
- Active {
|
|
||||||
- rd_domid = id; rd_dom = dom; rd_info = info;
|
|
||||||
- rd_block_stats = block_stats;
|
|
||||||
- rd_interface_stats = interface_stats;
|
|
||||||
- rd_prev_info = prev_info;
|
|
||||||
- rd_prev_block_stats = prev_block_stats;
|
|
||||||
- rd_prev_interface_stats = prev_interface_stats;
|
|
||||||
- rd_cpu_time = 0.; rd_percent_cpu = 0.;
|
|
||||||
- rd_mem_bytes = 0L; rd_mem_percent = 0L;
|
|
||||||
- rd_block_rd_reqs = None; rd_block_wr_reqs = None;
|
|
||||||
- rd_block_rd_bytes = None; rd_block_wr_bytes = None;
|
|
||||||
- rd_net_rx_bytes = None; rd_net_tx_bytes = None;
|
|
||||||
- })
|
|
||||||
- with
|
|
||||||
- Libvirt.Virterror _ -> None (* ignore transient error *)
|
|
||||||
- ) ids in
|
|
||||||
+ (* Synthesize a D.info struct out of the data we have
|
+ (* Synthesize a D.info struct out of the data we have
|
||||||
+ * from virConnectGetAllDomainStats. Doing this is an
|
+ * from virConnectGetAllDomainStats. Doing this is an
|
||||||
+ * artifact from the old APIs we used to use to fetch
|
+ * artifact from the old APIs we used to use to fetch
|
||||||
@ -175,20 +194,7 @@ index 448ce8c..a1e50a1 100644
|
|||||||
+ nr_virt_cpu = nr_virt_cpu;
|
+ nr_virt_cpu = nr_virt_cpu;
|
||||||
+ cpu_time = cpu_time
|
+ cpu_time = cpu_time
|
||||||
+ } in
|
+ } in
|
||||||
|
+
|
||||||
- (* Inactive domains. *)
|
|
||||||
- let doms_inactive =
|
|
||||||
- try
|
|
||||||
- let n = C.num_of_defined_domains conn in
|
|
||||||
- let names =
|
|
||||||
- if n > 0 then Array.to_list (C.list_defined_domains conn n)
|
|
||||||
- else [] in
|
|
||||||
- List.map (fun name -> name, Inactive) names
|
|
||||||
- with
|
|
||||||
- (* Ignore transient errors, in particular errors from
|
|
||||||
- * num_of_defined_domains if it cannot contact xend.
|
|
||||||
- *)
|
|
||||||
- | Libvirt.Virterror _ -> [] in
|
|
||||||
+ let nr_block_devs =
|
+ let nr_block_devs =
|
||||||
+ match get_param_int "block.count" None with
|
+ match get_param_int "block.count" None with
|
||||||
+ | None -> 0
|
+ | None -> 0
|
||||||
@ -217,8 +223,7 @@ index 448ce8c..a1e50a1 100644
|
|||||||
+ errs = 0_L
|
+ errs = 0_L
|
||||||
+ }
|
+ }
|
||||||
+ ) (range 0 (nr_block_devs-1)) in
|
+ ) (range 0 (nr_block_devs-1)) in
|
||||||
|
+
|
||||||
- doms @ doms_inactive in
|
|
||||||
+ let nr_interface_devs =
|
+ let nr_interface_devs =
|
||||||
+ match get_param_int "net.count" None with
|
+ match get_param_int "net.count" None with
|
||||||
+ | None -> 0
|
+ | None -> 0
|
||||||
@ -339,5 +344,5 @@ index 6e81215..3c966f8 100644
|
|||||||
* If the config file is missing this returns an empty list.
|
* If the config file is missing this returns an empty list.
|
||||||
*)
|
*)
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 20c078bead38fd9e413660d4d8fdc3fd4f76edf7 Mon Sep 17 00:00:00 2001
|
From 20c078bead38fd9e413660d4d8fdc3fd4f76edf7 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 28 Mar 2017 14:36:07 +0100
|
Date: Tue, 28 Mar 2017 14:36:07 +0100
|
||||||
Subject: [PATCH 17/17] chmod -x COPYING* files.
|
Subject: [PATCH 17/19] chmod -x COPYING* files.
|
||||||
|
|
||||||
---
|
---
|
||||||
COPYING | 0
|
COPYING | 0
|
||||||
@ -17,5 +17,5 @@ diff --git a/COPYING.LIB b/COPYING.LIB
|
|||||||
old mode 100755
|
old mode 100755
|
||||||
new mode 100644
|
new mode 100644
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.1
|
||||||
|
|
||||||
|
42
0018-Fixes-for-safe-string-in-OCaml-4.06.patch
Normal file
42
0018-Fixes-for-safe-string-in-OCaml-4.06.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
From a58c90e04e5b54f8c6a67b09a93cfc33402cf398 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Sat, 18 Nov 2017 12:01:34 +0000
|
||||||
|
Subject: [PATCH 18/19] Fixes for -safe-string in OCaml 4.06.
|
||||||
|
|
||||||
|
---
|
||||||
|
src/top.ml | 13 ++++++++-----
|
||||||
|
1 file changed, 8 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/top.ml b/src/top.ml
|
||||||
|
index e2a93d6..d4f7697 100644
|
||||||
|
--- a/src/top.ml
|
||||||
|
+++ b/src/top.ml
|
||||||
|
@@ -296,17 +296,20 @@ let millisleep n =
|
||||||
|
*)
|
||||||
|
let get_string maxlen =
|
||||||
|
ignore (echo ());
|
||||||
|
- let str = String.create maxlen in
|
||||||
|
- let ok = getstr str in (* Safe because binding calls getnstr. *)
|
||||||
|
+ let str = Bytes.create maxlen in
|
||||||
|
+ (* Safe because binding calls getnstr. However the unsafe cast
|
||||||
|
+ * to string is required because ocaml-curses needs to be fixed.
|
||||||
|
+ *)
|
||||||
|
+ let ok = getstr (Obj.magic str) in
|
||||||
|
ignore (noecho ());
|
||||||
|
if not ok then ""
|
||||||
|
else (
|
||||||
|
(* Chop at first '\0'. *)
|
||||||
|
try
|
||||||
|
- let i = String.index str '\000' in
|
||||||
|
- String.sub str 0 i
|
||||||
|
+ let i = Bytes.index str '\000' in
|
||||||
|
+ Bytes.sub_string str 0 i
|
||||||
|
with
|
||||||
|
- Not_found -> str (* it is full maxlen bytes *)
|
||||||
|
+ Not_found -> Bytes.to_string str (* it is full maxlen bytes *)
|
||||||
|
)
|
||||||
|
|
||||||
|
(* Main loop. *)
|
||||||
|
--
|
||||||
|
2.13.1
|
||||||
|
|
32
0019-Link-with-fPIC-runtime.patch
Normal file
32
0019-Link-with-fPIC-runtime.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
From 18a751d8c26548bb090ff05e30ccda3092e3373b Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Sat, 18 Nov 2017 12:01:49 +0000
|
||||||
|
Subject: [PATCH 19/19] Link with -fPIC runtime.
|
||||||
|
|
||||||
|
---
|
||||||
|
src/Makefile.in | 5 ++++-
|
||||||
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/Makefile.in b/src/Makefile.in
|
||||||
|
index 6a13bef..03c6362 100644
|
||||||
|
--- a/src/Makefile.in
|
||||||
|
+++ b/src/Makefile.in
|
||||||
|
@@ -84,11 +84,14 @@ all: $(BYTE_TARGETS)
|
||||||
|
opt: $(OPT_TARGETS)
|
||||||
|
|
||||||
|
virt-top: $(OBJS)
|
||||||
|
- ocamlfind ocamlc $(OCAMLCPACKAGES) $(OCAMLCFLAGS) $(OCAMLCLIBS) -o $@ $^
|
||||||
|
+ ocamlfind ocamlc $(OCAMLCPACKAGES) $(OCAMLCFLAGS) $(OCAMLCLIBS) \
|
||||||
|
+ -runtime-variant _pic \
|
||||||
|
+ -o $@ $^
|
||||||
|
|
||||||
|
virt-top.opt: $(XOBJS)
|
||||||
|
ocamlfind ocamlopt \
|
||||||
|
$(OCAMLOPTPACKAGES) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) \
|
||||||
|
+ -runtime-variant _pic \
|
||||||
|
-o $@ $^
|
||||||
|
|
||||||
|
# Manual page.
|
||||||
|
--
|
||||||
|
2.13.1
|
||||||
|
|
@ -36,6 +36,8 @@ Patch0014: 0014-Move-block_in_bytes-entirely-to-the-presentation-lay.patch
|
|||||||
Patch0015: 0015-Remove-unused-variable-is_calendar2.patch
|
Patch0015: 0015-Remove-unused-variable-is_calendar2.patch
|
||||||
Patch0016: 0016-Use-virConnectGetAllDomainStats-API-to-collect-domai.patch
|
Patch0016: 0016-Use-virConnectGetAllDomainStats-API-to-collect-domai.patch
|
||||||
Patch0017: 0017-chmod-x-COPYING-files.patch
|
Patch0017: 0017-chmod-x-COPYING-files.patch
|
||||||
|
Patch0018: 0018-Fixes-for-safe-string-in-OCaml-4.06.patch
|
||||||
|
Patch0019: 0019-Link-with-fPIC-runtime.patch
|
||||||
|
|
||||||
# Update configure for aarch64 (bz #926701)
|
# Update configure for aarch64 (bz #926701)
|
||||||
Patch9999: virt-top-aarch64.patch
|
Patch9999: virt-top-aarch64.patch
|
||||||
@ -102,6 +104,8 @@ different virtualization systems.
|
|||||||
%patch0015 -p1
|
%patch0015 -p1
|
||||||
%patch0016 -p1
|
%patch0016 -p1
|
||||||
%patch0017 -p1
|
%patch0017 -p1
|
||||||
|
%patch0018 -p1
|
||||||
|
%patch0019 -p1
|
||||||
|
|
||||||
# Update configure for aarch64 (bz #926701)
|
# Update configure for aarch64 (bz #926701)
|
||||||
%patch9999 -p1
|
%patch9999 -p1
|
||||||
|
Loading…
Reference in New Issue
Block a user