Skip to content

Commit e60533b

Browse files
author
Eason Gao
authored
fix(std): instant elapsed may cause panic (#105)
* fix: instant elapsed may cause panic * cargo update * cargo clippy
1 parent 8dec6ee commit e60533b

File tree

18 files changed

+104
-80
lines changed

18 files changed

+104
-80
lines changed

Cargo.lock

Lines changed: 56 additions & 51 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

common/apm/src/lib.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,9 @@ pub mod server;
66
pub use muta_apm;
77
pub use prometheus;
88
pub use prometheus_static_metric;
9+
10+
use std::time::{Duration, Instant};
11+
12+
pub fn elapsed(inst: Instant) -> Duration {
13+
Instant::now().saturating_duration_since(inst)
14+
}

common/metrics-derive/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ use proc_macro::TokenStream;
109109
/// .inc();
110110
/// common_apm::metrics::api::API_REQUEST_TIME_HISTOGRAM_STATIC
111111
/// .eth_sendRawTransaction
112-
/// .observe(common_apm::metrics::duration_to_sec(inst.elapsed()));
112+
/// .observe(common_apm::metrics::duration_to_sec(common_apm::elapsed(inst)));
113113
/// ret
114114
/// })
115115
/// }
@@ -132,7 +132,7 @@ use proc_macro::TokenStream;
132132
/// .inc();
133133
/// common_apm::metrics::api::API_REQUEST_TIME_HISTOGRAM_STATIC
134134
/// .net_listening
135-
/// .observe(common_apm::metrics::duration_to_sec(inst.elapsed()));
135+
/// .observe(common_apm::metrics::duration_to_sec(common_apm::elapsed(inst)));
136136
/// ret
137137
/// }
138138
/// }

common/metrics-derive/src/rpc_expand.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ pub fn expand_rpc_metrics(attr: TokenStream, func: TokenStream) -> TokenStream {
4040
.inc();
4141
common_apm::metrics::api::API_REQUEST_TIME_HISTOGRAM_STATIC
4242
.#func_ident
43-
.observe(common_apm::metrics::duration_to_sec(inst.elapsed()));
43+
.observe(common_apm::metrics::duration_to_sec(common_apm::elapsed(inst)));
4444

4545
ret
4646
})
@@ -65,7 +65,7 @@ pub fn expand_rpc_metrics(attr: TokenStream, func: TokenStream) -> TokenStream {
6565
.inc();
6666
common_apm::metrics::api::API_REQUEST_TIME_HISTOGRAM_STATIC
6767
.#func_ident
68-
.observe(common_apm::metrics::duration_to_sec(inst.elapsed()));
68+
.observe(common_apm::metrics::duration_to_sec(common_apm::elapsed(inst)));
6969

7070
ret
7171
}

0 commit comments

Comments
 (0)