2024-03-06 19:34:12 +00:00
|
|
|
<div class="tomahawk">
|
2024-03-04 18:35:34 +00:00
|
|
|
<div class="links">
|
2024-03-06 19:34:12 +00:00
|
|
|
<span>Monitoring</span>
|
|
|
|
<a [routerLink]='"/nodes"'>Nodes</a>
|
2024-03-04 18:35:34 +00:00
|
|
|
</div>
|
2024-03-06 19:34:12 +00:00
|
|
|
|
|
|
|
<app-start [showLoadingIndicator]="true"></app-start>
|
|
|
|
<app-footer [inline]="true"></app-footer>
|
2024-03-04 18:35:34 +00:00
|
|
|
|
2024-03-03 20:31:02 +00:00
|
|
|
<ng-container *ngIf="(hosts$ | async) as hosts">
|
|
|
|
<div class="status-panel">
|
2024-09-05 20:55:48 +00:00
|
|
|
<table class="status-table table table-borderless table-striped">
|
2024-03-03 20:31:02 +00:00
|
|
|
<tbody>
|
|
|
|
<tr>
|
2024-03-05 23:16:20 +00:00
|
|
|
<th class="rank"></th>
|
|
|
|
<th class="flag"></th>
|
2024-03-03 20:31:02 +00:00
|
|
|
<th class="host">Host</th>
|
2024-06-20 03:09:54 +00:00
|
|
|
<th class="updated">Updated</th>
|
2024-03-05 23:16:20 +00:00
|
|
|
<th class="rtt only-small">RTT</th>
|
|
|
|
<th class="rtt only-large">RTT</th>
|
2024-03-03 20:31:02 +00:00
|
|
|
<th class="height">Height</th>
|
2024-12-12 00:51:30 +00:00
|
|
|
<th class="frontend only-large">Front</th>
|
|
|
|
<th class="backend only-large">Back</th>
|
|
|
|
<th class="electrs only-large">Electrs</th>
|
2024-03-03 20:31:02 +00:00
|
|
|
</tr>
|
2024-03-05 23:16:20 +00:00
|
|
|
<tr *ngFor="let host of hosts; let i = index; trackBy: trackByFn">
|
|
|
|
<td class="rank">{{ i + 1 }}</td>
|
|
|
|
<td class="flag">{{ host.active ? '⭐️' : host.flag }}</td>
|
|
|
|
<td class="host">{{ host.link }}</td>
|
2024-03-06 19:34:12 +00:00
|
|
|
<td class="updated">{{ getLastUpdateSeconds(host) }}</td>
|
2024-03-05 23:16:20 +00:00
|
|
|
<td class="rtt only-small">{{ (host.rtt / 1000) | number : '1.1-1' }} {{ host.rtt == null ? '' : 's'}} {{ !host.checked ? '⏳' : (host.unreachable ? '🔥' : '✅') }}</td>
|
|
|
|
<td class="rtt only-large">{{ host.rtt | number : '1.0-0' }} {{ host.rtt == null ? '' : 'ms'}} {{ !host.checked ? '⏳' : (host.unreachable ? '🔥' : '✅') }}</td>
|
2024-09-05 20:55:48 +00:00
|
|
|
<td class="height">{{ host.latestHeight }} {{ !host.checked ? '⏳' : (host.outOfSync ? '🚫' : (host.latestHeight && host.latestHeight < maxHeight ? '🟧' : '✅')) }}</td>
|
2024-12-12 00:51:30 +00:00
|
|
|
<ng-container *ngFor="let type of ['frontend', 'backend', 'electrs']">
|
|
|
|
<td class="{{type}} only-large" [style.background-color]="host.hashes?.[type] ? '#' + host.hashes[type].slice(0, 6) : ''">
|
|
|
|
@if (host.hashes?.[type]) {
|
|
|
|
<a [style.color]="'white'" href="https://github.com/mempool/{{type === 'electrs' ? 'electrs' : 'mempool'}}/commit/{{ host.hashes[type] }}" target="_blank">{{ host.hashes[type].slice(0, 8) || '?' }}</a>
|
|
|
|
} @else {
|
|
|
|
<span>?</span>
|
|
|
|
}
|
|
|
|
</td>
|
|
|
|
</ng-container>
|
2024-03-03 20:31:02 +00:00
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</ng-container>
|
|
|
|
</div>
|