Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
when section above or below is collapsed
|
|
|
|
|
|
Fixes: #53
Signed-off-by: Thomas Graf <tgraf@suug.ch>
|
|
Signed-off-by: Thomas Graf <tgraf@suug.ch>
|
|
The <values.h> header file is not present on Android, and the project
builds there without it.
|
|
In put_line(), replace the fixed onstack buffer with a xcalloc-ed buffer.
This fixes a bmon crash with terminal size larger than 2048 bytes. The crash
be reproduced with
$ stty cols 2100
$ bmon ....
Signed-off-by: Nachiketa Prachanda <nchkta@gmail.com>
|
|
Signed-off-by: Thomas Graf <tgraf@suug.ch>
|
|
Hook up the device rx nohandler stat counter available in the upcoming
libnl 3.2.29, added in libnl commit 5040fc8a4994 ("lib/route: add
rx_nohandler link stats field").
Also add a compatibility define, so older libnl version will still work
fine.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Added CentOS installation steps
|
|
Works on my CentOS 6.8 box
|
|
Use a monotonic clock instead of a realtime clock
|
|
Using a realtime clock is a bad idea: it is affected by any kind of time
change, which can happen when the administrator modifies the system time,
or more simply when a laptop suspends to RAM and then wakes up from sleep.
With the current approach of using a realtime clock:
- if the system time jumps forward (e.g. when resuming after a
suspend-to-RAM), bmon would take 100% CPU and display random graph data
extremely fast, until it "catches up" with the new time.
- if the system time jumps backwards, bmon would freeze until *time*
"catches up" to the point it was before. bmon then (incorrectly)
displays a spike in the graph, because lots of packets have been
sent/received since the last update.
Instead of using gettimeofday(), switch to clock_gettime() with
CLOCK_MONOTONIC on systems that support it. OS X does not provide
clock_gettime(), so this commit also adds a Mach-specific implementation.
This change has been tested on Linux 4.1 with glibc and musl, and on
FreeBSD 10.0-RELEASE-p12.
|
|
Flushed stdout after every group is printed in an iteration.
|
|
to redirect ascii based output to a file.
|
|
Added example to man page, switched format strings to single quotes.
|
|
this is less pretty than it was before, it allows the user to actually paste the format string directly into their bmon command to try it out. Before this change, the way the string was formatted you could not simply paste it in and run it (whether it had single or double quotes).
|
|
from running our provided format placeholders.
|
|
clear, it is nice to see an example to get started. Single quotes are used to prevent the shell from running our bmon patterns as commands, and to prevent it from doing wildcard expansion for the interface string.
|
|
Fix issue #43
|
|
* Remove newline from put_line formatstring while drawing details.
|
|
If the element currently selected is removed due to inactivity, the
selection is fixed up to the previous element in the list. This step
must be done after the entire element subgroup has been removed.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
|
|
Signed-off-by: Thomas Graf <tgraf@suug.ch>
|
|
Signed-off-by: Thomas Graf <tgraf@suug.ch>
|
|
So far, any output module with a selection capability defaulted to
the first interface in the list as first pick. This uses the policy
configuration instead and thus allows to select which interface to
display first:
Examples:
bmon -p 'em1,*'
bmon -p 'eth*,lo,*'
The first rule that finds a matching interface is used and will
trigger initial selection.
Note that this is *ONLY* evaluated after the first read of the
statistics so if a more preferred interface appears later, the
selection will not be changed.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
|
|
Signed-off-by: Thomas Graf <tgraf@suug.ch>
|
|
|
|
* add layout.h in include/Makefile.am
|
|
This commit enables colors in bmon. It adds configuration options to
let the user decide, which colors should be used. Therefor the graph_rx and graph_tx
layouts are introduced and applied respectively.
* Add graph_rx, graph_tx and layout_cfg fields.
* Setting default colors if colorized output is enabled.
* draw_table accept additional layout parameter and apply the given layout for
the table graph.
* Apply layouts for rx, tx graph and header and statusbar.
* Add include/layout.h, which provides functions to parse, color and attribute
strings and set the layout.
* Adding a default layout-config example in examples/bmon.conf.
[Edit: Based on original work by eri!, #PR23]
|
|
format: Add missing braces around 'if' clause
|
|
When compiling bmon with gcc 6.1 it complains with the following
warning:
out_format.c: In function ‘get_token’:
out_format.c:134:10: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
} else if (!strncasecmp(token+5, "txrate:", 7))
^~
out_format.c:136:4: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
return buf;
^~~~~~
Indeed, the 'return buf' should only be executed if it was snprintf()'ed
to. Otherwise "unknown" should be returned. Fix this by adding braces.
Also use the 'type' variable in strncasecmp() as in the other checks.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Add OSX install instructions
|
|
I'm not sure if this is universal, but this worked for installing on El
Capitan here.
|
|
Update Readme to include additional dependencies
|
|
pkg-config and dh-autoreconf are required packages for proper configuration
|
|
Suggested-by: @Berzerker
Signed-off-by: Thomas Graf <tgraf@suug.ch>
|
|
NetBSD fixes (from pkgsrc)
|
|
Some of the BSDs have 32-bit, some 64-bit vars for this.
|
|
|
|
Signed-off-by: Thomas Graf <tgraf@suug.ch>
|
|
Press 'r' in curses mode to reset a statistic counter to
start counting from 0 again. This does NOT reset the
counter from the source itself but merely emulates a
counter reset. If you restart bmon, the counter will be
back to its total value.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
|
|
Fix TravisCI script
|
|
|
|
|
|
Signed-off-by: Thomas Graf <tgraf@suug.ch>
|
|
This would indicate that we hang a TC object to the tree root.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
|
|
The qdisc cache is host wide, the parent classid is not unique
so the ifindex of the parent tc object must be set in the filter
otherwise a leaf qdisc with an identical parent id in another
device can be mistaken.
This also converts the class_cache to be passed up through the
stack to make clear it is not system wide but specific to the
ifindex we are currently handling.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
|