[libgtop] Revert "Revert "Updated config and added reference""



commit b738a0ae09d793edbde06519e04142cc72e6187c
Author: James Dominic P. Guana <guana histark gmail com>
Date:   Sat Apr 10 18:20:28 2021 +0800

    Revert "Revert "Updated config and added reference""
    
    This reverts commit 2229253e11ae5c729a703f0c72e006f46746c592.

 configure.ac                       |  6 ++--
 doc/main.texi                      |  1 +
 doc/reference.texi                 | 59 +++++++++++++++++++++++++++++++++++++-
 doc/reference/libgtop-sections.txt | 22 +++-----------
 include/glibtop/disk.h             | 18 ++++++------
 sysdeps/linux/disk.c               | 31 ++++++--------------
 6 files changed, 84 insertions(+), 53 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 5426daf1..cc1d041f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8,16 +8,16 @@ m4_define([libgtop_micro_version], [0])
 m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
 
 dnl  increment if the interface has additions, changes, removals.
-m4_define([libgtop_current], [11])
+m4_define([libgtop_current], [12])
 
 dnl  increment any time the source changes; set to
 dnl  0 if you increment CURRENT
-m4_define([libgtop_revision], [1])
+m4_define([libgtop_revision], [0])
 
 dnl  increment if any interfaces have been added; set to 0
 dnl  if any interfaces have been removed. removal has
 dnl  precedence over adding, so set to 0 if both happened.
-m4_define([libgtop_age], [0])
+m4_define([libgtop_age], [1])
 
 # Increase each time you change the client/server protocol.
 m4_define([libgtop_server_version], [5])
diff --git a/doc/main.texi b/doc/main.texi
index 6945d651..f6a1ddde 100644
--- a/doc/main.texi
+++ b/doc/main.texi
@@ -49,6 +49,7 @@ System Dependent Functions
 * glibtop_proc_map::            Process Memory Maps.
 * glibtop_netload::             Network Load.
 * glibtop_ppp::                 PPP Usage.
+* glibtop_disk::                DISK Usage.
 
 Common Functions
 
diff --git a/doc/reference.texi b/doc/reference.texi
index cdba6887..55970001 100644
--- a/doc/reference.texi
+++ b/doc/reference.texi
@@ -28,6 +28,7 @@
 * glibtop_proc_map::            Process Memory Maps.
 * glibtop_netload::             Network Load.
 * glibtop_ppp::                 PPP Usage.
+* glibtop_disk::                DISK Usage.
 @end menu
 
 @node glibtop_cpu, glibtop_mem, System Dependent, System Dependent
@@ -1343,7 +1344,7 @@ enum @{
 @end example
 
 @page
-@node glibtop_ppp,  , glibtop_netload, System Dependent
+@node glibtop_ppp, glibtop_disk, glibtop_netload, System Dependent
 @subsection PPP Statistics
 
 Library function @code{glibtop_get_ppp}:
@@ -1403,6 +1404,62 @@ We're currently offline.
 We're currently online.
 @end table
 
+@page
+@node glibtop_disk, , glibtop_ppp, System Dependent
+@subsection DISK Usage
+
+Library function @code{glibtop_get_disk}:
+
+@example
+@cartouche
+void glibtop_get_disk (glibtop_disk *buf);
+void glibtop_get_disk_l (glibtop *server, glibtop_disk *buf);
+@end cartouche
+@end example
+
+Declaration of @code{glibtop_disk} in @file{<glibtop/disk.h>}:
+
+@example
+@cartouche
+typedef struct _glibtop_disk     glibtop_disk;
+
+struct _glibtop_disk
+@{
+    xdisk_sectors_read [GLIBTOP_NDISK],
+    xdisk_time_read [GLIBTOP_NDISK],
+    xdisk_sectors_write [GLIBTOP_NDISK],
+    xdisk_time_write [GLIBTOP_NDISK],
+@};
+@end cartouche
+@end example
+
+All DISK reads and writes are measured by @dfn{sectors} which are normally 512 bytes each. 
+All disk time are measured in milliseconds which is 1/1000th of a second.
+
+@table @code
+@item xdisk_sectors_read
+Number of sectors read since system boot.
+
+@item xdisk_time_read
+Number of milliseconds spent reading since system boot.
+
+@item xdisk_sectors_write
+Number of sectors written since system boot.
+
+@item xdisk_time_write
+Number of milliseconds spent writing since system boot.
+
+@end table
+
+The @samp{xdisk_} are values from arrays of @code{GLIBTOP_NDISK} (defined in
+@file{<glibtop/disk.h>}) elements and contain one value for each DISK
+in the system.
+
+Please note that all of the disk values are absolute values measured in
+certain units since system boot. To get bandwidth values (bytes/s), you need to call @code{glibtop_disk}, 
save the
+result, wait some time and then call it again and divide the differences of
+the two values by the time spent reading or writing.
+
 @page
 @node Common Functions, Library Functions, System Dependent, Reference Manual
 @section Common Functions
diff --git a/doc/reference/libgtop-sections.txt b/doc/reference/libgtop-sections.txt
index 3d6d710d..63137481 100644
--- a/doc/reference/libgtop-sections.txt
+++ b/doc/reference/libgtop-sections.txt
@@ -682,24 +682,10 @@ glibtop_get_cpu_s
 <INCLUDE>glibtop/disk.h</INCLUDE>
 <SECTION>
 <FILE>disk</FILE>
-GLIBTOP_DISK_TOTAL
-GLIBTOP_DISK_USER
-GLIBTOP_DISK_NICE
-GLIBTOP_DISK_SYS
-GLIBTOP_DISK_IDLE
-GLIBTOP_DISK_FREQUENCY
-GLIBTOP_XDISK_TOTAL
-GLIBTOP_XDISK_USER
-GLIBTOP_XDISK_NICE
-GLIBTOP_XDISK_SYS
-GLIBTOP_XDISK_IDLE
-GLIBTOP_XDISK_FLAGS
-GLIBTOP_DISK_IOWAIT
-GLIBTOP_DISK_IRQ
-GLIBTOP_DISK_SOFTIRQ
-GLIBTOP_XDISK_IOWAIT
-GLIBTOP_XDISK_IRQ
-GLIBTOP_XDISK_SOFTIRQ
+LIBTOP_XDISK_SECTORS_READ
+GLIBTOP_XDISK_TIME_READ
+GLIBTOP_XDISK_SECTORS_WRITE
+GLIBTOP_XDISK_TIME_WRITE
 GLIBTOP_MAX_DISK
 GLIBTOP_NDISK
 glibtop_disk
diff --git a/include/glibtop/disk.h b/include/glibtop/disk.h
index 292924f6..e444d819 100644
--- a/include/glibtop/disk.h
+++ b/include/glibtop/disk.h
@@ -28,17 +28,17 @@
 G_BEGIN_DECLS
 
 #define GLIBTOP_XDISK_SECTORS_READ     0
-#define GLIBTOP_XDISK_TIME_READ        1
+#define GLIBTOP_XDISK_TIME_READ                1
 #define GLIBTOP_XDISK_SECTORS_WRITE    2
 #define GLIBTOP_XDISK_TIME_WRITE               3
 
-#define GLIBTOP_MAX_DISK               4
+#define GLIBTOP_MAX_DISK                               4
 
 /* Nobody should really be using more than 4 disk.
    Yes we are :)
    Nobody should really be using more than 32 disk.
 */
-#define GLIBTOP_NDISK          1024
+#define GLIBTOP_NDISK                                  1024
 
 typedef struct _glibtop_disk   glibtop_disk;
 
@@ -54,12 +54,12 @@ typedef struct _partition_info partition_info;
 
 struct _glibtop_disk
 {
-   guint64 flags;
-       guint64 xdisk_sectors_read [GLIBTOP_NDISK];     /* GLIBTOP_XDISK_SECTORS_READ           */
-       guint64 xdisk_time_read [GLIBTOP_NDISK];        /* GLIBTOP_XDISK_TIME_READ              */
-       guint64 xdisk_sectors_write [GLIBTOP_NDISK];    /* GLIBTOP_XDISK_SECTORS_WRITE          */
-       guint64 xdisk_time_write  [GLIBTOP_NDISK];      /* GLIBTOP_XDISK_TIME_WRITE             */
-   guint64 xdisk_flags;
+       guint64 flags;                                                                                        
                  /* NOT USED YET         */
+       guint64 xdisk_sectors_read [GLIBTOP_NDISK];                             /* GLIBTOP_XDISK_SECTORS_READ 
          */
+       guint64 xdisk_time_read [GLIBTOP_NDISK];                                        /* 
GLIBTOP_XDISK_TIME_READ              */
+       guint64 xdisk_sectors_write [GLIBTOP_NDISK];                            /* 
GLIBTOP_XDISK_SECTORS_WRITE          */
+       guint64 xdisk_time_write [GLIBTOP_NDISK];                                       /* 
GLIBTOP_XDISK_TIME_WRITE             */
+       guint64 xdisk_flags;
 };
 
 void glibtop_get_disk (glibtop_disk *buf);
diff --git a/sysdeps/linux/disk.c b/sysdeps/linux/disk.c
index c2d341f6..dbd46dff 100644
--- a/sysdeps/linux/disk.c
+++ b/sysdeps/linux/disk.c
@@ -51,7 +51,7 @@ void
 find_primary_part (partition_info *primary_part, const char *m)
 {
        int n = 0, tlvl = 0;
-       char name[256]="",type[256]="";
+       char name[256]="", type[256]="";
 
        primary_part->max = 0;
 
@@ -92,18 +92,12 @@ find_primary_part (partition_info *primary_part, const char *m)
                                n--;
 
                        }
-                       else if ((strcmp (type, "lvm") == 0)) {
+                       else if ((strcmp (type, "lvm") == 0) || (strncmp (type, "raid", 4) == 0)) {
 
                                tlvl = 2;
                                primary_part->max++;
 
                        }
-                       else if ((strncmp (type, "raid", 4) == 0)) {
-                               
-                               tlvl = 2;
-                               primary_part->max++;
-
-                       }
 
                }
                else if( tlvl == 2){
@@ -115,23 +109,14 @@ find_primary_part (partition_info *primary_part, const char *m)
                                primary_part->max++;
 
                        }
-                       else if ((strcmp (primary_part[n-1].type, "lvm") == 0) && (strcmp (type, "lvm") == 
0)) {
-
-                               n--;
-
-                       }
-                       else if ((strcmp (primary_part[n-1].type, "raid") == 0) && (strncmp (type, "raid", 4) 
== 0)) {
+                       else if ((strcmp (primary_part[n-1].type, "lvm") == 0) && (strcmp (type, "lvm") == 0) 
|| 
+                               (strcmp (primary_part[n-1].type, "raid") == 0) && (strncmp (type, "raid", 4) 
== 0)) {
 
                                n--;
 
                        }
-                       else if ((strcmp (primary_part[n-1].type, "lvm") == 0) && (strcmp (type, "part") == 
0)) {
-
-                               n--;
-                               tlvl = 1;
-
-                       }
-                       else if ((strcmp (primary_part[n-1].type, "raid") == 0) && (strcmp (type, "part") == 
0)) {
+                       else if ((strcmp (primary_part[n-1].type, "lvm") == 0) && (strcmp (type, "part") == 
0) || 
+                               (strcmp (primary_part[n-1].type, "raid") == 0) && (strcmp (type, "part") == 
0)) {
 
                                n--;
                                tlvl = 1;
@@ -171,6 +156,7 @@ find_primary_part (partition_info *primary_part, const char *m)
                                tlvl = 1;
 
                        }
+
                }
 
 
@@ -195,11 +181,12 @@ is_virtual_drive (partition_info *primary_part, const char *p)
        int i;
        char name[256];
        int test = 1;
+
        sscanf (p, "%s", name);
 
        if (*p) {
 
-               for (i=0; i<primary_part->max; i++) {
+               for (i=0; i < primary_part->max; i++) {
 
                        if (strcmp (primary_part[i].name, name) == 0) {
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]