From b96ddee53bf11bbac12f433d48f7ed7a45698bf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Ko=CC=88ninger?= Date: Mon, 15 Jun 2026 14:51:28 +0200 Subject: [PATCH 1/2] feat: add configurable threaddump refresh interval closes #5445 --- spring-boot-admin-server-ui/src/main/frontend/global.d.ts | 1 + spring-boot-admin-server-ui/src/main/frontend/sba-config.ts | 1 + .../src/main/frontend/views/instances/threaddump/index.vue | 3 ++- .../boot/admin/server/ui/config/AdminServerUiProperties.java | 5 +++++ .../boot/admin/server/ui/AbstractAdminUiApplicationTest.java | 3 ++- 5 files changed, 11 insertions(+), 2 deletions(-) diff --git a/spring-boot-admin-server-ui/src/main/frontend/global.d.ts b/spring-boot-admin-server-ui/src/main/frontend/global.d.ts index a55dfbb52de..b4bbaab107b 100644 --- a/spring-boot-admin-server-ui/src/main/frontend/global.d.ts +++ b/spring-boot-admin-server-ui/src/main/frontend/global.d.ts @@ -42,6 +42,7 @@ declare global { process: number; memory: number; threads: number; + threaddump: number; logfile: number; }; diff --git a/spring-boot-admin-server-ui/src/main/frontend/sba-config.ts b/spring-boot-admin-server-ui/src/main/frontend/sba-config.ts index fa17aada0ef..f523f10a95c 100644 --- a/spring-boot-admin-server-ui/src/main/frontend/sba-config.ts +++ b/spring-boot-admin-server-ui/src/main/frontend/sba-config.ts @@ -42,6 +42,7 @@ const DEFAULT_CONFIG: SBASettings = { process: 2500, memory: 2500, threads: 2500, + threaddump: 2500, logfile: 1000, }, hideInstanceUrl: false, diff --git a/spring-boot-admin-server-ui/src/main/frontend/views/instances/threaddump/index.vue b/spring-boot-admin-server-ui/src/main/frontend/views/instances/threaddump/index.vue index f435a1406c9..2844ead091b 100644 --- a/spring-boot-admin-server-ui/src/main/frontend/views/instances/threaddump/index.vue +++ b/spring-boot-admin-server-ui/src/main/frontend/views/instances/threaddump/index.vue @@ -43,6 +43,7 @@ import moment from 'moment'; import { take } from 'rxjs/operators'; import subscribing from '@/mixins/subscribing'; +import sbaConfig from '@/sba-config'; import Instance from '@/services/instance'; import { concatMap, delay, retryWhen, timer } from '@/utils/rxjs'; import { VIEW_GROUP } from '@/views/ViewGroup'; @@ -127,7 +128,7 @@ export default { }, createSubscription() { this.errorFetch = null; - return timer(0, 1000) + return timer(0, sbaConfig.uiSettings.pollTimer.threaddump) .pipe( concatMap(this.fetchThreaddump), retryWhen((err) => { diff --git a/spring-boot-admin-server-ui/src/main/java/de/codecentric/boot/admin/server/ui/config/AdminServerUiProperties.java b/spring-boot-admin-server-ui/src/main/java/de/codecentric/boot/admin/server/ui/config/AdminServerUiProperties.java index 614c3212af7..4c2526b6718 100644 --- a/spring-boot-admin-server-ui/src/main/java/de/codecentric/boot/admin/server/ui/config/AdminServerUiProperties.java +++ b/spring-boot-admin-server-ui/src/main/java/de/codecentric/boot/admin/server/ui/config/AdminServerUiProperties.java @@ -178,6 +178,11 @@ public static class PollTimer { */ private int threads = 2500; + /** + * Time in milliseconds to refresh data in threaddump view. + */ + private int threaddump = 2500; + /** * Time in milliseconds to refresh data in logfile view. */ diff --git a/spring-boot-admin-server-ui/src/test/java/de/codecentric/boot/admin/server/ui/AbstractAdminUiApplicationTest.java b/spring-boot-admin-server-ui/src/test/java/de/codecentric/boot/admin/server/ui/AbstractAdminUiApplicationTest.java index 3880538f57b..fa3a922a994 100644 --- a/spring-boot-admin-server-ui/src/test/java/de/codecentric/boot/admin/server/ui/AbstractAdminUiApplicationTest.java +++ b/spring-boot-admin-server-ui/src/test/java/de/codecentric/boot/admin/server/ui/AbstractAdminUiApplicationTest.java @@ -146,7 +146,8 @@ public void should_return_defaults_for_pollTimers() { .expectHeader().contentTypeCompatibleWith("application/javascript") .expectBody(String.class) .value((body) -> assertThat(body).contains("\"pollTimer\"")) - .value((body) -> assertThat(body).contains("\"cache\":2500")); + .value((body) -> assertThat(body).contains("\"cache\":2500")) + .value((body) -> assertThat(body).contains("\"threaddump\":2500")); //@formatter:on } From cd82a698bf7084a41c4d5f80f47b6f1e3a089df3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Ko=CC=88ninger?= Date: Thu, 18 Jun 2026 15:46:03 +0200 Subject: [PATCH 2/2] feat: update threaddump refresh interval to 1000 milliseconds --- spring-boot-admin-server-ui/src/main/frontend/sba-config.ts | 2 +- .../boot/admin/server/ui/config/AdminServerUiProperties.java | 2 +- .../boot/admin/server/ui/AbstractAdminUiApplicationTest.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/spring-boot-admin-server-ui/src/main/frontend/sba-config.ts b/spring-boot-admin-server-ui/src/main/frontend/sba-config.ts index f523f10a95c..61fed3d960f 100644 --- a/spring-boot-admin-server-ui/src/main/frontend/sba-config.ts +++ b/spring-boot-admin-server-ui/src/main/frontend/sba-config.ts @@ -42,7 +42,7 @@ const DEFAULT_CONFIG: SBASettings = { process: 2500, memory: 2500, threads: 2500, - threaddump: 2500, + threaddump: 1000, logfile: 1000, }, hideInstanceUrl: false, diff --git a/spring-boot-admin-server-ui/src/main/java/de/codecentric/boot/admin/server/ui/config/AdminServerUiProperties.java b/spring-boot-admin-server-ui/src/main/java/de/codecentric/boot/admin/server/ui/config/AdminServerUiProperties.java index 4c2526b6718..b36d5be7e02 100644 --- a/spring-boot-admin-server-ui/src/main/java/de/codecentric/boot/admin/server/ui/config/AdminServerUiProperties.java +++ b/spring-boot-admin-server-ui/src/main/java/de/codecentric/boot/admin/server/ui/config/AdminServerUiProperties.java @@ -181,7 +181,7 @@ public static class PollTimer { /** * Time in milliseconds to refresh data in threaddump view. */ - private int threaddump = 2500; + private int threaddump = 1000; /** * Time in milliseconds to refresh data in logfile view. diff --git a/spring-boot-admin-server-ui/src/test/java/de/codecentric/boot/admin/server/ui/AbstractAdminUiApplicationTest.java b/spring-boot-admin-server-ui/src/test/java/de/codecentric/boot/admin/server/ui/AbstractAdminUiApplicationTest.java index fa3a922a994..f5c15632e10 100644 --- a/spring-boot-admin-server-ui/src/test/java/de/codecentric/boot/admin/server/ui/AbstractAdminUiApplicationTest.java +++ b/spring-boot-admin-server-ui/src/test/java/de/codecentric/boot/admin/server/ui/AbstractAdminUiApplicationTest.java @@ -147,7 +147,7 @@ public void should_return_defaults_for_pollTimers() { .expectBody(String.class) .value((body) -> assertThat(body).contains("\"pollTimer\"")) .value((body) -> assertThat(body).contains("\"cache\":2500")) - .value((body) -> assertThat(body).contains("\"threaddump\":2500")); + .value((body) -> assertThat(body).contains("\"threaddump\":1000")); //@formatter:on }