MINOR: lua: dump general info
This patch adds function able to dump general haproxy information.
This commit is contained in:
parent
d0a56c2953
commit
eea77c0e17
@ -270,6 +270,19 @@ Core class
|
|||||||
:param string filename: the filename that reference the map entries.
|
:param string filename: the filename that reference the map entries.
|
||||||
:param string key: the key which will be deleted.
|
:param string key: the key which will be deleted.
|
||||||
|
|
||||||
|
.. js:function:: core.get_info()
|
||||||
|
|
||||||
|
**context**: body, init, task, action, sample-fetch, converter
|
||||||
|
|
||||||
|
Returns HAProxy core informations. We can found information like the uptime,
|
||||||
|
the pid, memory pool usage, tasks number, ...
|
||||||
|
|
||||||
|
These information are also returned by the management sockat via the command
|
||||||
|
"show info". See the management socket documentation fpor more information
|
||||||
|
about the content of these variables.
|
||||||
|
|
||||||
|
:returns: an array of values.
|
||||||
|
|
||||||
.. js:function:: core.now()
|
.. js:function:: core.now()
|
||||||
|
|
||||||
**context**: body, init, task, action
|
**context**: body, init, task, action
|
||||||
|
@ -28,6 +28,10 @@
|
|||||||
/* Contains the class reference of the concat object. */
|
/* Contains the class reference of the concat object. */
|
||||||
static int class_concat_ref;
|
static int class_concat_ref;
|
||||||
|
|
||||||
|
#define STATS_LEN (INF_TOTAL_FIELDS)
|
||||||
|
|
||||||
|
static struct field stats[STATS_LEN];
|
||||||
|
|
||||||
/* This function gets a struct field and convert it in Lua
|
/* This function gets a struct field and convert it in Lua
|
||||||
* variable. The variable is pushed at the top of the stak.
|
* variable. The variable is pushed at the top of the stak.
|
||||||
*/
|
*/
|
||||||
@ -293,6 +297,21 @@ static int hlua_asctime_date(lua_State *L)
|
|||||||
return hlua_parse_date(L, parse_asctime_date);
|
return hlua_parse_date(L, parse_asctime_date);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int hlua_get_info(lua_State *L)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
stats_fill_info(stats, STATS_LEN);
|
||||||
|
|
||||||
|
lua_newtable(L);
|
||||||
|
for (i=0; i<INF_TOTAL_FIELDS; i++) {
|
||||||
|
lua_pushstring(L, info_field_names[i]);
|
||||||
|
hlua_fcn_pushfield(L, &stats[i]);
|
||||||
|
lua_settable(L, -3);
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
static struct hlua_concat *hlua_check_concat(lua_State *L, int ud)
|
static struct hlua_concat *hlua_check_concat(lua_State *L, int ud)
|
||||||
{
|
{
|
||||||
return (struct hlua_concat *)(hlua_checkudata(L, ud, class_concat_ref));
|
return (struct hlua_concat *)(hlua_checkudata(L, ud, class_concat_ref));
|
||||||
@ -426,6 +445,7 @@ int hlua_fcn_reg_core_fcn(lua_State *L)
|
|||||||
hlua_class_function(L, "rfc850_date", hlua_rfc850_date);
|
hlua_class_function(L, "rfc850_date", hlua_rfc850_date);
|
||||||
hlua_class_function(L, "asctime_date", hlua_asctime_date);
|
hlua_class_function(L, "asctime_date", hlua_asctime_date);
|
||||||
hlua_class_function(L, "concat", hlua_concat_new);
|
hlua_class_function(L, "concat", hlua_concat_new);
|
||||||
|
hlua_class_function(L, "get_info", hlua_get_info);
|
||||||
|
|
||||||
return 5;
|
return 5;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user