refactor: replace Flume channels with Tokio and std mpsc
Rust CI / cargo fmt (push) Successful in 16s
Rust CI / cargo clippy (push) Successful in 46s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 42s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 54s
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Successful in 56s
Rust CI / cargo doc (push) Successful in 55s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Successful in 1m9s
Supply chain / actionlint (push) Successful in 24s
Supply chain / cargo-deny advisories (push) Successful in 1m24s
Supply chain / cargo-deny bans licenses sources (push) Successful in 1m19s
Build binaries / Build (mipsel-musl) (push) Successful in 2m17s
Build binaries / Build (aarch64-musl) (push) Successful in 1m51s
Build binaries / Build (arm-musleabi) (push) Successful in 1m47s
Build binaries / Build (arm-musleabihf) (push) Successful in 1m42s
Build binaries / Build (armv7-musleabi) (push) Successful in 1m40s
Build binaries / Build (armv7-musleabihf) (push) Successful in 2m47s
Build binaries / Build (i686-musl) (push) Successful in 1m37s
Build binaries / Build (mips-musl) (push) Successful in 2m5s
Build binaries / Build (mips64-muslabi64) (push) Successful in 2m22s
Build binaries / Build (mips64el-muslabi64) (push) Successful in 2m13s
Build binaries / Build (riscv64gc-musl) (push) Successful in 1m43s
Build binaries / Build (x86_64-musl) (push) Successful in 1m48s

This commit is contained in:
Nils Andreas Svee committed 2026-10-28 22:03:31 +07:00
1 parent cab50ed38d
commit 6bcfa6a6e2
10 files changed
+133 -670

No files matched your search

+6 -4
View File
@@ -6,12 +6,14 @@ use crate::measurement::model::MeasurementSource;
use crate::settings::ObservabilityProtocol;
use crate::settings::Settings;
use crate::time::{ClockSample, Realtime};
use flume::{Receiver, RecvTimeoutError, Sender};
use log::{error, info, warn};
use std::fmt::Write;
use std::net::{IpAddr, TcpStream, UdpSocket};
use std::sync::Arc;
use std::sync::atomic::{AtomicU32, Ordering};
use std::sync::mpsc;
use std::sync::mpsc::RecvTimeoutError;
use std::sync::mpsc::SyncSender;
use std::time::Duration;
const MAX_RECONNECT_BACKOFF: u64 = 60;
@@ -127,12 +129,12 @@ pub enum Metric {
#[derive(Clone)]
pub struct MetricsSender {
tx: Option<Sender<(Metric, u64)>>,
tx: Option<SyncSender<(Metric, u64)>>,
dropped: Arc<AtomicU32>,
}
impl MetricsSender {
pub fn new(tx: Sender<(Metric, u64)>, dropped: Arc<AtomicU32>) -> Self {
pub fn new(tx: SyncSender<(Metric, u64)>, dropped: Arc<AtomicU32>) -> Self {
Self {
tx: Some(tx),
dropped,
@@ -159,7 +161,7 @@ impl MetricsSender {
pub struct Metrics {
pub settings: Settings,
pub metrics_dropped: Arc<AtomicU32>,
pub metrics_rx: Receiver<(Metric, u64)>,
pub metrics_rx: mpsc::Receiver<(Metric, u64)>,
}
impl Metrics {