From 862c5b7a7c1417128b62541c6798bfcd83d0f96b Mon Sep 17 00:00:00 2001 From: mbecker20 Date: Fri, 12 Apr 2024 01:05:23 -0700 Subject: [PATCH] further improve SearchLog --- bin/core/src/api/read/deployment.rs | 4 +-- bin/periphery/src/api/container.rs | 32 ++++--------------- bin/periphery/src/helpers/docker/container.rs | 8 +++-- client/core/rs/src/api/read/deployment.rs | 2 +- client/periphery/rs/src/api/container.rs | 2 +- 5 files changed, 16 insertions(+), 32 deletions(-) diff --git a/bin/core/src/api/read/deployment.rs b/bin/core/src/api/read/deployment.rs index 9d66ee386..4e94fcb95 100644 --- a/bin/core/src/api/read/deployment.rs +++ b/bin/core/src/api/read/deployment.rs @@ -130,7 +130,7 @@ impl Resolve for State { impl Resolve for State { async fn resolve( &self, - SearchLog { deployment, search }: SearchLog, + SearchLog { deployment, terms }: SearchLog, user: User, ) -> anyhow::Result { let Deployment { @@ -148,7 +148,7 @@ impl Resolve for State { } let server = Server::get_resource(&server_id).await?; periphery_client(&server)? - .request(api::container::GetContainerLogSearch { name, search }) + .request(api::container::GetContainerLogSearch { name, terms }) .await .context("failed at call to periphery") } diff --git a/bin/periphery/src/api/container.rs b/bin/periphery/src/api/container.rs index 02b672a60..78d97b8da 100644 --- a/bin/periphery/src/api/container.rs +++ b/bin/periphery/src/api/container.rs @@ -58,7 +58,7 @@ impl Resolve for State { _: (), ) -> anyhow::Result { Ok( - docker::container::container_log_search(&req.name, &req.search) + docker::container::container_log_search(&req.name, &req.terms) .await, ) } @@ -108,10 +108,7 @@ impl Resolve for State { #[async_trait::async_trait] impl Resolve for State { - #[instrument( - name = "StartContainer", - skip(self) - )] + #[instrument(name = "StartContainer", skip(self))] async fn resolve( &self, req: StartContainer, @@ -125,10 +122,7 @@ impl Resolve for State { #[async_trait::async_trait] impl Resolve for State { - #[instrument( - name = "StopContainer", - skip(self) - )] + #[instrument(name = "StopContainer", skip(self))] async fn resolve( &self, req: StopContainer, @@ -147,10 +141,7 @@ impl Resolve for State { #[async_trait::async_trait] impl Resolve for State { - #[instrument( - name = "RemoveContainer", - skip(self) - )] + #[instrument(name = "RemoveContainer", skip(self))] async fn resolve( &self, req: RemoveContainer, @@ -169,10 +160,7 @@ impl Resolve for State { #[async_trait::async_trait] impl Resolve for State { - #[instrument( - name = "RenameContainer", - skip(self) - )] + #[instrument(name = "RenameContainer", skip(self))] async fn resolve( &self, req: RenameContainer, @@ -192,10 +180,7 @@ impl Resolve for State { #[async_trait::async_trait] impl Resolve for State { - #[instrument( - name = "PruneContainers", - skip(self) - )] + #[instrument(name = "PruneContainers", skip(self))] async fn resolve( &self, _: PruneContainers, @@ -209,10 +194,7 @@ impl Resolve for State { #[async_trait::async_trait] impl Resolve for State { - #[instrument( - name = "Deploy", - skip(self) - )] + #[instrument(name = "Deploy", skip(self))] async fn resolve( &self, Deploy { diff --git a/bin/periphery/src/helpers/docker/container.rs b/bin/periphery/src/helpers/docker/container.rs index 6cc555dd9..5a630ecbd 100644 --- a/bin/periphery/src/helpers/docker/container.rs +++ b/bin/periphery/src/helpers/docker/container.rs @@ -30,10 +30,12 @@ pub async fn container_log(container_name: &str, tail: u64) -> Log { #[instrument(level = "debug")] pub async fn container_log_search( container_name: &str, - search: &str, + terms: &[String], ) -> Log { - let command = - format!("docker logs {container_name} --tail 5000 | grep {search}"); + let command = format!( + "docker logs {container_name} --tail 5000 | grep -E '{}'", + terms.join("|") + ); run_monitor_command("get container log grep", command).await } diff --git a/client/core/rs/src/api/read/deployment.rs b/client/core/rs/src/api/read/deployment.rs index 3ebddd5ec..6e02abbf8 100644 --- a/client/core/rs/src/api/read/deployment.rs +++ b/client/core/rs/src/api/read/deployment.rs @@ -103,7 +103,7 @@ pub struct SearchLog { /// Id or name #[serde(alias = "id", alias = "name")] pub deployment: String, - pub search: String, + pub terms: Vec, } #[typeshare] diff --git a/client/periphery/rs/src/api/container.rs b/client/periphery/rs/src/api/container.rs index e24677fc4..0e43a6eb4 100644 --- a/client/periphery/rs/src/api/container.rs +++ b/client/periphery/rs/src/api/container.rs @@ -32,7 +32,7 @@ fn default_tail() -> u64 { #[response(Log)] pub struct GetContainerLogSearch { pub name: String, - pub search: String, + pub terms: Vec, } //