Skip to content
This repository has been archived by the owner on Aug 16, 2023. It is now read-only.

Commit

Permalink
removed needless unwrap
Browse files Browse the repository at this point in the history
  • Loading branch information
khodzha committed Dec 10, 2020
1 parent fb554a1 commit 7ef6fb3
Showing 1 changed file with 65 additions and 56 deletions.
121 changes: 65 additions & 56 deletions src/app/metrics/collector.rs
Original file line number Diff line number Diff line change
Expand Up @@ -182,71 +182,80 @@ fn append_janus_stats(
) -> anyhow::Result<()> {
use crate::db::agent;
use anyhow::Context;
let conn = context.get_conn().unwrap();
match context.get_conn() {
Err(e) => {
error!(
crate::LOG,
"Collector failed to acquire connection, reason = {:?}", e
);
Ok(())
}
Ok(conn) => {
let tags = Tags::build_internal_tags(crate::APP_VERSION, context.agent_id());

let tags = Tags::build_internal_tags(crate::APP_VERSION, context.agent_id());
// The number of online janus backends.
let online_backends_count = crate::db::janus_backend::count(&conn)
.context("Failed to get janus backends count")?;

// The number of online janus backends.
let online_backends_count =
crate::db::janus_backend::count(&conn).context("Failed to get janus backends count")?;

metrics.push(Metric::new(
MetricKey::OnlineJanusBackendsCount,
online_backends_count,
now,
tags.clone(),
));

// Total capacity of online janus backends.
let total_capacity = crate::db::janus_backend::total_capacity(&conn)
.context("Failed to get janus backends total capacity")?;

metrics.push(Metric::new(
MetricKey::JanusBackendTotalCapacity,
total_capacity,
now,
tags.clone(),
));

// The number of agents connect to an RTC.
let connected_agents_count = agent::CountQuery::new()
.status(agent::Status::Connected)
.execute(&conn)
.context("Failed to get connected agents count")?;

metrics.push(Metric::new(
MetricKey::ConnectedAgentsCount,
connected_agents_count,
now,
tags,
));

let backend_load = crate::db::janus_backend::reserve_load_for_each_backend(&conn)
.context("Failed to get janus backends reserve load")?
.into_iter()
.fold(vec![], |mut v, load_row| {
let tags = Tags::build_janus_tags(
crate::APP_VERSION,
context.agent_id(),
&load_row.backend_id,
);
metrics.push(Metric::new(
MetricKey::OnlineJanusBackendsCount,
online_backends_count,
now,
tags.clone(),
));

v.push(Metric::new(
MetricKey::JanusBackendReserveLoad,
load_row.load,
// Total capacity of online janus backends.
let total_capacity = crate::db::janus_backend::total_capacity(&conn)
.context("Failed to get janus backends total capacity")?;

metrics.push(Metric::new(
MetricKey::JanusBackendTotalCapacity,
total_capacity,
now,
tags.clone(),
));
v.push(Metric::new(
MetricKey::JanusBackendAgentLoad,
load_row.taken,

// The number of agents connect to an RTC.
let connected_agents_count = agent::CountQuery::new()
.status(agent::Status::Connected)
.execute(&conn)
.context("Failed to get connected agents count")?;

metrics.push(Metric::new(
MetricKey::ConnectedAgentsCount,
connected_agents_count,
now,
tags,
));
v
});

metrics.extend(backend_load);
let backend_load = crate::db::janus_backend::reserve_load_for_each_backend(&conn)
.context("Failed to get janus backends reserve load")?
.into_iter()
.fold(vec![], |mut v, load_row| {
let tags = Tags::build_janus_tags(
crate::APP_VERSION,
context.agent_id(),
&load_row.backend_id,
);

Ok(())
v.push(Metric::new(
MetricKey::JanusBackendReserveLoad,
load_row.load,
now,
tags.clone(),
));
v.push(Metric::new(
MetricKey::JanusBackendAgentLoad,
load_row.taken,
now,
tags,
));
v
});

metrics.extend(backend_load);

Ok(())
}
}
}

0 comments on commit 7ef6fb3

Please sign in to comment.