Asterisk - The Open Source Telephony Project  21.4.1
Data Structures | Macros | Functions | Variables
channels.c File Reference

Prometheus Channel Metrics. More...

#include "asterisk.h"
#include "asterisk/res_prometheus.h"
#include "asterisk/stasis_channels.h"
#include "asterisk/pbx.h"
#include "prometheus_internal.h"

Go to the source code of this file.

Data Structures

struct  channel_metric_defs
 

Macros

#define CHANNELS_DURATION_HELP   "Individual channel durations (in seconds)."
 
#define CHANNELS_STATE_HELP   "Individual channel states. 0=down; 1=reserved; 2=offhook; 3=dialing; 4=ring; 5=ringing; 6=up; 7=busy; 8=dialing_offhook; 9=prering."
 

Functions

int channel_metrics_init (void)
 Initialize channel metrics. More...
 
static void channel_metrics_unload_cb (void)
 
static void channels_scrape_cb (struct ast_str **response)
 
static void get_channel_duration (struct prometheus_metric *metric, struct ast_channel_snapshot *snapshot)
 
static void get_channel_state (struct prometheus_metric *metric, struct ast_channel_snapshot *snapshot)
 
static void get_current_call_count (struct prometheus_metric *metric)
 
static void get_total_call_count (struct prometheus_metric *metric)
 

Variables

struct channel_metric_defs channel_metric_defs []
 
struct prometheus_callback channels_callback
 
static struct prometheus_metric global_channel_metrics []
 
static struct prometheus_metrics_provider provider
 

Detailed Description

Prometheus Channel Metrics.

Author
Matt Jordan mjord.nosp@m.an@d.nosp@m.igium.nosp@m..com

Definition in file channels.c.

Function Documentation

int channel_metrics_init ( void  )

Initialize channel metrics.

Return values
0success
-1error

Definition at line 241 of file channels.c.

References prometheus_callback_register(), and prometheus_metrics_provider_register().

242 {
244  prometheus_callback_register(&channels_callback);
245 
246  return 0;
247 }
int prometheus_callback_register(struct prometheus_callback *callback)
void prometheus_metrics_provider_register(const struct prometheus_metrics_provider *provider)
Register a metrics provider.

Variable Documentation

struct prometheus_callback channels_callback
Initial value:
= {
.name = "Channels callback",
.callback_fn = channels_scrape_cb,
}

Definition at line 218 of file channels.c.

struct prometheus_metrics_provider provider
static
Initial value:
= {
.name = "channels",
.unload_cb = channel_metrics_unload_cb,
}

Definition at line 236 of file channels.c.