mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 17:31:05 +00:00
Update to latest sysinfo prevents leaking fd-handlers (#6708)
* Ensure we close old file handles hold by sysinfo * Dropping is needed unfortunately * enable process refreshing, ignore result from refresh_process * jumping to proposed patch * switch to latest sysinfo
This commit is contained in:
committed by
GitHub
parent
c4dd079119
commit
7c161ec177
@@ -39,7 +39,7 @@ pin-project = "0.4.8"
|
||||
hash-db = "0.15.2"
|
||||
serde = "1.0.101"
|
||||
serde_json = "1.0.41"
|
||||
sysinfo = "0.14.3"
|
||||
sysinfo = "0.14.15"
|
||||
sc-keystore = { version = "2.0.0-rc5", path = "../keystore" }
|
||||
sp-io = { version = "2.0.0-rc5", path = "../../primitives/io" }
|
||||
sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
|
||||
|
||||
@@ -199,7 +199,7 @@ impl MetricsService {
|
||||
|
||||
Self {
|
||||
metrics,
|
||||
system: sysinfo::System::new(),
|
||||
system: sysinfo::System::new_with_specifics(sysinfo::RefreshKind::new().with_processes()),
|
||||
pid: Some(process.pid),
|
||||
}
|
||||
}
|
||||
@@ -234,7 +234,7 @@ impl MetricsService {
|
||||
fn inner_new(metrics: Option<PrometheusMetrics>) -> Self {
|
||||
Self {
|
||||
metrics,
|
||||
system: sysinfo::System::new(),
|
||||
system: sysinfo::System::new_with_specifics(sysinfo::RefreshKind::new().with_processes()),
|
||||
pid: sysinfo::get_current_pid().ok(),
|
||||
}
|
||||
}
|
||||
@@ -283,12 +283,11 @@ impl MetricsService {
|
||||
#[cfg(all(any(unix, windows), not(target_os = "android"), not(target_os = "ios")))]
|
||||
fn process_info_for(&mut self, pid: &sysinfo::Pid) -> ProcessInfo {
|
||||
let mut info = ProcessInfo::default();
|
||||
if self.system.refresh_process(*pid) {
|
||||
let prc = self.system.get_process(*pid)
|
||||
.expect("Above refresh_process succeeds, this must be Some(), qed");
|
||||
self.system.refresh_process(*pid);
|
||||
self.system.get_process(*pid).map(|prc| {
|
||||
info.cpu_usage = prc.cpu_usage().into();
|
||||
info.memory = prc.memory();
|
||||
}
|
||||
});
|
||||
info
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user