ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/libstatgrab/examples/network_traffic.c
(Generate patch)

Comparing projects/libstatgrab/examples/network_traffic.c (file contents):
Revision 1.8 by tdb, Mon Jan 19 16:49:19 2004 UTC vs.
Revision 1.13 by tdb, Mon Apr 5 16:23:08 2004 UTC

# Line 42 | Line 42
42   int main(int argc, char **argv){
43  
44          extern char *optarg;
45        extern int optind;
45          int c;
46  
47          /* We default to 1 second updates and displaying in bytes*/
48          int delay = 1;
49          char units = 'b';
50  
51 <        network_stat_t *network_stats;
51 >        sg_network_io_stats *network_stats;
52          int num_network_stats;
53  
54          /* Parse command line options */
# Line 71 | Line 70 | int main(int argc, char **argv){
70          }
71  
72          /* Initialise statgrab */
73 <        statgrab_init();
73 >        sg_init();
74  
75          /* Drop setuid/setgid privileges. */
76 <        if (statgrab_drop_privileges() != 0) {
76 >        if (sg_drop_privileges() != 0) {
77                  perror("Error. Failed to drop privileges");
78                  return 1;
79          }
# Line 83 | Line 82 | int main(int argc, char **argv){
82           * Because of this, we do nothing for the very first call.
83           */
84  
85 <        network_stats = get_network_stats_diff(&num_network_stats);
85 >        network_stats = sg_get_network_io_stats_diff(&num_network_stats);
86          if (network_stats == NULL){
87                  perror("Error. Failed to get network stats");
88                  return 1;
# Line 93 | Line 92 | int main(int argc, char **argv){
92          printf("\033[2J");
93  
94          /* Keep getting the network stats */
95 <        while ( (network_stats = get_network_stats_diff(&num_network_stats)) != NULL){
95 >        while ( (network_stats = sg_get_network_io_stats_diff(&num_network_stats)) != NULL){
96                  int x;
97                  int line_number = 2;
98  
99                  long long total_tx=0;
100                  long long total_rx=0;
101 +                long long total_ipackets=0;
102 +                long long total_opackets=0;
103 +                long long total_ierrors=0;
104 +                long long total_oerrors=0;
105 +                long long total_collisions=0;
106  
107                  for(x = 0; x < num_network_stats; x++){
108                          /* Print at location 2, linenumber the interface name */
109 <                        printf("\033[%d;2H%-25s : %-10s", line_number++, "Network Interface Name", network_stats->interface_name);
109 >                        printf("\033[%d;2H%-30s : %-10s", line_number++, "Network Interface Name", network_stats->interface_name);
110                          /* Print out at the correct location the traffic in the requsted units passed at command time */
111                          switch(units){
112                                  case 'b':
113 <                                        printf("\033[%d;2H%-25s : %8lld b", line_number++, "Network Interface Rx", network_stats->rx);
114 <                                        printf("\033[%d;2H%-25s : %8lld b", line_number++, "Network Interface Tx", network_stats->tx);
113 >                                        printf("\033[%d;2H%-30s : %8lld b", line_number++, "Network Interface Rx", network_stats->rx);
114 >                                        printf("\033[%d;2H%-30s : %8lld b", line_number++, "Network Interface Tx", network_stats->tx);
115                                          break;
116                                  case 'k':
117 <                                        printf("\033[%d;2H%-25s : %5lld k", line_number++, "Network Interface Rx", (network_stats->rx / 1024));
118 <                                        printf("\033[%d;2H%-25s : %5lld", line_number++, "Network Interface Tx", (network_stats->tx / 1024));
117 >                                        printf("\033[%d;2H%-30s : %5lld k", line_number++, "Network Interface Rx", (network_stats->rx / 1024));
118 >                                        printf("\033[%d;2H%-30s : %5lld", line_number++, "Network Interface Tx", (network_stats->tx / 1024));
119                                          break;
120                                  case 'm':
121 <                                        printf("\033[%d;2H%-25s : %5.2f m", line_number++, "Network Interface Rx", network_stats->rx / (1024.00*1024.00));
122 <                                        printf("\033[%d;2H%-25s : %5.2f m", line_number++, "Network Interface Tx", network_stats->tx / (1024.00*1024.00));
121 >                                        printf("\033[%d;2H%-30s : %5.2f m", line_number++, "Network Interface Rx", network_stats->rx / (1024.00*1024.00));
122 >                                        printf("\033[%d;2H%-30s : %5.2f m", line_number++, "Network Interface Tx", network_stats->tx / (1024.00*1024.00));
123                          }
124 <                        printf("\033[%d;2H%-25s : %ld ", line_number++, "Network Interface systime", (long) network_stats->systime);
124 >                        printf("\033[%d;2H%-30s : %lld ", line_number++, "Network Interface packets in", network_stats->ipackets);
125 >                        printf("\033[%d;2H%-30s : %lld ", line_number++, "Network Interface packets out", network_stats->opackets);
126 >                        printf("\033[%d;2H%-30s : %lld ", line_number++, "Network Interface errors in", network_stats->ierrors);
127 >                        printf("\033[%d;2H%-30s : %lld ", line_number++, "Network Interface errors out", network_stats->oerrors);
128 >                        printf("\033[%d;2H%-30s : %lld ", line_number++, "Network Interface collisions", network_stats->collisions);
129 >                        printf("\033[%d;2H%-30s : %ld ", line_number++, "Network Interface systime", (long) network_stats->systime);
130  
131                          /* Add a blank line between interfaces */      
132                          line_number++;
# Line 125 | Line 134 | int main(int argc, char **argv){
134                          /* Add up this interface to the total so we can display a "total" network io" */
135                          total_tx+=network_stats->tx;
136                          total_rx+=network_stats->rx;
137 +                        total_ipackets+=network_stats->ipackets;
138 +                        total_opackets+=network_stats->opackets;
139 +                        total_ierrors+=network_stats->ierrors;
140 +                        total_oerrors+=network_stats->oerrors;
141 +                        total_collisions+=network_stats->collisions;
142  
143                          /* Move the pointer onto the next interface. Since this returns a static buffer, we dont need
144                           * to keep track of the orginal pointer to free later */
145                          network_stats++;
146                  }
147  
148 <                printf("\033[%d;2H%-25s : %-10s", line_number++, "Network Interface Name", "Total Network IO");
148 >                printf("\033[%d;2H%-30s : %-10s", line_number++, "Network Interface Name", "Total Network IO");
149                  switch(units){
150                          case 'b':
151 <                                printf("\033[%d;2H%-25s : %8lld b", line_number++, "Network Total Rx", total_rx);
152 <                                printf("\033[%d;2H%-25s : %8lld b", line_number++, "Network Total Tx", total_tx);
151 >                                printf("\033[%d;2H%-30s : %8lld b", line_number++, "Network Total Rx", total_rx);
152 >                                printf("\033[%d;2H%-30s : %8lld b", line_number++, "Network Total Tx", total_tx);
153                                  break;
154                          case 'k':
155 <                                printf("\033[%d;2H%-25s : %5lld k", line_number++, "Network Total Rx", (total_rx / 1024));
156 <                                printf("\033[%d;2H%-25s : %5lld k", line_number++, "Network Total Tx", (total_tx / 1024));
155 >                                printf("\033[%d;2H%-30s : %5lld k", line_number++, "Network Total Rx", (total_rx / 1024));
156 >                                printf("\033[%d;2H%-30s : %5lld k", line_number++, "Network Total Tx", (total_tx / 1024));
157                                  break;
158                          case 'm':
159 <                                printf("\033[%d;2H%-25s : %5.2f m", line_number++, "Network Total Rx", (total_rx  / (1024.00*1024.00)));
160 <                                printf("\033[%d;2H%-25s : %5.2f m", line_number++, "Network Total Tx", (total_tx  / (1024.00*1024.00)));
159 >                                printf("\033[%d;2H%-30s : %5.2f m", line_number++, "Network Total Rx", (total_rx  / (1024.00*1024.00)));
160 >                                printf("\033[%d;2H%-30s : %5.2f m", line_number++, "Network Total Tx", (total_tx  / (1024.00*1024.00)));
161                                  break;
162                  }
163 +                printf("\033[%d;2H%-30s : %lld ", line_number++, "Network Total packets in", total_ipackets);
164 +                printf("\033[%d;2H%-30s : %lld ", line_number++, "Network Total packets out", total_opackets);
165 +                printf("\033[%d;2H%-30s : %lld ", line_number++, "Network Total errors in", total_ierrors);
166 +                printf("\033[%d;2H%-30s : %lld ", line_number++, "Network Total errors out", total_oerrors);
167 +                printf("\033[%d;2H%-30s : %lld ", line_number++, "Network Total collisions", total_collisions);
168  
169                  fflush(stdout);
170  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines