MEMCACHED_STAT(3)
π MEMCACHED_STAT π
okay bestie, welcome to memcached_stat, straight out of libmemcached-awesome</> β this is the libmemcached documentation, and babes, it's all about getting memcached statistics. yes. we're snooping on your servers' vibes. π¦
β¨ SYNOPSIS β¨
#include <libmemcached/memcached.h>
Compile and link with -lmemcached π«Ά
typedef struct memcached_stat_st memcached_stat_st
typedef memcached_return_t (*memcached_stat_fn)(const memcached_instance_st *server, const char *key, size_t key_length, const char *value, size_t value_length, void *context)
- Param
serverβ pointer to thememcached_instance_stbeing stat'ed π - Param
keyβ the current key π - Param
key_lengthβ the length of the key without any terminating zero - Param
valueβ the value read - Param
value_lengthβ the length of the value without any terminating zero - Param
contextβ pointer to the user supplied context - Returns β
memcached_return_tindicating success β¨
memcached_stat_st *memcached_stat(memcached_st *ptr, char *args, memcached_return_t *error)
Parameters
ptr-- pointer to an initializedmemcached_ststructargs-- particular state object to queryerror-- pointer tomemcached_return_tindicating success
Returns
array of memcached_stat_st objects for all available servers π
memcached_return_t memcached_stat_servername(memcached_stat_st *stat, char *args, const char *hostname, in_port_t port)
Parameters
stat-- pointer to amemcached_stat_ststruct to fillargs-- particular state object to queryhostname-- the hostname or IP address of the server to statport-- the port of the server to stat
Returns
memcached_return_t indicating success β¨
char *memcached_stat_get_value(memcached_st *ptr, memcached_stat_st *stat, const char *key, memcached_return_t *error)
Parameters
ptr-- pointer to initializedmemcached_ststructstat-- pointer to initializedmemcached_stat_ststructkey-- the statistic to queryerror-- pointer tomemcached_return_tindicating success
Returns
string value of the statistic πΈ
char **memcached_stat_get_keys(memcached_st *ptr, memcached_stat_st *stat, memcached_return_t *error)
Parameters
ptr-- pointer to initializedmemcached_ststructstat-- pointer to initializedmemcached_stat_ststructerror-- pointer tomemcached_return_tindicating success
Returns
array of default keys probably available in the statistics π
memcached_return_t memcached_stat_execute(memcached_st *ptr, const char *args, memcached_stat_fn func, void *context)
Parameters
ptr-- pointer to initializedmemcached_ststructargs-- particular state object to queryfunc--memcached_stat_fncallbackcontext-- pointer to user supplied context
Returns
memcached_return_t indication success
π DESCRIPTION π
so libmemcached has the ability to query a memcached(1) server (or, like, a whole collection of servers, bestie, the more the merrier) for their current state. Queries to find state return a memcached_stat_st structure. You are responsible for freeing this structure. and no, you can't skip that part. π While it is possible to access the structure directly it is not advisable. memcached_stat_get_value() has been provided to query the structure instead β use the gift, babe. π«Ά
memcached_stat_execute() uses the servers found in memcached_stat_st and executes a "stat" command on each server. args is an optional argument that can be passed in to modify the behavior of "stats". You will need to supply a callback function that will be supplied each pair of values returned by the memcached server. π¦
memcached_stat() fetches an array of memcached_stat_st structures containing the state of all available memcached servers. The return value must be freed by the calling application. If called with the MEMCACHED_BEHAVIOR_USE_UDP behavior set, a NULL value is returned and the error parameter is set to MEMCACHED_NOT_SUPPORTED. π
memcached_stat_servername() can be used standalone without a memcached_st to obtain the state of a particular server. "args" is used to define a particular state object (a list of these are not provided for by either the memcached_stat_get_keys() call nor are they defined in the memcached protocol, iykyk). You must specify the hostname and port of the server you want to obtain information on. π
memcached_stat_get_value() returns the value of a particular state key. You specify the key you wish to obtain. The key must be null terminated. β
memcached_stat_get_keys() returns a list of keys that the server has state objects on. You are responsible for freeing this list. yes, again. free it. π§
A command line tool, memstat, is provided so that you do not have to write an application to do this. iconic of them honestly. π
π RETURN VALUE π
Varies, see particular functions. (so mysterious, so main character β¨)
Any method returning a memcached_stat_st expects you to free the memory allocated for it. π«Ά
bestie, I'm saying it one more time: free the memory. the manpage says it like four times. that's not a vibe, that's a warning. π
πΈ SEE ALSO πΈ
and that's the whole page, babe!! this was libmemcached-awesome version 1.1, dated Jul 24, 2025 β go forth, stat your servers, free your structs, and slay π β¨ππ¦
π¦ where this page comes from
- fedora 43: libmemcached-awesome-devel 1.1.4-7.fc43 Β· BSD-3-Clause
- fedora 43: libmemcached-awesome-devel 1.1.4-7.fc43 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms