MEMCACHED_STAT_GET_VALUE(3)
π MEMCACHED_STAT_GET_VALUE π
okay bestie, welcome to libmemcached-awesome's little corner of the manual, page MEMCACHED_STAT_GET_VALUE(3) β this one is all about peeking at what your memcached servers are up to, and it's giving very demure, very stats. grab a strawberry π and let's get into it.
β¨ NAME β¨
memcached_stat_get_value β libmemcached Documentation
Get memcached statistics. yes that's the whole vibe. π
β¨ 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)
So this callback type, memcached_stat_fn, takes these:
- 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, bestie:
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 β¨
libmemcached has the ability to query a memcached(1) server (or, like, a whole collection of servers, the more the merrier π¦) for their current state. Queries to find state return a memcached_stat_st structure. and guess what β you are responsible for freeing this structure. not us. you. π
While it is possible to access the structure directly, it is not advisable β lowkey don't do it. memcached_stat_get_value() has been provided to query the structure instead. use the nice function, bestie.
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. it's giving β¨event-drivenβ¨.
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. And heads up: 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. no UDP stats for you, sorry not sorry π
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 β and psst, a list of these is not provided for by either the memcached_stat_get_keys() call nor are they defined in the memcached protocol, so you're kinda on your own there π. 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. periodt.
memcached_stat_get_keys() returns a list of keys that the server has state objects on. and yep β you are responsible for freeing this list. again. π«
A command line tool, memstat, is provided so that you do not have to write an application to do this. iconic behavior honestly π
β¨ RETURN VALUE β¨
Varies, see particular functions. very "it depends" of them, ngl.
Any method returning a memcached_stat_st expects you to free the memory allocated for it. we said it once and we'll say it again π
β¨ SEE ALSO β¨
memcached(1) libmemcached(3) memcached_strerror(3)
and that's the whole page, bestie π go stat something cute. this was libmemcached-awesome, version 1.1, dated Jul 24, 2025 β mwah, take care of yourself and free your memory πβ¨π¦
π¦ 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