From f511c8a6339a2be1ffba97a8e62a72b4f8de2c23 Mon Sep 17 00:00:00 2001 From: Geir Storli Date: Tue, 6 Mar 2018 13:48:03 +0100 Subject: Also list derived bucket space states in html state. --- .../core/status/LegacyIndexPageRequestHandler.java | 14 ++++++++++++-- .../vespa/clustercontroller/core/StatusPagesTest.java | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) (limited to 'clustercontroller-core/src') diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyIndexPageRequestHandler.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyIndexPageRequestHandler.java index c7f83743708..e85623f068c 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyIndexPageRequestHandler.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyIndexPageRequestHandler.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.clustercontroller.core.status; +import com.yahoo.vdslib.state.ClusterState; import com.yahoo.vespa.clustercontroller.core.*; import com.yahoo.vespa.clustercontroller.core.status.statuspage.StatusPageResponse; import com.yahoo.vespa.clustercontroller.core.status.statuspage.StatusPageServer; @@ -94,8 +95,8 @@ public class LegacyIndexPageRequestHandler implements StatusPageServer.RequestHa showLocal = false; } - sb.append("

Cluster states

\n") - .append("

Current cluster state:
").append(stateVersionTracker.getVersionedClusterState().toString()).append("

\n"); + sb.append("

Cluster states

\n"); + writeClusterStates(sb, stateVersionTracker.getVersionedClusterStateBundle()); if ( ! stateVersionTracker.getClusterStateHistory().isEmpty()) { TimeZone tz = TimeZone.getTimeZone("UTC"); @@ -122,6 +123,15 @@ public class LegacyIndexPageRequestHandler implements StatusPageServer.RequestHa } } + private static void writeClusterStates(StringBuilder sb, ClusterStateBundle clusterStates) { + sb.append("

Baseline cluster state:
").append(clusterStates.getBaselineClusterState().toString()).append("

\n"); + clusterStates.getDerivedBucketSpaceStates().entrySet().forEach(entry -> { + String bucketSpace = entry.getKey(); + ClusterState clusterState = entry.getValue().getClusterState(); + sb.append("

" + bucketSpace + " cluster state:
").append(clusterState.toString()).append("

\n"); + }); + } + private void writeClusterStateEntry(ClusterStateHistoryEntry entry, ClusterStateHistoryEntry last, StringBuilder sb, TimeZone tz) { sb.append("").append(RealTimer.printDate(entry.time(), tz)) .append("").append(entry.state().isOfficial() ? "" : ""); diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StatusPagesTest.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StatusPagesTest.java index 3ab3afec3b3..45f11a2a0f3 100644 --- a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StatusPagesTest.java +++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StatusPagesTest.java @@ -196,7 +196,7 @@ public class StatusPagesTest extends FleetControllerTest { assertTrue(content, content.contains("")); assertTrue(content, content.contains("")); - assertTrue(content, content.contains("Current cluster state")); + assertTrue(content, content.contains("Baseline cluster state")); assertTrue(content, content.contains("Cluster states")); assertTrue(content, content.contains("Event log")); -- cgit v1.2.3