diff --git a/doc/lua-api/index.rst b/doc/lua-api/index.rst index 42c7fa65e..f75c6b3af 100644 --- a/doc/lua-api/index.rst +++ b/doc/lua-api/index.rst @@ -1097,6 +1097,24 @@ Proxy class proxy. :returns: a string "tcp", "http", "health" or "unknown" +.. js:function:: Proxy.get_srv_act(px) + + Returns the number of current active servers for the current proxy that are + eligible for LB. + + :param class_proxy px: A :ref:`proxy_class` which indicates the manipulated + proxy. + :returns: an integer + +.. js:function:: Proxy.get_srv_bck(px) + + Returns the number backup servers for the current proxy that are eligible + for LB. + + :param class_proxy px: A :ref:`proxy_class` which indicates the manipulated + proxy. + :returns: an integer + .. js:function:: Proxy.get_stats(px) Returns a table containing the proxy statistics. The statistics returned are diff --git a/src/hlua_fcn.c b/src/hlua_fcn.c index 3540cbdbb..2d86f2013 100644 --- a/src/hlua_fcn.c +++ b/src/hlua_fcn.c @@ -1808,6 +1808,24 @@ int hlua_proxy_shut_bcksess(lua_State *L) return 0; } +int hlua_proxy_get_srv_act(lua_State *L) +{ + struct proxy *px; + + px = hlua_check_proxy(L, 1); + lua_pushinteger(L, px->srv_act); + return 1; +} + +int hlua_proxy_get_srv_bck(lua_State *L) +{ + struct proxy *px; + + px = hlua_check_proxy(L, 1); + lua_pushinteger(L, px->srv_bck); + return 1; +} + int hlua_fcn_new_proxy(lua_State *L, struct proxy *px) { struct listener *lst; @@ -1832,6 +1850,8 @@ int hlua_fcn_new_proxy(lua_State *L, struct proxy *px) hlua_class_function(L, "shut_bcksess", hlua_proxy_shut_bcksess); hlua_class_function(L, "get_cap", hlua_proxy_get_cap); hlua_class_function(L, "get_mode", hlua_proxy_get_mode); + hlua_class_function(L, "get_srv_act", hlua_proxy_get_srv_act); + hlua_class_function(L, "get_srv_bck", hlua_proxy_get_srv_bck); hlua_class_function(L, "get_stats", hlua_proxy_get_stats); /* Browse and register servers. */