aboutsummaryrefslogtreecommitdiff
path: root/src/stats_task.rs
diff options
context:
space:
mode:
authorHazel Atkinson <yellowsink@riseup.net>2025-04-11 16:27:27 +0100
committerHazel Atkinson <yellowsink@riseup.net>2025-04-11 16:27:47 +0100
commitb2f31c65e09e054f39eac5f8fe9847d08e203855 (patch)
tree440ea5d1c4132f1180f52f387f19005a26190dd4 /src/stats_task.rs
parentb5a21103ddb4dd99400912197eff26ade877e25d (diff)
downloadcontainerspy-b2f31c65e09e054f39eac5f8fe9847d08e203855.tar.gz
containerspy-b2f31c65e09e054f39eac5f8fe9847d08e203855.tar.bz2
containerspy-b2f31c65e09e054f39eac5f8fe9847d08e203855.zip
fix memory leak but actually
Diffstat (limited to 'src/stats_task.rs')
-rw-r--r--src/stats_task.rs11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/stats_task.rs b/src/stats_task.rs
index 8eb40e8..04e0ee9 100644
--- a/src/stats_task.rs
+++ b/src/stats_task.rs
@@ -1,9 +1,8 @@
use bollard::container::{BlkioStatsEntry, MemoryStatsStats, Stats, StatsOptions};
use bollard::models::ContainerSummary;
use bollard::Docker;
-use opentelemetry::metrics::MeterProvider;
-use opentelemetry::{InstrumentationScope, KeyValue};
-use opentelemetry_sdk::metrics::SdkMeterProvider;
+use opentelemetry::metrics::Meter;
+use opentelemetry::KeyValue;
use std::mem::MaybeUninit;
use std::sync::Arc;
use std::time::{Duration, SystemTime, UNIX_EPOCH};
@@ -15,7 +14,7 @@ use crate::s_log::*;
pub fn launch_stats_task(
container: ContainerSummary,
docker: Arc<Docker>,
- meter_provider: Arc<SdkMeterProvider>,
+ meter: Arc<Meter>
) -> JoinHandle<()> {
tokio::spawn(async move {
// extract some container info
@@ -27,8 +26,6 @@ pub fn launch_stats_task(
.next()
.map(|n| n.trim_start_matches("/").to_owned());
- let meter_name = "cspy_".to_string() + container_id.as_str();
-
let mut stats_stream = docker.stats(
container_id.as_str(),
Some(StatsOptions {
@@ -118,8 +115,6 @@ pub fn launch_stats_task(
//println!("Starting reporting for container: {shared_labels:?}");
// create meters
- let meter = meter_provider.meter_with_scope(InstrumentationScope::builder(meter_name).build());
-
let meter_container_cpu_usage_seconds_total = meter
.f64_counter("container_cpu_usage_seconds_total")
.with_unit("s")