Skip to content

Commit 5a32cee

Browse files
willcl-arkmplsgrant
authored andcommitted
server: add no_sort option to grep-logs
1 parent 0c5dc6e commit 5a32cee

File tree

3 files changed

+14
-6
lines changed

3 files changed

+14
-6
lines changed

src/warnet/backend/kubernetes_backend.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ def get_messages(
313313
messages.sort(key=lambda x: x["time"])
314314
return messages
315315

316-
def logs_grep(self, pattern: str, network: str, k8s_timestamps=False):
316+
def logs_grep(self, pattern: str, network: str, k8s_timestamps=False, no_sort=False):
317317
compiled_pattern = re.compile(pattern)
318318
matching_logs = []
319319
pods = self.client.list_namespaced_pod(self.namespace)
@@ -335,7 +335,7 @@ def logs_grep(self, pattern: str, network: str, k8s_timestamps=False):
335335
except ApiException as e:
336336
print(f"Error fetching logs for pod {pod.metadata.name}: {e}")
337337

338-
sorted_logs = sorted(matching_logs, key=lambda x: x[0])
338+
sorted_logs = matching_logs if no_sort else sorted(matching_logs, key=lambda x: x[0])
339339
# Prepend pod names
340340
formatted_logs = [f"{pod_name}: {log}" for log, pod_name in sorted_logs]
341341

src/warnet/cli/bitcoin.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,20 @@ def messages(node_a, node_b, network):
4848
@bitcoin.command()
4949
@click.argument("pattern", type=str, required=True)
5050
@click.option("--show-k8s-timestamps", is_flag=True, default=False, show_default=True)
51+
@click.option("--no-sort", is_flag=True, default=False, show_default=True)
5152
@click.option("--network", default="warnet", show_default=True)
52-
def grep_logs(pattern, network, show_k8s_timestamps):
53+
def grep_logs(pattern, network, show_k8s_timestamps, no_sort):
5354
"""
5455
Grep combined logs via fluentd using regex <pattern>
5556
"""
5657
print(
5758
rpc_call(
5859
"logs_grep",
59-
{"network": network, "pattern": pattern, "k8s_timestamps": show_k8s_timestamps},
60+
{
61+
"network": network,
62+
"pattern": pattern,
63+
"k8s_timestamps": show_k8s_timestamps,
64+
"no_sort": no_sort,
65+
},
6066
)
6167
)

src/warnet/server.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -570,13 +570,15 @@ def generate_deployment(self, graph_file: str, network: str = "warnet") -> str:
570570
self.logger.error(msg)
571571
raise ServerError(message=msg) from e
572572

573-
def logs_grep(self, pattern: str, network: str = "warnet", k8s_timestamps=False) -> str:
573+
def logs_grep(
574+
self, pattern: str, network: str = "warnet", k8s_timestamps=False, no_sort=False
575+
) -> str:
574576
"""
575577
Grep the logs from the fluentd container for a regex pattern
576578
"""
577579
try:
578580
wn = self.get_warnet(network)
579-
return wn.container_interface.logs_grep(pattern, network, k8s_timestamps)
581+
return wn.container_interface.logs_grep(pattern, network, k8s_timestamps, no_sort)
580582
except Exception as e:
581583
msg = f"Error grepping logs using pattern {pattern}: {e}"
582584
self.logger.error(msg)

0 commit comments

Comments
 (0)