Merge from Monty
[m6w6/libmemcached] / libmemcached / analyze.h
1 /* LibMemcached
2 * Copyright (C) 2006-2009 Brian Aker
3 * All rights reserved.
4 *
5 * Use and distribution licensed under the BSD license. See
6 * the COPYING file in the parent directory for full text.
7 *
8 * Summary: Change the behavior of the memcached connection.
9 *
10 */
11
12 #ifndef __MEMCACHED_ANALYZE_H__
13 #define __MEMCACHED_ANALYZE_H__
14
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18
19
20 struct memcached_analysis_st {
21 struct {
22 bool allocated:1;
23 } options;
24 memcached_st *root;
25 uint32_t average_item_size;
26 uint32_t longest_uptime;
27 uint32_t least_free_server;
28 uint32_t most_consumed_server;
29 uint32_t oldest_server;
30 double pool_hit_ratio;
31 uint64_t most_used_bytes;
32 uint64_t least_remaining_bytes;
33 };
34
35
36 LIBMEMCACHED_API
37 memcached_analysis_st *memcached_analyze(memcached_st *memc,
38 memcached_stat_st *memc_stat,
39 memcached_return_t *error);
40
41 LIBMEMCACHED_API
42 void memcached_analyze_free(memcached_analysis_st *);
43
44 #ifdef __cplusplus
45 }
46 #endif
47
48 #endif /* __MEMCACHED_ANALYZE_H__ */