Source
xxxxxxxxxx
int zbx_vmware_service_get_counterid(const zbx_vmware_service_t *service, const char *path, zbx_uint64_t *counterid,
/*
** Copyright (C) 2001-2025 Zabbix SIA
**
** This program is free software: you can redistribute it and/or modify it under the terms of
** the GNU Affero General Public License as published by the Free Software Foundation, version 3.
**
** This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
** without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
** See the GNU Affero General Public License for more details.
**
** You should have received a copy of the GNU Affero General Public License along with this program.
** If not, see <https://www.gnu.org/licenses/>.
**/
/* vmware service state */
typedef struct
{
char *name;
zbx_uint64_t value;
}
zbx_str_uint64_pair_t;
ZBX_PTR_VECTOR_DECL(str_uint64_pair, zbx_str_uint64_pair_t)
int zbx_str_uint64_pair_name_compare(const void *p1, const void *p2);
/* performance counter data */
typedef struct
{
/* the counter id */
zbx_uint64_t counterid;
/* the counter values for various instances */
/* pair->name - instance */
/* pair->value - value */
zbx_vector_str_uint64_pair_t values;
/* vmware performance counter state */
unsigned char state;
/* time of last attempt of poller to use data */
time_t last_used;
/* alternate query instance (for the case when 'entity' query is TOTAL) */
char *query_instance;
}
zbx_vmware_perf_counter_t;
ZBX_PTR_VECTOR_DECL(vmware_perf_counter_ptr, zbx_vmware_perf_counter_t *)
/* entity monitored with performance counters */
typedef struct
{
/* entity type: HostSystem or VirtualMachine */
char *type;
/* entity id */
char *id;
/* performance counter refresh rate */
int refresh;
/* timestamp when the entity was queried last time */
time_t last_seen;
/* the performance counters to monitor */
zbx_vector_vmware_perf_counter_ptr_t counters;