From 51601ba481856be1dec080c7c91b37b47f301634 Mon Sep 17 00:00:00 2001 From: kasemir Date: Fri, 6 Jun 2025 10:39:08 -0400 Subject: [PATCH] PVA search monitor column sizing PVXS's `CERT:STATUS:...` PVs are quite long, now auto-size the PV and client columns --- .../org/epics/pva/server/PVASearchMonitorMain.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/core/pva/src/main/java/org/epics/pva/server/PVASearchMonitorMain.java b/core/pva/src/main/java/org/epics/pva/server/PVASearchMonitorMain.java index 230b1def61..41b85dbc25 100644 --- a/core/pva/src/main/java/org/epics/pva/server/PVASearchMonitorMain.java +++ b/core/pva/src/main/java/org/epics/pva/server/PVASearchMonitorMain.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2022-2023 Oak Ridge National Laboratory. + * Copyright (c) 2022-2025 Oak Ridge National Laboratory. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -164,14 +164,22 @@ else if (arg.startsWith("-v") && (i+1) < args.length) System.out.println("Run 'pvget QUIT' to stop"); while (! done.await(update_period, TimeUnit.SECONDS)) { - System.out.println("\nCount Name Last Client Age"); + int max_name = 10, max_client = 10; + for (SearchInfo info : searches.values()) + { + max_name = Math.max(max_name, info.name.length()); + max_client = Math.max(max_client, info.client.toString().length()); + } + + System.out.format("\nCount %-" + max_name + "s %-" + max_client + "s Age\n", "Name", "Last Client"); + final String format = "%5d %-" + max_name + "s %-" + max_client + "s %6d sec\n"; final Instant now = Instant.now(); searches.values() .stream() .sorted() .forEach(info -> { - System.out.format("%5d %-20s %-35s %6d sec\n", + System.out.format(format, info.count.get(), info.name, info.client.toString(),