feat(api-server): add container loadtest observability
This commit is contained in:
@@ -407,12 +407,21 @@ impl SpacetimeClient {
|
||||
|
||||
async fn read_after_connect<T>(
|
||||
&self,
|
||||
read_name: &'static str,
|
||||
read: impl FnOnce(&DbConnection) -> Result<T, SpacetimeClientError> + Send + 'static,
|
||||
) -> Result<T, SpacetimeClientError>
|
||||
where
|
||||
T: Send + 'static,
|
||||
{
|
||||
let lease = self.acquire_connection().await?;
|
||||
let metrics_guard = telemetry::begin_read(read_name);
|
||||
let lease = match self.acquire_connection().await {
|
||||
Ok(lease) => lease,
|
||||
Err(error) => {
|
||||
let final_result = Err(error);
|
||||
metrics_guard.finish(&final_result);
|
||||
return final_result;
|
||||
}
|
||||
};
|
||||
let final_result = if let Some(connection) = lease.connection.as_ref() {
|
||||
read(&connection.connection)
|
||||
} else {
|
||||
@@ -422,6 +431,7 @@ impl SpacetimeClient {
|
||||
};
|
||||
self.release_connection(lease).await;
|
||||
|
||||
metrics_guard.finish(&final_result);
|
||||
final_result
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user