1 #ifndef STAT_H 2 #define STAT_H 3 /* $OpenBSD: stats.h,v 1.6 2010/07/19 19:46:44 espie Exp $ */ 4 5 /* 6 * Copyright (c) 1999 Marc Espie. 7 * 8 * Code written for the OpenBSD project. 9 * 10 * Redistribution and use in source and binary forms, with or without 11 * modification, are permitted provided that the following conditions 12 * are met: 13 * 1. Redistributions of source code must retain the above copyright 14 * notice, this list of conditions and the following disclaimer. 15 * 2. Redistributions in binary form must reproduce the above copyright 16 * notice, this list of conditions and the following disclaimer in the 17 * documentation and/or other materials provided with the distribution. 18 * 19 * THIS SOFTWARE IS PROVIDED BY THE OPENBSD PROJECT AND CONTRIBUTORS 20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBSD 23 * PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 */ 31 32 /* statistical information gathering */ 33 34 #if defined(STATS_VAR_LOOKUP) || \ 35 defined(STATS_GN_CREATION) || \ 36 defined(STATS_BUF) || \ 37 defined(STATS_HASH) || \ 38 defined(STATS_GROW) || \ 39 defined(STATS_SUFF) 40 #define HAS_STATS 41 #endif 42 43 #ifdef HAS_STATS 44 extern void Init_Stats(void); 45 46 extern unsigned long *statarray; 47 #define STAT_INVOCATIONS statarray[0] 48 #define STAT_VAR_SEARCHES statarray[1] 49 #define STAT_VAR_COUNT statarray[2] 50 #define STAT_VAR_MAXCOUNT statarray[3] 51 #define STAT_GN_COUNT statarray[4] 52 #define STAT_TOTAL_BUFS statarray[5] 53 #define STAT_DEFAULT_BUFS statarray[6] 54 #define STAT_WEIRD_BUFS statarray[7] 55 #define STAT_BUFS_EXPANSION statarray[8] 56 #define STAT_WEIRD_INEFFICIENT statarray[9] 57 #define STAT_VAR_HASH_CREATION statarray[10] 58 #define STAT_VAR_FROM_ENV statarray[11] 59 #define STAT_VAR_CREATION statarray[12] 60 #define STAT_VAR_FIND statarray[13] 61 #define STAT_HASH_CREATION statarray[14] 62 #define STAT_HASH_ENTRIES statarray[15] 63 #define STAT_HASH_EXPAND statarray[16] 64 #define STAT_HASH_LOOKUP statarray[17] 65 #define STAT_HASH_LENGTH statarray[18] 66 #define STAT_HASH_SIZE statarray[19] 67 #define STAT_HASH_POSITIVE statarray[20] 68 #define STAT_USER_SECONDS statarray[21] 69 #define STAT_USER_MS statarray[22] 70 #define STAT_SYS_SECONDS statarray[23] 71 #define STAT_SYS_MS statarray[24] 72 #define STAT_VAR_HASH_MAXSIZE statarray[25] 73 #define STAT_VAR_GHASH_MAXSIZE statarray[26] 74 #define STAT_VAR_POWER statarray[27] 75 #define STAT_GROWARRAY statarray[28] 76 #define STAT_SUFF_LOOKUP_NAME statarray[29] 77 #define STAT_TRANSFORM_LOOKUP_NAME statarray[30] 78 79 #define STAT_NUMBER 32 80 81 #else 82 #define Init_Stats() 83 #endif 84 85 #endif 86