|
@@ -30,20 +30,26 @@ int start_prometheus_server(void){
|
|
|
return 1;
|
|
|
}
|
|
|
prom_collector_registry_default_init();
|
|
|
-
|
|
|
- const char *label[] = {"realm", "user"};
|
|
|
+
|
|
|
+ const char *label[] = {"realm", NULL};
|
|
|
+ size_t nlabels = 1;
|
|
|
+
|
|
|
+ if (turn_params.prometheus_username_labels) {
|
|
|
+ label[1] = "user";
|
|
|
+ nlabels++;
|
|
|
+ }
|
|
|
|
|
|
// Create traffic counter metrics
|
|
|
- turn_traffic_rcvp = prom_collector_registry_must_register_metric(prom_counter_new("turn_traffic_rcvp", "Represents finished sessions received packets", 2, label));
|
|
|
- turn_traffic_rcvb = prom_collector_registry_must_register_metric(prom_counter_new("turn_traffic_rcvb", "Represents finished sessions received bytes", 2, label));
|
|
|
- turn_traffic_sentp = prom_collector_registry_must_register_metric(prom_counter_new("turn_traffic_sentp", "Represents finished sessions sent packets", 2, label));
|
|
|
- turn_traffic_sentb = prom_collector_registry_must_register_metric(prom_counter_new("turn_traffic_sentb", "Represents finished sessions sent bytes", 2, label));
|
|
|
+ turn_traffic_rcvp = prom_collector_registry_must_register_metric(prom_counter_new("turn_traffic_rcvp", "Represents finished sessions received packets", nlabels, label));
|
|
|
+ turn_traffic_rcvb = prom_collector_registry_must_register_metric(prom_counter_new("turn_traffic_rcvb", "Represents finished sessions received bytes", nlabels, label));
|
|
|
+ turn_traffic_sentp = prom_collector_registry_must_register_metric(prom_counter_new("turn_traffic_sentp", "Represents finished sessions sent packets", nlabels, label));
|
|
|
+ turn_traffic_sentb = prom_collector_registry_must_register_metric(prom_counter_new("turn_traffic_sentb", "Represents finished sessions sent bytes", nlabels, label));
|
|
|
|
|
|
// Create finished sessions traffic for peers counter metrics
|
|
|
- turn_traffic_peer_rcvp = prom_collector_registry_must_register_metric(prom_counter_new("turn_traffic_peer_rcvp", "Represents finished sessions peer received packets", 2, label));
|
|
|
- turn_traffic_peer_rcvb = prom_collector_registry_must_register_metric(prom_counter_new("turn_traffic_peer_rcvb", "Represents finished sessions peer received bytes", 2, label));
|
|
|
- turn_traffic_peer_sentp = prom_collector_registry_must_register_metric(prom_counter_new("turn_traffic_peer_sentp", "Represents finished sessions peer sent packets", 2, label));
|
|
|
- turn_traffic_peer_sentb = prom_collector_registry_must_register_metric(prom_counter_new("turn_traffic_peer_sentb", "Represents finished sessions peer sent bytes", 2, label));
|
|
|
+ turn_traffic_peer_rcvp = prom_collector_registry_must_register_metric(prom_counter_new("turn_traffic_peer_rcvp", "Represents finished sessions peer received packets", nlabels, label));
|
|
|
+ turn_traffic_peer_rcvb = prom_collector_registry_must_register_metric(prom_counter_new("turn_traffic_peer_rcvb", "Represents finished sessions peer received bytes", nlabels, label));
|
|
|
+ turn_traffic_peer_sentp = prom_collector_registry_must_register_metric(prom_counter_new("turn_traffic_peer_sentp", "Represents finished sessions peer sent packets", nlabels, label));
|
|
|
+ turn_traffic_peer_sentb = prom_collector_registry_must_register_metric(prom_counter_new("turn_traffic_peer_sentb", "Represents finished sessions peer sent bytes", nlabels, label));
|
|
|
|
|
|
// Create total finished traffic counter metrics
|
|
|
turn_total_traffic_rcvp = prom_collector_registry_must_register_metric(prom_counter_new("turn_total_traffic_rcvp", "Represents total finished sessions received packets", 0, NULL));
|
|
@@ -70,7 +76,10 @@ int start_prometheus_server(void){
|
|
|
void prom_set_finished_traffic(const char* realm, const char* user, unsigned long rsvp, unsigned long rsvb, unsigned long sentp, unsigned long sentb, bool peer){
|
|
|
if (turn_params.prometheus == 1){
|
|
|
|
|
|
- const char *label[] = {realm, user};
|
|
|
+ const char *label[] = {realm, NULL};
|
|
|
+ if (turn_params.prometheus_username_labels){
|
|
|
+ label[1] = user;
|
|
|
+ }
|
|
|
|
|
|
if (peer){
|
|
|
prom_counter_add(turn_traffic_peer_rcvp, rsvp, label);
|