X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fmain.c;h=02101ab8959a0a2b540dd6b6966403732224a784;hb=54da2f13bc20e4369757453575668339c8dfd9fd;hp=20bfb2b0bb9f9a27adc44a197e82b1a9880927be;hpb=224005e2f3362ed680003a3d028dd17afa13994a;p=idzebra-moved-to-github.git diff --git a/index/main.c b/index/main.c index 20bfb2b..02101ab 100644 --- a/index/main.c +++ b/index/main.c @@ -1,9 +1,26 @@ -/* - * Copyright (C) 1994-2002, Index Data - * All rights reserved. - * - * $Id: main.c,v 1.87 2002-04-23 18:07:17 adam Exp $ - */ +/* $Id: main.c,v 1.95 2002-08-29 08:47:08 adam Exp $ + Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 + Index Data Aps + +This file is part of the Zebra server. + +Zebra 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, or (at your option) any later +version. + +Zebra 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 +along with Zebra; see the file LICENSE.zebra. If not, write to the +Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. +*/ + + #include #include #include @@ -11,7 +28,9 @@ #include #else #include +#include #endif +#include #if HAVE_SYS_TIMES_H #include #endif @@ -32,6 +51,8 @@ int main (int argc, char **argv) size_t mem_max = 0; #if HAVE_SYS_TIMES_H struct tms tms1, tms2; + struct timeval start_time, end_time; + long usec; #endif #ifndef WIN32 char nbuf[100]; @@ -49,6 +70,7 @@ int main (int argc, char **argv) #endif #if HAVE_SYS_TIMES_H times(&tms1); + gettimeofday(&start_time, 0); #endif rGroupDef.groupName = NULL; @@ -97,16 +119,15 @@ int main (int argc, char **argv) { if (!zs) { -#if ZMBOL - logf (LOG_LOG, "Z'mbol version %s %s", - ZEBRAVER, ZEBRADATE); -#else + const char *config = configName ? configName : "zebra.cfg"; logf (LOG_LOG, "Zebra version %s %s", ZEBRAVER, ZEBRADATE); -#endif - zs = zebra_start (configName ? configName : "zebra.cfg"); + zs = zebra_start (config); if (!zs) + { + yaz_log (LOG_FATAL, "Cannot read config %s", config); exit (1); + } zh = zebra_open (zs); if (disableCommit) zebra_shadow_enable (zh, 0); @@ -146,7 +167,11 @@ int main (int argc, char **argv) } else if (!strcmp (arg, "stat") || !strcmp (arg, "status")) { - assert (!"todo"); + zebra_register_statistics (zh,0); + } + else if (!strcmp (arg, "dump") || !strcmp (arg, "dumpdict")) + { + zebra_register_statistics (zh,1); } else if (!strcmp (arg, "compact")) { @@ -187,11 +212,7 @@ int main (int argc, char **argv) } else if (ret == 'V') { -#if ZMBOL - fprintf (stderr, "Z'mbol %s %s\n", ZEBRAVER, ZEBRADATE); -#else fprintf (stderr, "Zebra %s %s\n", ZEBRAVER, ZEBRADATE); -#endif fprintf (stderr, " (C) 1994-2002, Index Data ApS\n"); #ifdef WIN32 #ifdef _DEBUG @@ -231,10 +252,14 @@ int main (int argc, char **argv) zebra_close (zh); zebra_stop (zs); #if HAVE_SYS_TIMES_H + gettimeofday(&end_time, 0); + usec = (end_time.tv_sec - start_time.tv_sec) * 1000000L + + end_time.tv_usec - start_time.tv_usec; times(&tms2); - yaz_log (LOG_LOG, "user/system: %ld/%ld", - (long) tms2.tms_utime - tms1.tms_utime, - (long) tms2.tms_stime - tms1.tms_stime); + yaz_log (LOG_LOG, "zebraidx times: %5.2f %5.2f %5.2f", + (double) usec / 1000000.0, + (double) (tms2.tms_utime - tms1.tms_utime)/100, + (double) (tms2.tms_stime - tms1.tms_stime)/100); #endif exit (0); return 0;