X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fmain.c;h=bedca40b5297bf2fcaccb4a3ba074b7d00335110;hb=c63292356fbdef7b575efbf027ba8574482b0320;hp=712a2fa02b2778d8021cbcfd3cfdb5385aaf6a2a;hpb=81a75ae20b5b250309a70de51bfdf8de0019f882;p=idzebra-moved-to-github.git diff --git a/index/main.c b/index/main.c index 712a2fa..bedca40 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.85 2002-04-05 08:46:26 adam Exp $ - */ +/* $Id: main.c,v 1.94 2002-08-05 14:08: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,6 +28,11 @@ #include #else #include +#include +#endif +#include +#if HAVE_SYS_TIMES_H +#include #endif #include @@ -27,6 +49,11 @@ int main (int argc, char **argv) int nsections = 0; int disableCommit = 0; 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]; #endif @@ -41,6 +68,10 @@ int main (int argc, char **argv) sprintf(nbuf, "%.40s(%d)", *argv, getpid()); yaz_log_init_prefix (nbuf); #endif +#if HAVE_SYS_TIMES_H + times(&tms1); + gettimeofday(&start_time, 0); +#endif rGroupDef.groupName = NULL; rGroupDef.databaseName = NULL; @@ -88,17 +119,14 @@ int main (int argc, char **argv) { if (!zs) { -#if ZMBOL - logf (LOG_LOG, "Z'mbol version %s %s", - ZEBRAVER, ZEBRADATE); -#else logf (LOG_LOG, "Zebra version %s %s", ZEBRAVER, ZEBRADATE); -#endif zs = zebra_start (configName ? configName : "zebra.cfg"); if (!zs) exit (1); zh = zebra_open (zs); + if (disableCommit) + zebra_shadow_enable (zh, 0); } if (rGroupDef.databaseName) { @@ -135,7 +163,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")) { @@ -176,11 +208,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 @@ -219,6 +247,16 @@ 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, "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; }