int zbx_get_value_internal_ext_server(const zbx_dc_item_t *item, const char *param1, const AGENT_REQUEST *request,
#include "poller_server.h"
#include "../lld/lld_protocol.h"
#include "zbxcachevalue.h"
#include "zbxcacheconfig.h"
#include "zbxconnector.h"
#include "zbxproxybuffer.h"
#include "zbxpgservice.h"
#include "zbx_host_constants.h"
static int get_proxy_group_stat(const zbx_pg_stats_t *stats, const char *option, AGENT_RESULT *result)
if (0 == strcmp(option, "state"))
SET_UI64_RESULT(result, stats->status);
if (0 == strcmp(option, "available"))
SET_UI64_RESULT(result, stats->proxy_online_num);
if (0 == strcmp(option, "pavailable"))
if (0 != stats->proxyids.values_num)
perc = (double)stats->proxy_online_num / stats->proxyids.values_num * 100;
SET_DBL_RESULT(result, perc);
if (0 == strcmp(option, "proxies"))
char *out = NULL, *error = NULL;
if (FAIL == zbx_proxy_proxy_list_discovery_get(&stats->proxyids, &out, &error))
SET_MSG_RESULT(result, error);