diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2005-11-06 19:23:18 +0100 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2005-11-06 19:23:18 +0100 | 
| commit | b7d3cc34f68dab7b8f7d0777711317b334fc2219 (patch) | |
| tree | 6aa4d6332c96654fda79fe18993ab0e35d36a52b /debug.c | |
Initial repository (0.99 release tree)0.99
Diffstat (limited to 'debug.c')
| -rw-r--r-- | debug.c | 60 | 
1 files changed, 60 insertions, 0 deletions
| diff --git a/debug.c b/debug.c new file mode 100644 index 00000000..12f1ea29 --- /dev/null +++ b/debug.c @@ -0,0 +1,60 @@ +  /********************************************************************\ +  * BitlBee -- An IRC to other IM-networks gateway                     * +  *                                                                    * +  * Copyright 2002-2004 Wilmer van der Gaast and others                * +  \********************************************************************/ + +/* Random debug stuff                                                  */ + +/* +  This program is free software; you can redistribute it and/or modify +  it under the terms of the GNU General Public License as published by +  the Free Software Foundation; either version 2 of the License, or +  (at your option) any later version. + +  This program is distributed in the hope that it will be useful, +  but WITHOUT ANY WARRANTY; without even the implied warranty of +  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +  GNU General Public License for more details. + +  You should have received a copy of the GNU General Public License with +  the Debian GNU/Linux distribution in /usr/share/common-licenses/GPL; +  if not, write to the Free Software Foundation, Inc., 59 Temple Place, +  Suite 330, Boston, MA  02111-1307  USA +*/ + +#define BITLBEE_CORE +#include "bitlbee.h" + +GHashTable *iocounter=NULL; +FILE *activity_output; + +static void for_each_node(gpointer key, gpointer value, gpointer user_data); + +void count_io_event(GIOChannel *source, char *section) { +	long int *newcounter; + +	if(iocounter==NULL) { +		iocounter=g_hash_table_new(NULL, NULL); +	} + +	if(g_hash_table_lookup(iocounter, section)==NULL) { +		newcounter=g_new0(long int, 1); +		g_hash_table_insert(iocounter, section, newcounter); +	} else { +		newcounter=g_hash_table_lookup(iocounter, section); +		(*newcounter)++;	 +	}	 	 +} + +void write_io_activity(void) { +	activity_output=fopen("ioactivity.log", "a"); +	fprintf(activity_output, "Amount of GIO events raised for each section of the code:\n"); +	g_hash_table_foreach(iocounter, &for_each_node, NULL); +	fprintf(activity_output, "End of list\n"); +	fclose(activity_output); +} + +static void for_each_node(gpointer key, gpointer value, gpointer user_data) { +	fprintf(activity_output, "%s %ld\n", (char *)key, (*(long int *)value)); +} | 
