So bytes sent on the livebox interface suddenly goes down from 7400435 to 60403.

Either that's because libgtop reports strange numbers, or it's because
I'm messing up somehow.  To rule out libgtop I've written a program
that measures network load like bubblemon is doing, but this program
just prints the network load to stdout.

Build it like this (it should build without warnings):
gcc -Werror -Wall -Wextra $(pkg-config --cflags --libs libgtop-2.0) -g
-O0 netload.c -o netload

Run it like this:
./netload livebox > netload.out

Then start a bubblemon and wait for it to crash.

When bubblemon crashes, please send me a copy of your netload.out.

  //Johan

2009/1/2 Jean-Luc Coulon (f5ibh) <[email protected]>:
> Le 02.01.2009 11:35:06, Johan Walles a écrit :
>>Please try using the attached bubblemon.c instead of the one you have
>>currently and let me know how it works out.
>>
>>It should get the build through, and we'll hopefully get some debug
>>data from it next time it crashes.
>>
>>  Regards //Johan
>>
>
> It builds and it crashes.
> I got only a small bubblemon-crash-log.txt with
>
>
> This file contains debugging information for Bubblemon.  Please
> e-mail its contents to [email protected].
>
> More info available at: http://bugs.debian.org/470299
>
> This log file is a workaround for:
>  http://bugzilla.gnome.org/show_bug.cgi?id=565761
> --- Fri Jan  2 12:13:04 2009
> Interface: livebox, Bytes sent: 60403, Bytes received: 85065230
> interface->previousBytesOut: 7400435
> interface->currentBytesOut: 60403
> interface->maxBytesOutPerSecond: 25284
> interfaceCreated: 0
>
>
>
> Jean-Luc
>
/*
 * For http://bugs.debian.org/470299
 *
 * 25 times per second prints the number of bytes sent on a given
 * network interface.  Only prints things when there's network
 * traffic.  If the number of bytes sent moves backwards, it prints
 * "BACKWARDS".
 *
 * Build: gcc -Werror -Wall -Wextra $(pkg-config --cflags --libs libgtop-2.0) -g -O0 netload.c -o netload
 *
 * Run: netload <interface>
 */

#include <stdio.h>
#include <unistd.h>
#include <inttypes.h>

#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>

#include <glibtop/parameter.h>

#include <glibtop/netload.h>

int
main (int argc, char *argv [])
{
  glibtop_netload netload;
  char *interface = NULL;

  if (argc != 2)
    g_error ("Usage: %s interface", argv [0]);

  interface = argv[1];
  guint64 previous = 0;
  while (1) {
    char *backwards;

    glibtop_get_netload (&netload, interface);
    guint64 out = netload.bytes_out;

    if (out < previous) {
      backwards = " <== BACKWARDS!";
    } else {
      backwards = "";
    }

    if (out != previous) {
      // Something changed, print current status to stdout
      printf ("%s bytes out: %" PRIu64 "%s\n", interface, out, backwards);
      fflush(stdout);
    }
    previous = out;

    usleep(1000000 / 25);
  }

  glibtop_close ();

  exit (0);
}

Reply via email to