MacOS needs a ${CACHEDIR}/cores/ for core dumps to work
[arla.git] / arlad / stats.h
blobfaad7bdfa788fc91b60f29ec57a1825bfc773a9b
1 /*
2 * Copyright (c) 2001 - 2002 Kungliga Tekniska Högskolan
3 * (Royal Institute of Technology, Stockholm, Sweden).
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
17 * 3. Neither the name of the Institute nor the names of its contributors
18 * may be used to endorse or promote products derived from this software
19 * without specific prior written permission.
21 * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
34 #ifndef ARLA_STATS_H
35 #define ARLA_STATS_H 1
38 /* Struct with collected statistics */
39 struct collect_stat{
40 int64_t starttime;
43 void
44 collectstats_init (void);
46 void
47 collectstats_start (struct collect_stat *p);
49 void
50 collectstats_stop (struct collect_stat *p,
51 FCacheEntry *entry,
52 ConnCacheEntry *conn,
53 long partition,
54 int measure_type, uint64_t measure_items);
56 int
57 collectstats_hostpart(uint32_t *host, uint32_t *part, int *n);
59 int
60 collectstats_getentry(uint32_t host, uint32_t part, uint32_t type,
61 uint32_t items_slot, uint32_t *count,
62 int64_t *items_total, int64_t *total_time);
64 void
65 stats_set_prefetch(uint64_t sz);
67 uint64_t
68 stats_prefetch(ConnCacheEntry *conn, uint32_t part);
70 uint64_t
71 stats_fetch_round(ConnCacheEntry *conn, uint32_t part, uint64_t size);
73 #endif /* ARLA_STATS_H */