X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fstats.h;h=f2d064a6a39fc56fc0c6bea6ecc825e6765af566;hb=a60c98bb02391f995a03c3db5898e146ff2f6f3b;hp=4b7d48ca7d2763a9c28a24eb74a4e98da11a707b;hpb=0b0a30bb53359a9aff8afff1a45209c4be7b8881;p=awesomized%2Flibmemcached diff --git a/libmemcached/stats.h b/libmemcached/stats.h index 4b7d48ca..f2d064a6 100644 --- a/libmemcached/stats.h +++ b/libmemcached/stats.h @@ -1,51 +1,77 @@ -/* LibMemcached - * Copyright (C) 2006-2009 Brian Aker - * All rights reserved. +/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab: + * + * Libmemcached library * - * Use and distribution licensed under the BSD license. See - * the COPYING file in the parent directory for full text. + * Copyright (C) 2011 Data Differential, http://datadifferential.com/ + * Copyright (C) 2006-2009 Brian Aker All rights reserved. * - * Summary: Collect up the stats for a memcached server. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * + * * The names of its contributors may not be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ -#ifndef __MEMCACHED_STATS_H__ -#define __MEMCACHED_STATS_H__ - -#ifdef __cplusplus -extern "C" { -#endif +#pragma once struct memcached_stat_st { - uint32_t connection_structures; - uint32_t curr_connections; - uint32_t curr_items; - uint32_t pid; - uint32_t pointer_size; - uint32_t rusage_system_microseconds; - uint32_t rusage_system_seconds; - uint32_t rusage_user_microseconds; - uint32_t rusage_user_seconds; - uint32_t threads; - uint32_t time; - uint32_t total_connections; - uint32_t total_items; - uint32_t uptime; - uint64_t bytes; - uint64_t bytes_read; - uint64_t bytes_written; - uint64_t cmd_get; - uint64_t cmd_set; - uint64_t evictions; - uint64_t get_hits; - uint64_t get_misses; - uint64_t limit_maxbytes; + unsigned long connection_structures; + unsigned long curr_connections; + unsigned long curr_items; + pid_t pid; + unsigned long pointer_size; + unsigned long rusage_system_microseconds; + unsigned long rusage_system_seconds; + unsigned long rusage_user_microseconds; + unsigned long rusage_user_seconds; + unsigned long threads; + unsigned long time; + unsigned long total_connections; + unsigned long total_items; + unsigned long uptime; + unsigned long long bytes; + unsigned long long bytes_read; + unsigned long long bytes_written; + unsigned long long cmd_get; + unsigned long long cmd_set; + unsigned long long evictions; + unsigned long long get_hits; + unsigned long long get_misses; + unsigned long long limit_maxbytes; char version[MEMCACHED_VERSION_STRING_LENGTH]; + void *__future; // @todo create a new structure to place here for future usage memcached_st *root; }; +#ifdef __cplusplus +extern "C" { +#endif + LIBMEMCACHED_API -void memcached_stat_free(memcached_st *, memcached_stat_st *); +void memcached_stat_free(const memcached_st *, memcached_stat_st *); LIBMEMCACHED_API memcached_stat_st *memcached_stat(memcached_st *ptr, char *args, memcached_return_t *error); @@ -54,8 +80,17 @@ LIBMEMCACHED_API memcached_return_t memcached_stat_servername(memcached_stat_st *memc_stat, char *args, const char *hostname, in_port_t port); +LIBMEMCACHED_API +char *memcached_stat_get_value(const memcached_st *ptr, memcached_stat_st *memc_stat, + const char *key, memcached_return_t *error); + +LIBMEMCACHED_API +char ** memcached_stat_get_keys(memcached_st *ptr, memcached_stat_st *memc_stat, + memcached_return_t *error); + +LIBMEMCACHED_API +memcached_return_t memcached_stat_execute(memcached_st *memc, const char *args, memcached_stat_fn func, void *context); + #ifdef __cplusplus -} +} // extern "C" #endif - -#endif /* __MEMCACHED_STATS_H__ */