Skip to content

threaddump is hardcoded to run once per second. #5445

@wuweiit

Description

@wuweiit

Found it. The thread dump page does hardcode a 1-second polling interval, and it's not configurable.

Key code — views/instances/threaddump/index.vue:

javascript
// Line 111
createSubscription() {
return timer(0, 1000) // hardcoded 1000ms, not configurable
.pipe(
concatMap(this.fetchThreaddump), // requests /actuator/threaddump each time
...
)
}
Each poll calls this.instance.fetchThreaddump(), which requests the /actuator/threaddump endpoint of the monitored application. Thread dump content is often large (several hundred KB), and fetching it every second introduces significant overhead on both the server and the network.

For comparison: pollTimer.threads: 2500 (2.5 seconds) controls the thread metrics chart on the detail page — that's a different thing. The thread dump page does not use sbaConfig.uiSettings.pollTimer; it directly hardcodes 1000.

Optimization suggestions
Since the upstream doesn't provide a configuration entry, the simplest approach is to modify the interval directly in the source:

javascript
// threaddump/index.vue
return timer(0, 10000) // change to 10 seconds
Alternatively, add a new entry in sba-config.ts (e.g., threaddump: 10000), then reference sbaConfig.uiSettings.pollTimer.threaddump in the thread dump page to keep consistent with the existing style.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions