open5gs/src/smf/metrics.h

71 lines
2.6 KiB
C

#ifndef SMF_METRICS_H
#define SMF_METRICS_H
#include "ogs-metrics.h"
#ifdef __cplusplus
extern "C" {
#endif
/* GLOBAL */
typedef enum smf_metric_type_global_s {
SMF_METR_GLOB_CTR_GN_RX_PARSE_FAILED = 0,
SMF_METR_GLOB_CTR_GN_RX_CREATEPDPCTXREQ,
SMF_METR_GLOB_CTR_GN_RX_DELETEPDPCTXREQ,
SMF_METR_GLOB_CTR_S5C_RX_PARSE_FAILED,
SMF_METR_GLOB_CTR_S5C_RX_CREATESESSIONREQ,
SMF_METR_GLOB_CTR_S5C_RX_DELETESESSIONREQ,
SMF_METR_GLOB_GAUGE_UES_ACTIVE,
SMF_METR_GLOB_GAUGE_SESSIONS_ACTIVE,
SMF_METR_GLOB_GAUGE_BEARERS_ACTIVE,
SMF_METR_GLOB_GAUGE_GTP1_PDPCTXS_ACTIVE,
SMF_METR_GLOB_GAUGE_GTP2_SESSIONS_ACTIVE,
SMF_METR_GLOB_GAUGE_GTP_PEERS_ACTIVE,
_SMF_METR_GLOB_MAX,
} smf_metric_type_global_t;
extern ogs_metrics_inst_t *smf_metrics_inst_global[_SMF_METR_GLOB_MAX];
static inline void smf_metrics_inst_global_set(smf_metric_type_global_t t, int val)
{ ogs_metrics_inst_set(smf_metrics_inst_global[t], val); }
static inline void smf_metrics_inst_global_add(smf_metric_type_global_t t, int val)
{ ogs_metrics_inst_add(smf_metrics_inst_global[t], val); }
static inline void smf_metrics_inst_global_inc(smf_metric_type_global_t t)
{ ogs_metrics_inst_inc(smf_metrics_inst_global[t]); }
static inline void smf_metrics_inst_global_dec(smf_metric_type_global_t t)
{ ogs_metrics_inst_dec(smf_metrics_inst_global[t]); }
/* GTP NODE */
typedef enum smf_metric_type_gtp_node_s {
SMF_METR_GTP_NODE_CTR_GN_RX_PARSE_FAILED = 0,
SMF_METR_GTP_NODE_CTR_GN_RX_CREATEPDPCTXREQ,
SMF_METR_GTP_NODE_CTR_GN_RX_DELETEPDPCTXREQ,
SMF_METR_GTP_NODE_CTR_S5C_RX_PARSE_FAILED,
SMF_METR_GTP_NODE_CTR_S5C_RX_CREATESESSIONREQ,
SMF_METR_GTP_NODE_CTR_S5C_RX_DELETESESSIONREQ,
_SMF_METR_GTP_NODE_MAX,
} smf_metric_type_gtp_node_t;
int smf_metrics_init_inst_gtp_node(ogs_metrics_inst_t **inst, const char *addr);
int smf_metrics_free_inst_gtp_node(ogs_metrics_inst_t **inst);
static inline void smf_metrics_inst_gtp_node_set(
ogs_metrics_inst_t **inst, smf_metric_type_gtp_node_t t, int val)
{ ogs_metrics_inst_set(inst[t], val); }
static inline void smf_metrics_inst_gtp_node_add(
ogs_metrics_inst_t **inst, smf_metric_type_gtp_node_t t, int val)
{ ogs_metrics_inst_add(inst[t], val); }
static inline void smf_metrics_inst_gtp_node_inc(
ogs_metrics_inst_t **inst, smf_metric_type_gtp_node_t t)
{ ogs_metrics_inst_inc(inst[t]); }
static inline void smf_metrics_inst_gtp_node_dec(
ogs_metrics_inst_t **inst, smf_metric_type_gtp_node_t t)
{ ogs_metrics_inst_dec(inst[t]); }
int smf_metrics_open(void);
int smf_metrics_close(void);
#ifdef __cplusplus
}
#endif
#endif /* SMF_METRICS_H */