Skip to content

Commit cedeb26

Browse files
committed
Add Send + Sync to MetricServiceExporter trait and remove Copy from generic in MetricGauge::record function and the round in getter
1 parent 441dd74 commit cedeb26

File tree

3 files changed

+10
-15
lines changed

3 files changed

+10
-15
lines changed

internal/mithril-metric/src/metric.rs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -86,19 +86,15 @@ impl MetricGauge {
8686
}
8787

8888
/// Record a value in the gauge.
89-
pub fn record<T: Into<f64> + Copy>(&self, value: T) {
90-
debug!(
91-
self.logger,
92-
"Set '{}' gauge value to {}",
93-
self.name,
94-
value.into()
95-
);
96-
self.gauge.set(value.into());
89+
pub fn record<T: Into<f64>>(&self, value: T) {
90+
let value = value.into();
91+
debug!(self.logger, "Set '{}' gauge value to {}", self.name, value);
92+
self.gauge.set(value);
9793
}
9894

9995
/// Get the gauge value.
10096
pub fn get(&self) -> f64 {
101-
self.gauge.get().round()
97+
self.gauge.get()
10298
}
10399

104100
fn create_metric_gauge(name: &MetricName, help: &str) -> StdResult<Gauge> {
@@ -142,6 +138,6 @@ mod tests {
142138
assert_eq!(metric.get(), 0.0);
143139

144140
metric.record(12.3);
145-
assert_eq!(metric.get(), 12.0);
141+
assert_eq!(metric.get(), 12.3);
146142
}
147143
}

internal/mithril-metric/src/server.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ use mithril_common::logging::LoggerExtensions;
1414
use mithril_common::StdResult;
1515

1616
/// Metrics service exporter gives the possibility of exporting metrics.
17-
pub trait MetricsServiceExporter {
17+
pub trait MetricsServiceExporter: Send + Sync {
1818
/// Export metrics.
1919
fn export_metrics(&self) -> StdResult<String>;
2020
}
@@ -38,19 +38,19 @@ impl IntoResponse for MetricsServerError {
3838
}
3939

4040
/// The MetricsServer is responsible for exposing the metrics of the signer.
41-
pub struct MetricsServer<T: MetricsServiceExporter + Send + Sync> {
41+
pub struct MetricsServer<T: MetricsServiceExporter> {
4242
server_port: u16,
4343
server_ip: String,
4444
metrics_service: Arc<T>,
4545
logger: Logger,
4646
}
4747

48-
struct RouterState<T: MetricsServiceExporter + Send + Sync> {
48+
struct RouterState<T: MetricsServiceExporter> {
4949
metrics_service: Arc<T>,
5050
logger: Logger,
5151
}
5252

53-
impl<T: MetricsServiceExporter + Send + Sync + 'static> MetricsServer<T> {
53+
impl<T: MetricsServiceExporter + 'static> MetricsServer<T> {
5454
/// Create a new MetricsServer instance.
5555
pub fn new(server_ip: &str, server_port: u16, metrics_service: Arc<T>, logger: Logger) -> Self {
5656
Self {

mithril-signer/src/metrics/service.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ build_metrics_service!(
3030
"mithril_signer_signature_registration_success_last_epoch",
3131
"Latest epoch at which signature successfully registered on a Mithril signer node"
3232
),
33-
// Runtime cycle metrics
3433
runtime_cycle_success_since_startup_counter:MetricCounter(
3534
"mithril_signer_runtime_cycle_success_since_startup",
3635
"Number of successful runtime cycles since startup on a Mithril signer node"

0 commit comments

Comments
 (0)