Skip to content

Commit a4fc2ae

Browse files
committed
feat(sidecar): replace tokio Mutex by standard one for consistency
Signed-off-by: Alexandre Rulleau <[email protected]>
1 parent e3f6149 commit a4fc2ae

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

datadog-sidecar/src/service/sidecar_server.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ use tracing::{debug, error, info, trace, warn};
3737

3838
use futures::FutureExt;
3939
use serde::{Deserialize, Serialize};
40-
use tokio::sync::Mutex as TokioMutex;
4140
use tokio::task::{JoinError, JoinHandle};
4241
use tokio::time::sleep;
4342

@@ -100,7 +99,10 @@ struct TelemetryCachedClient {
10099
last_used: Instant,
101100
}
102101

103-
type TelemetryClientKey = (String, String, String); // (service, env, version)
102+
type ServiceString = String;
103+
type EnvString = String;
104+
type VersionString = String;
105+
type TelemetryClientKey = (ServiceString, EnvString, VersionString);
104106

105107
/// The `SidecarServer` struct represents a server that handles sidecar operations.
106108
///
@@ -116,7 +118,7 @@ pub struct SidecarServer {
116118
/// A `Mutex` guarded `HashMap` that keeps a count of each session.
117119
session_counter: Arc<Mutex<HashMap<String, u32>>>,
118120
/// A `Mutex` guarded `HashMap` that stores the active telemetry clients.
119-
telemetry_clients: Arc<TokioMutex<HashMap<TelemetryClientKey, TelemetryCachedClient>>>,
121+
telemetry_clients: Arc<Mutex<HashMap<TelemetryClientKey, TelemetryCachedClient>>>,
120122
/// A `Mutex` guarded optional `ManualFutureCompleter` for telemetry configuration.
121123
pub self_telemetry_config:
122124
Arc<Mutex<Option<ManualFutureCompleter<ddtelemetry::config::Config>>>>,
@@ -135,15 +137,15 @@ pub struct SidecarServer {
135137

136138
impl Default for SidecarServer {
137139
fn default() -> Self {
138-
let telemetry_clients: Arc<TokioMutex<HashMap<TelemetryClientKey, TelemetryCachedClient>>> =
140+
let telemetry_clients: Arc<Mutex<HashMap<TelemetryClientKey, TelemetryCachedClient>>> =
139141
Arc::new(Default::default());
140142

141143
// Persist telemetry clients for 30 minutes
142144
let clients = telemetry_clients.clone();
143145
tokio::spawn(async move {
144146
loop {
145147
sleep(Duration::from_secs(60)).await;
146-
let mut lock = clients.lock().await;
148+
let mut lock = clients.lock_or_panic();
147149
lock.retain(|_, c| c.last_used.elapsed() < Duration::from_secs(1800));
148150
}
149151
});

0 commit comments

Comments
 (0)