aboutsummaryrefslogtreecommitdiffstats
path: root/crates/configuration/src/state/routing/mutate_routing.rs
diff options
context:
space:
mode:
authorrtkay123 <dev@kanjala.com>2025-08-14 18:05:07 +0200
committerrtkay123 <dev@kanjala.com>2025-08-14 18:05:07 +0200
commit1b8c6886f6d22f9c61e978b42d066dce91e334dc (patch)
tree468fae725d2464baac9b27d6a02f67f24e3eeb9f /crates/configuration/src/state/routing/mutate_routing.rs
parent600c7a1942c06c0f7a0ae87448595057206bf324 (diff)
downloadwarden-1b8c6886f6d22f9c61e978b42d066dce91e334dc.tar.bz2
warden-1b8c6886f6d22f9c61e978b42d066dce91e334dc.zip
feat(config): rule grpc
Diffstat (limited to 'crates/configuration/src/state/routing/mutate_routing.rs')
-rw-r--r--crates/configuration/src/state/routing/mutate_routing.rs23
1 files changed, 17 insertions, 6 deletions
diff --git a/crates/configuration/src/state/routing/mutate_routing.rs b/crates/configuration/src/state/routing/mutate_routing.rs
index 0c0637a..105cf18 100644
--- a/crates/configuration/src/state/routing/mutate_routing.rs
+++ b/crates/configuration/src/state/routing/mutate_routing.rs
@@ -1,6 +1,6 @@
use opentelemetry_semantic_conventions::attribute;
use tonic::{Request, Response, Status, async_trait};
-use tracing::{Instrument, error, info_span, instrument};
+use tracing::{Instrument, error, info_span, instrument, trace};
use tracing_opentelemetry::OpenTelemetrySpanExt;
use uuid::Uuid;
use warden_core::configuration::{
@@ -26,11 +26,14 @@ impl MutateRouting for AppHandle {
&self,
request: Request<RoutingConfiguration>,
) -> Result<Response<RoutingConfiguration>, Status> {
+ trace!("creating routing configuration");
+
let request = request.into_inner();
let span = info_span!("create.configuration.routing");
span.set_attribute(attribute::DB_SYSTEM_NAME, "postgres");
span.set_attribute(attribute::DB_OPERATION_NAME, "insert");
span.set_attribute(attribute::DB_COLLECTION_NAME, "routing");
+ span.set_attribute("otel.kind", "client");
sqlx::query!(
"insert into routing (id, configuration) values ($1, $2)",
@@ -42,8 +45,9 @@ impl MutateRouting for AppHandle {
.await
.map_err(|e| {
error!("{e}");
- tonic::Status::internal(e.to_string())
+ tonic::Status::internal("database error")
})?;
+ trace!("configuration created");
Ok(tonic::Response::new(request))
}
@@ -58,7 +62,7 @@ impl MutateRouting for AppHandle {
.subject
.split(".")
.next()
- .expect("bad config");
+ .expect("checked on startup");
let request = request.into_inner();
let id = Uuid::parse_str(&request.id)
@@ -70,6 +74,9 @@ impl MutateRouting for AppHandle {
span.set_attribute(attribute::DB_SYSTEM_NAME, "postgres");
span.set_attribute(attribute::DB_OPERATION_NAME, "update");
span.set_attribute(attribute::DB_COLLECTION_NAME, "routing");
+ span.set_attribute("otel.kind", "client");
+
+ trace!("updating configuration");
let updated = sqlx::query_as!(
RoutingRow,
@@ -87,8 +94,9 @@ impl MutateRouting for AppHandle {
.await
.map_err(|e| {
error!("{e}");
- tonic::Status::internal(e.to_string())
+ tonic::Status::internal("database is not ready")
})?;
+ trace!("configuration updated");
let (_del_result, _publish_result) = tokio::try_join!(
invalidate_cache(self, CacheKey::Routing(&id)),
@@ -110,7 +118,7 @@ impl MutateRouting for AppHandle {
.subject
.split(".")
.next()
- .expect("bad config");
+ .expect("checked on startup");
let request = request.into_inner();
let id = Uuid::parse_str(&request.id)
@@ -120,6 +128,8 @@ impl MutateRouting for AppHandle {
span.set_attribute(attribute::DB_SYSTEM_NAME, "postgres");
span.set_attribute(attribute::DB_OPERATION_NAME, "delete");
span.set_attribute(attribute::DB_COLLECTION_NAME, "routing");
+ span.set_attribute("otel.kind", "client");
+ trace!("deleting configuration");
let updated = sqlx::query_as!(
RoutingRow,
@@ -135,8 +145,9 @@ impl MutateRouting for AppHandle {
.await
.map_err(|e| {
error!("{e}");
- tonic::Status::internal(e.to_string())
+ tonic::Status::internal("database is not ready")
})?;
+ trace!("configuration deleted");
let (_del_result, _publish_result) = tokio::try_join!(
invalidate_cache(self, CacheKey::Routing(&id)),