View | Details | Raw Unified | Return to bug 247437 | Differences between
and this patch

Collapse All | Expand All

(-)flow-rptfmt (-45 / +45 lines)
Lines 110-158 Link Here
110
  def _fmt_summary_detail(self):
110
  def _fmt_summary_detail(self):
111
111
112
    if self.got_totals:
112
    if self.got_totals:
113
      print "Ignores:                 %s" % self.field_vals['ignores']
113
      print("Ignores:                 %s" % self.field_vals['ignores'])
114
      print "Total Flows:             %s" % self.field_vals['flows']
114
      print("Total Flows:             %s" % self.field_vals['flows'])
115
      print "Total Octets:            %s" % self.field_vals['octets']
115
      print("Total Octets:            %s" % self.field_vals['octets'])
116
      print "Total Packets:           %s" % self.field_vals['packets']
116
      print("Total Packets:           %s" % self.field_vals['packets'])
117
      print "Total Duration (ms):     %s" % self.field_vals['duration']
117
      print("Total Duration (ms):     %s" % self.field_vals['duration'])
118
    print "Real Time:               %s" % self.field_vals['time_real']
118
    print("Real Time:               %s" % self.field_vals['time_real'])
119
    print "Average Flow Time:       %s" % self.field_vals['aflowtime']
119
    print("Average Flow Time:       %s" % self.field_vals['aflowtime'])
120
    print "Average Packets/Second:  %s" % self.field_vals['aps']
120
    print("Average Packets/Second:  %s" % self.field_vals['aps'])
121
    print "Average Flows/Second:    %s" % self.field_vals['afs']
121
    print("Average Flows/Second:    %s" % self.field_vals['afs'])
122
    print "Average Packets/Flow:    %s" % self.field_vals['apf']
122
    print("Average Packets/Flow:    %s" % self.field_vals['apf'])
123
    print "Flows/Second:            %s" % self.field_vals['fps']
123
    print("Flows/Second:            %s" % self.field_vals['fps'])
124
    print "Flows/Second (real):     %s" % self.field_vals['fps_real']
124
    print("Flows/Second (real):     %s" % self.field_vals['fps_real'])
125
125
126
    print "\nAverage IP packet size distribution:"
126
    print("\nAverage IP packet size distribution:")
127
    print "\n   1-32   64   96  128  160  192  224  256  288  320  352  384  416  448  480\n  ",
127
    print("\n   1-32   64   96  128  160  192  224  256  288  320  352  384  416  448  480\n  ",)
128
    for x in range(7,22):
128
    for x in range(7,22):
129
      print ("%-3.3f" % float(self.field_vals[x]))[1:],
129
      print ("%-3.3f" % float(self.field_vals[x]))[1:],
130
    print "\n\n    512  544  576 1024 1536 2048 2560 3072 3584 4096 4608\n  ",
130
    print("\n\n    512  544  576 1024 1536 2048 2560 3072 3584 4096 4608\n  ", end=" ")
131
    for x in range(22,33):
131
    for x in range(22,33):
132
      print ("%-3.3f" % float(self.field_vals[x]))[1:],
132
      print ("%-3.3f" % float(self.field_vals[x]))[1:],
133
133
134
    print "\n\nPackets per flow distribution:"
134
    print("\n\nPackets per flow distribution:")
135
    print "\n      1    2    4    8   12   16   20   24   28   32   36   40   44   48   52\n  ",
135
    print("\n      1    2    4    8   12   16   20   24   28   32   36   40   44   48   52\n  ", end=" ")
136
    for x in range(33,48):
136
    for x in range(33,48):
137
      print ("%-3.3f" % float(self.field_vals[x]))[1:],
137
      print ("%-3.3f" % float(self.field_vals[x]))[1:],
138
    print "\n\n     60  100  200  300  400  500  600  700  800  900 >900\n   ",
138
    print("\n\n     60  100  200  300  400  500  600  700  800  900 >900\n   ", end=" ")
139
    for x in range(48,59):
139
    for x in range(48,59):
140
      print ("%-3.3f" % float(self.field_vals[x]))[1:],
140
      print ("%-3.3f" % float(self.field_vals[x]))[1:],
141
141
142
    print "\n\nOctets per flow distribution:"
142
    print("\n\nOctets per flow distribution:")
143
    print "\n     32   64  128  256  512 1280 2048 2816 3584 4352 5120 5888 6656 7424 8192\n  ",
143
    print("\n     32   64  128  256  512 1280 2048 2816 3584 4352 5120 5888 6656 7424 8192\n  ", end=" ")
144
    for x in range(59,74):
144
    for x in range(59,74):
145
      print ("%-3.3f" % float(self.field_vals[x]))[1:],
145
      print ("%-3.3f" % float(self.field_vals[x]))[1:],
146
    print "\n\n   8960 9728 10496 11264 12032 12800 13568 14336 15104 15872 >15872\n  ",
146
    print("\n\n   8960 9728 10496 11264 12032 12800 13568 14336 15104 15872 >15872\n  ", end=" ")
147
    print ("%-3.3f" % float(self.field_vals[74]))[1:],
147
    print ("%-3.3f" % float(self.field_vals[74]))[1:],
148
    for x in range(75,85):
148
    for x in range(75,85):
149
      print ("%-3.3f " % float(self.field_vals[x]))[1:],
149
      print ("%-3.3f " % float(self.field_vals[x]))[1:],
150
150
151
    print "\n\nFlow Time Distribution (ms):"
151
    print("\n\nFlow Time Distribution (ms):")
152
    print "\n    10    50  100  200  500 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000\n  ",
152
    print("\n    10    50  100  200  500 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000\n  ", end=" ")
153
    for x in range(85,100):
153
    for x in range(85,100):
154
      print ("%-3.3f" % float(self.field_vals[x]))[1:],
154
      print ("%-3.3f" % float(self.field_vals[x]))[1:],
155
    print "\n\n  12000 14000 16000 18000 20000 22000 24000 26000 28000 30000 >30000\n  ",
155
    print("\n\n  12000 14000 16000 18000 20000 22000 24000 26000 28000 30000 >30000\n  ", end=" ")
156
    for x in range(100,111):
156
    for x in range(100,111):
157
      print ("%-3.3f " % float(self.field_vals[x]))[1:],
157
      print ("%-3.3f " % float(self.field_vals[x]))[1:],
158
    print
158
    print
Lines 172-178 Link Here
172
          if self.field_display[y]:
172
          if self.field_display[y]:
173
#            print "x=",x,"y=",y,"#"
173
#            print "x=",x,"y=",y,"#"
174
            i = self.field_avals[x][y]
174
            i = self.field_avals[x][y]
175
            print i.ljust(self.field_lens[y]),
175
            print(i.ljust(self.field_lens[y]), end=" ")
176
        if line:
176
        if line:
177
          line = line - 1
177
          line = line - 1
178
          if not line:
178
          if not line:
Lines 194-202 Link Here
194
    for i in self.header_info:
194
    for i in self.header_info:
195
      if i[0:7] == '# rec1:':
195
      if i[0:7] == '# rec1:':
196
        break
196
        break
197
      print i;
197
      print(i);
198
198
199
    print "# ", sys.argv
199
    print("# ", sys.argv)
200
200
201
    # summary-detail is a special format
201
    # summary-detail is a special format
202
    if self.display_summary_detail != 1:
202
    if self.display_summary_detail != 1:
Lines 204-216 Link Here
204
        if self.field_display[x]:
204
        if self.field_display[x]:
205
          i = self.field_names[x]
205
          i = self.field_names[x]
206
          l = self.field_lens[x] 
206
          l = self.field_lens[x] 
207
          print i.ljust(l),
207
          print(i.ljust(l), end=" ")
208
      print
208
      print
209
#
209
#
210
#
210
#
211
#
211
#
212
  def fmt_ascii_footer(self) :
212
  def fmt_ascii_footer(self) :
213
    print "\n",
213
    print ("\n", end=" ")
214
214
215
#
215
#
216
# HTML
216
# HTML
Lines 220-239 Link Here
220
 
220
 
221
    if self.display_header:
221
    if self.display_header:
222
222
223
      print '''<pre>''' 
223
      print('''<pre>''')
224
      for i in self.header_info:
224
      for i in self.header_info:
225
        if i[0:7] == '#rec1:':
225
        if i[0:7] == '#rec1:':
226
          break
226
          break
227
        print i
227
        print(i)
228
      print '''</pre>''' 
228
      print('''</pre>''')
229
229
230
    print "<table border cellspacing=0 cellpadding=5>"
230
    print("<table border cellspacing=0 cellpadding=5>")
231
    print "<tr>"
231
    print("<tr>")
232
    if self.display_summary_detail != 1:
232
    if self.display_summary_detail != 1:
233
      for x in xrange(self.field_total):
233
      for x in xrange(self.field_total):
234
        if self.field_display[x]:
234
        if self.field_display[x]:
235
          print " <th>", self.field_names[x], '''</th>'''
235
          print(" <th>", self.field_names[x], '''</th>''')
236
    print '''</tr>'''
236
    print('''</tr>''')
237
  
237
  
238
#
238
#
239
#
239
#
Lines 245-270 Link Here
245
      line = int(self.max_lines)
245
      line = int(self.max_lines)
246
      
246
      
247
      for x in self.field_iter:
247
      for x in self.field_iter:
248
        print "<tr>"
248
        print("<tr>")
249
        for y in xrange(self.field_total):
249
        for y in xrange(self.field_total):
250
          if self.field_display[y]:   
250
          if self.field_display[y]:   
251
            i = self.field_avals[x][y]
251
            i = self.field_avals[x][y]
252
            print "  <td>", i, '''</td>'''
252
            print("  <td>", i, '''</td>''')
253
        if line:
253
        if line:
254
          line = line - 1
254
          line = line - 1
255
          if not line:
255
          if not line:
256
            break
256
            break
257
        print '''</tr>'''
257
        print('''</tr>''')
258
258
259
    else:
259
    else:
260
      print '''<pre>''' 
260
      print('''<pre>''')
261
      self._fmt_summary_detail()
261
      self._fmt_summary_detail()
262
      print '''</pre>''' 
262
      print('''</pre>''') 
263
#
263
#
264
#
264
#
265
#
265
#
266
  def fmt_html_footer(self) :
266
  def fmt_html_footer(self) :
267
    print '''</table>'''
267
    print('''</table>''')
268
  
268
  
269
269
270
#
270
#
Lines 515-527 Link Here
515
  elif o == '-s':
515
  elif o == '-s':
516
    opt_sort_field = v
516
    opt_sort_field = v
517
  elif o == '-h':
517
  elif o == '-h':
518
    print "Usage: flow-rptfmt [-hHnp] [-a alarm] [-f format] [-F display_fields]"
518
    print("Usage: flow-rptfmt [-hHnp] [-a alarm] [-f format] [-F display_fields]")
519
    print "                   [-m max_lines] [-s sort_field]"
519
    print("                   [-m max_lines] [-s sort_field]")
520
    sys.exit(0)
520
    sys.exit(0)
521
521
522
522
523
def sig_alarm(sig, stack):
523
def sig_alarm(sig, stack):
524
  print "flow-rptfmt exceeded CPU time, consider running report offline."
524
  print("flow-rptfmt exceeded CPU time, consider running report offline.")
525
  sys.exit(0)
525
  sys.exit(0)
526
526
527
signal.signal(signal.SIGALRM, sig_alarm)
527
signal.signal(signal.SIGALRM, sig_alarm)
Lines 541-545 Link Here
541
  rpt.dump(opt_format, opt_display_header)
541
  rpt.dump(opt_format, opt_display_header)
542
except IOError:
542
except IOError:
543
  sys.exit(0)
543
  sys.exit(0)

Return to bug 247437