diff --git a/code/api/executor-api/src/main/java/nu/marginalia/executor/model/ActorRunState.java b/code/api/executor-api/src/main/java/nu/marginalia/executor/model/ActorRunState.java index a6137484..00a1477b 100644 --- a/code/api/executor-api/src/main/java/nu/marginalia/executor/model/ActorRunState.java +++ b/code/api/executor-api/src/main/java/nu/marginalia/executor/model/ActorRunState.java @@ -14,7 +14,7 @@ public record ActorRunState(String name, public String stateIcon() { if (terminal) { - return "\uD83D\uDE34"; + return "\uD83D\uDC80"; // Unicode Skull } else if (state.equals("MONITOR")) { return "\uD83D\uDD26"; diff --git a/code/services-core/control-service/src/main/java/nu/marginalia/control/node/svc/ControlNodeService.java b/code/services-core/control-service/src/main/java/nu/marginalia/control/node/svc/ControlNodeService.java index 2fc0f296..1c15599d 100644 --- a/code/services-core/control-service/src/main/java/nu/marginalia/control/node/svc/ControlNodeService.java +++ b/code/services-core/control-service/src/main/java/nu/marginalia/control/node/svc/ControlNodeService.java @@ -319,12 +319,18 @@ public class ControlNodeService { private Object nodeOverviewModel(Request request, Response response) throws SQLException { int nodeId = Integer.parseInt(request.params("id")); var config = nodeConfigurationService.get(nodeId); + + var actors = executorClient.getActorStates(Context.fromRequest(request), nodeId).states(); + + actors.removeIf(actor -> actor.state().equals("MONITOR")); + return Map.of( "node", new IndexNode(nodeId), "status", getStatus(config), "events", getEvents(nodeId), "processes", heartbeatService.getProcessHeartbeatsForNode(nodeId), "jobs", heartbeatService.getTaskHeartbeatsForNode(nodeId), + "actors", actors, "tab", Map.of("overview", true) ); } diff --git a/code/services-core/control-service/src/main/resources/templates/control/node/node-overview.hdb b/code/services-core/control-service/src/main/resources/templates/control/node/node-overview.hdb index 60699930..c785fb7f 100644 --- a/code/services-core/control-service/src/main/resources/templates/control/node/node-overview.hdb +++ b/code/services-core/control-service/src/main/resources/templates/control/node/node-overview.hdb @@ -11,6 +11,7 @@
{{> control/partials/processes-table }} + {{> control/partials/actor-summary-table }}
{{> control/partials/events-table-summary }} @@ -21,7 +22,7 @@ {{> control/partials/foot-includes }} \ No newline at end of file diff --git a/code/services-core/control-service/src/main/resources/templates/control/node/nodes-list.hdb b/code/services-core/control-service/src/main/resources/templates/control/node/nodes-list.hdb index 3c2fa94c..5a13acce 100644 --- a/code/services-core/control-service/src/main/resources/templates/control/node/nodes-list.hdb +++ b/code/services-core/control-service/src/main/resources/templates/control/node/nodes-list.hdb @@ -15,8 +15,14 @@ {{#if nodes}}
- Index nodes are processing units. The search engine requires at least one, but more can be added - to spread the system load across multiple physical disks or even multiple servers. +

+ Index nodes are processing units. The search engine requires at least one, but more can be added + to spread the system load across multiple physical disks or even multiple servers. +

+

+ New index nodes register themselves automatically upon start-up. They can't be fully removed, + but can be disabled in the settings. +

diff --git a/code/services-core/control-service/src/main/resources/templates/control/partials/actor-summary-table.hdb b/code/services-core/control-service/src/main/resources/templates/control/partials/actor-summary-table.hdb new file mode 100644 index 00000000..1d826a68 --- /dev/null +++ b/code/services-core/control-service/src/main/resources/templates/control/partials/actor-summary-table.hdb @@ -0,0 +1,20 @@ +

Actor Summary

+Idle monitoring actors are hidden. See the Actors tab + for a complete view. +
+ + + + + {{#each actors}} + + + + + {{/each}} + {{#unless actors}} + + + + {{/unless}} +
ActorState
{{name}}{{stateIcon}} {{state}}
No activity
\ No newline at end of file diff --git a/code/services-core/control-service/src/main/resources/templates/control/partials/processes-table.hdb b/code/services-core/control-service/src/main/resources/templates/control/partials/processes-table.hdb index 66b2a116..e788fcf4 100644 --- a/code/services-core/control-service/src/main/resources/templates/control/partials/processes-table.hdb +++ b/code/services-core/control-service/src/main/resources/templates/control/partials/processes-table.hdb @@ -52,4 +52,4 @@ No jobs running lately {{/unless}} - \ No newline at end of file +