about summary refs log tree commit diff
path: root/src/engine/server
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2007-12-16 16:14:05 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2007-12-16 16:14:05 +0000
commitca3ce81daf15113deddf7fa5ce904db11f2433ed (patch)
treee5ccbf1287de63174bed0c862f51118e7e9f9a50 /src/engine/server
parent66ef2cd08fe275af81125a1d04bc2f8e9c0b4ac2 (diff)
downloadzcatch-ca3ce81daf15113deddf7fa5ce904db11f2433ed.tar.gz
zcatch-ca3ce81daf15113deddf7fa5ce904db11f2433ed.zip
added even more debugging info
Diffstat (limited to 'src/engine/server')
-rw-r--r--src/engine/server/es_server.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/engine/server/es_server.c b/src/engine/server/es_server.c
index c8bdebc0..161bd3dc 100644
--- a/src/engine/server/es_server.c
+++ b/src/engine/server/es_server.c
@@ -346,9 +346,39 @@ static void server_do_snap()
 			/* create delta */
 			{
 				static PERFORMACE_INFO scope = {"delta", 0};
+				static int temp = 0;
 				perf_start(&scope);
 				deltasize = snapshot_create_delta(deltashot, (SNAPSHOT*)data, deltadata);
 				perf_end();
+				
+				temp++;
+				
+				if(scope.last_delta > time_freq()/50 || (temp%1000) == 0)
+				{
+					static int id = 0;
+					char buf[64];
+					IOHANDLE f;
+					id++;
+					
+					dbg_msg("server", "took very long time to create delta, saving info");
+					
+					sprintf(buf, "%d_from.raw", id);
+					f = io_open(buf, IOFLAG_WRITE);
+					if(f)
+					{
+						io_write(f, deltashot, deltashot_size);
+						io_close(f);
+					}
+
+					sprintf(buf, "%d_to.raw", id);
+					f = io_open(buf, IOFLAG_WRITE);
+					if(f)
+					{
+						io_write(f, data, snapshot_size);
+						io_close(f);
+					}
+
+				}
 			}