mirror of
https://github.com/MarginaliaSearch/MarginaliaSearch.git
synced 2025-02-24 05:18:58 +00:00
(control) Better looking UUIDs
This commit is contained in:
parent
00d9773b44
commit
0b0cf48849
@ -2,9 +2,18 @@ package nu.marginalia.control.model;
|
|||||||
|
|
||||||
public record EventLogEntry(
|
public record EventLogEntry(
|
||||||
String serviceName,
|
String serviceName,
|
||||||
String instance,
|
String instanceFull,
|
||||||
String eventTime,
|
String eventTime,
|
||||||
String eventType,
|
String eventType,
|
||||||
String eventMessage)
|
String eventMessage)
|
||||||
{
|
{
|
||||||
|
public String instance() {
|
||||||
|
return instanceFull.substring(0, 8);
|
||||||
|
}
|
||||||
|
public String instanceColor() {
|
||||||
|
return '#' + instanceFull.substring(0, 6);
|
||||||
|
}
|
||||||
|
public String instanceColor2() {
|
||||||
|
return '#' + instanceFull.substring(25, 31);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ public record MessageQueueEntry (
|
|||||||
String senderInbox,
|
String senderInbox,
|
||||||
String recipientInbox,
|
String recipientInbox,
|
||||||
String function,
|
String function,
|
||||||
String ownerInstance,
|
String ownerInstanceFull,
|
||||||
long ownerTick,
|
long ownerTick,
|
||||||
String state,
|
String state,
|
||||||
String createdTime,
|
String createdTime,
|
||||||
@ -14,4 +14,13 @@ public record MessageQueueEntry (
|
|||||||
int ttl
|
int ttl
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
public String ownerInstance() {
|
||||||
|
return ownerInstanceFull.substring(0, 8);
|
||||||
|
}
|
||||||
|
public String ownerInstanceColor() {
|
||||||
|
return '#' + ownerInstanceFull.substring(0, 6);
|
||||||
|
}
|
||||||
|
public String ownerInstanceColor2() {
|
||||||
|
return '#' + ownerInstanceFull.substring(25, 31);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,11 +3,20 @@ package nu.marginalia.control.model;
|
|||||||
public record ProcessHeartbeat(
|
public record ProcessHeartbeat(
|
||||||
String processId,
|
String processId,
|
||||||
String processBase,
|
String processBase,
|
||||||
String uuid,
|
String uuidFull,
|
||||||
double lastSeenMillis,
|
double lastSeenMillis,
|
||||||
Integer progress,
|
Integer progress,
|
||||||
String status
|
String status
|
||||||
) {
|
) {
|
||||||
|
public String uuid() {
|
||||||
|
return uuidFull.substring(0, 8);
|
||||||
|
}
|
||||||
|
public String uuidColor() {
|
||||||
|
return '#' + uuidFull.substring(0, 6);
|
||||||
|
}
|
||||||
|
public String uuidColor2() {
|
||||||
|
return '#' + uuidFull.substring(25, 31);
|
||||||
|
}
|
||||||
public boolean isMissing() {
|
public boolean isMissing() {
|
||||||
return lastSeenMillis > 10000;
|
return lastSeenMillis > 10000;
|
||||||
}
|
}
|
||||||
|
@ -3,12 +3,20 @@ package nu.marginalia.control.model;
|
|||||||
public record ServiceHeartbeat(
|
public record ServiceHeartbeat(
|
||||||
String serviceId,
|
String serviceId,
|
||||||
String serviceBase,
|
String serviceBase,
|
||||||
String uuid,
|
String uuidFull,
|
||||||
double lastSeenMillis,
|
double lastSeenMillis,
|
||||||
boolean alive
|
boolean alive
|
||||||
) {
|
) {
|
||||||
public boolean isMissing() {
|
public boolean isMissing() {
|
||||||
return lastSeenMillis > 10000;
|
return lastSeenMillis > 10000;
|
||||||
}
|
}
|
||||||
|
public String uuid() {
|
||||||
|
return uuidFull.substring(0, 8);
|
||||||
|
}
|
||||||
|
public String uuidColor() {
|
||||||
|
return '#' + uuidFull.substring(0, 6);
|
||||||
|
}
|
||||||
|
public String uuidColor2() {
|
||||||
|
return '#' + uuidFull.substring(25, 31);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ public class EventLogService {
|
|||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
entries.add(new EventLogEntry(
|
entries.add(new EventLogEntry(
|
||||||
rs.getString("SERVICE_NAME"),
|
rs.getString("SERVICE_NAME"),
|
||||||
trimUUID(rs.getString("INSTANCE")),
|
rs.getString("INSTANCE"),
|
||||||
rs.getTimestamp("EVENT_TIME").toLocalDateTime().toLocalTime().toString(),
|
rs.getTimestamp("EVENT_TIME").toLocalDateTime().toLocalTime().toString(),
|
||||||
rs.getString("EVENT_TYPE"),
|
rs.getString("EVENT_TYPE"),
|
||||||
rs.getString("EVENT_MESSAGE")
|
rs.getString("EVENT_MESSAGE")
|
||||||
@ -44,11 +44,5 @@ public class EventLogService {
|
|||||||
throw new RuntimeException(ex);
|
throw new RuntimeException(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private String trimUUID(String uuid) {
|
|
||||||
if (uuid.length() > 8) {
|
|
||||||
return uuid.substring(0, 8);
|
|
||||||
}
|
|
||||||
return uuid;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -34,7 +34,7 @@ public class HeartbeatService {
|
|||||||
heartbeats.add(new ServiceHeartbeat(
|
heartbeats.add(new ServiceHeartbeat(
|
||||||
rs.getString("SERVICE_NAME"),
|
rs.getString("SERVICE_NAME"),
|
||||||
rs.getString("SERVICE_BASE"),
|
rs.getString("SERVICE_BASE"),
|
||||||
trimUUID(rs.getString("INSTANCE")),
|
rs.getString("INSTANCE"),
|
||||||
rs.getLong("TSDIFF") / 1000.,
|
rs.getLong("TSDIFF") / 1000.,
|
||||||
rs.getBoolean("ALIVE")
|
rs.getBoolean("ALIVE")
|
||||||
));
|
));
|
||||||
@ -59,12 +59,13 @@ public class HeartbeatService {
|
|||||||
|
|
||||||
var rs = stmt.executeQuery();
|
var rs = stmt.executeQuery();
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
|
int progress = rs.getInt("PROGRESS");
|
||||||
heartbeats.add(new ProcessHeartbeat(
|
heartbeats.add(new ProcessHeartbeat(
|
||||||
rs.getString("PROCESS_NAME"),
|
rs.getString("PROCESS_NAME"),
|
||||||
rs.getString("PROCESS_BASE"),
|
rs.getString("PROCESS_BASE"),
|
||||||
trimUUID(rs.getString("INSTANCE")),
|
rs.getString("INSTANCE"),
|
||||||
rs.getLong("TSDIFF") / 1000.,
|
rs.getLong("TSDIFF") / 1000.,
|
||||||
rs.getInt("PROGRESS"),
|
progress < 0 ? null : progress,
|
||||||
rs.getString("STATUS")
|
rs.getString("STATUS")
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
@ -75,10 +76,5 @@ public class HeartbeatService {
|
|||||||
|
|
||||||
return heartbeats;
|
return heartbeats;
|
||||||
}
|
}
|
||||||
private String trimUUID(String uuid) {
|
|
||||||
if (uuid.length() > 8) {
|
|
||||||
return uuid.substring(0, 8);
|
|
||||||
}
|
|
||||||
return uuid;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -38,7 +38,7 @@ public class MessageQueueViewService {
|
|||||||
rs.getString("SENDER_INBOX"),
|
rs.getString("SENDER_INBOX"),
|
||||||
rs.getString("RECIPIENT_INBOX"),
|
rs.getString("RECIPIENT_INBOX"),
|
||||||
rs.getString("FUNCTION"),
|
rs.getString("FUNCTION"),
|
||||||
trimUUID(rs.getString("OWNER_INSTANCE")),
|
rs.getString("OWNER_INSTANCE"),
|
||||||
rs.getLong("OWNER_TICK"),
|
rs.getLong("OWNER_TICK"),
|
||||||
rs.getString("STATE"),
|
rs.getString("STATE"),
|
||||||
rs.getTimestamp("CREATED_TIME").toLocalDateTime().toLocalTime().toString(),
|
rs.getTimestamp("CREATED_TIME").toLocalDateTime().toLocalTime().toString(),
|
||||||
@ -52,15 +52,5 @@ public class MessageQueueViewService {
|
|||||||
throw new RuntimeException(ex);
|
throw new RuntimeException(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private String trimUUID(String uuid) {
|
|
||||||
if (null == uuid) {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (uuid.length() > 8) {
|
|
||||||
return uuid.substring(0, 8);
|
|
||||||
}
|
|
||||||
return uuid;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,11 @@ body {
|
|||||||
grid-template-areas:
|
grid-template-areas:
|
||||||
"left right";
|
"left right";
|
||||||
}
|
}
|
||||||
|
.uuidPip {
|
||||||
|
margin-left: 0.25ch;
|
||||||
|
border-radius: 2ch;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
}
|
||||||
h1 {
|
h1 {
|
||||||
font-family: serif;
|
font-family: serif;
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,10 @@
|
|||||||
{{#each events}}
|
{{#each events}}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{serviceName}}</td>
|
<td>{{serviceName}}</td>
|
||||||
<td>{{instance}}</td>
|
<td title="{{instanceFull}}">
|
||||||
|
<span style="background-color: {{instanceColor}}" class="uuidPip"> </span><span style="background-color: {{instanceColor2}}" class="uuidPip"> </span>
|
||||||
|
{{instance}}
|
||||||
|
</td>
|
||||||
<td>{{eventTime}}</td>
|
<td>{{eventTime}}</td>
|
||||||
<td>{{eventType}}</td>
|
<td>{{eventType}}</td>
|
||||||
<td>{{eventMessage}}</td>
|
<td>{{eventMessage}}</td>
|
||||||
|
@ -33,7 +33,10 @@
|
|||||||
<td>{{recipientInbox}}</td>
|
<td>{{recipientInbox}}</td>
|
||||||
<td>{{senderInbox}}</td>
|
<td>{{senderInbox}}</td>
|
||||||
<td>{{function}}</td>
|
<td>{{function}}</td>
|
||||||
<td>{{ownerInstance}}</td>
|
<td title="{{ownerInstanceFull}}">
|
||||||
|
<span style="background-color: {{ownerInstanceColor}}" class="uuidPip"> </span><span style="background-color: {{ownerInstanceColor2}}" class="uuidPip"> </span>
|
||||||
|
{{ownerInstance}}
|
||||||
|
</td>
|
||||||
<td>{{ownerTick}}</td>
|
<td>{{ownerTick}}</td>
|
||||||
<td>{{state}}</td>
|
<td>{{state}}</td>
|
||||||
<td>{{createdTime}}</td>
|
<td>{{createdTime}}</td>
|
||||||
|
@ -22,7 +22,10 @@
|
|||||||
{{#each heartbeats}}
|
{{#each heartbeats}}
|
||||||
<tr class="{{#if isMissing}}missing{{/if}}" style="{{progressStyle}}">
|
<tr class="{{#if isMissing}}missing{{/if}}" style="{{progressStyle}}">
|
||||||
<td>{{processId}}</td>
|
<td>{{processId}}</td>
|
||||||
<td>{{uuid}}</td>
|
<td title="{{uuidFull}}">
|
||||||
|
<span style="background-color: {{uuidColor}}" class="uuidPip"> </span><span style="background-color: {{uuidColor2}}" class="uuidPip"> </span>
|
||||||
|
{{uuid}}
|
||||||
|
</td>
|
||||||
<td>{{status}}</td>
|
<td>{{status}}</td>
|
||||||
<td>{{#if progress}}{{progress}}%{{/if}}</td>
|
<td>{{#if progress}}{{progress}}%{{/if}}</td>
|
||||||
<td>{{#unless isStopped}}{{lastSeenMillis}}{{/unless}}</td>
|
<td>{{#unless isStopped}}{{lastSeenMillis}}{{/unless}}</td>
|
||||||
|
@ -20,7 +20,10 @@
|
|||||||
{{#each heartbeats}}
|
{{#each heartbeats}}
|
||||||
<tr class="{{#if isMissing}}missing{{/if}} {{#unless alive}}terminated{{/unless}}">
|
<tr class="{{#if isMissing}}missing{{/if}} {{#unless alive}}terminated{{/unless}}">
|
||||||
<td>{{serviceId}}</td>
|
<td>{{serviceId}}</td>
|
||||||
<td>{{uuid}}</td>
|
<td title="{{uuidFull}}">
|
||||||
|
<span style="background-color: {{uuidColor}}" class="uuidPip"> </span><span style="background-color: {{uuidColor2}}" class="uuidPip"> </span>
|
||||||
|
{{uuid}}
|
||||||
|
</td>
|
||||||
<td>{{lastSeenMillis}}</td>
|
<td>{{lastSeenMillis}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
Loading…
Reference in New Issue
Block a user