Compare commits
4 Commits
ce66b0de3f
...
f9ffc383a0
| Author | SHA1 | Date | |
|---|---|---|---|
| f9ffc383a0 | |||
| d223404a86 | |||
| b79ee2fdd8 | |||
| 131e5ffabf |
153
README.md
153
README.md
@@ -1,2 +1,153 @@
|
||||
welist html
|
||||
# Server Status: Complete Explanation and Reference Guide
|
||||
|
||||
This page explains all the **Will Executor server health statuses** used throughout the BAL Web Interface. Each status type provides critical information about server operation, health checks, and potential issues for administrators monitoring the Bitcoin After Life network.
|
||||
|
||||
## Status Code Overview
|
||||
|
||||
| Status | Description | When It Occurs |
|
||||
|--------|-------------|----------------|
|
||||
| `OK` | Health check passed | Server is online, functioning normally |
|
||||
| `TIMEOUT: <message>` | Connection timeout | Server response took too long |
|
||||
| `CONNECTION: <message>` | Connection error | Network connectivity issues |
|
||||
| `STATUS: <code>` | HTTP error (from server) | Server returned non-200 status |
|
||||
| `WRONG REPLY: <message>` | Invalid JSON response | Server response couldn't be parsed |
|
||||
| `REQUEST: <message>` | Request error | Client-side request failed |
|
||||
| `BODY: <message>` | Body read error | Failed to read response body |
|
||||
| `DECODE: <message>` | Decode error | Failed to decode response content |
|
||||
| `KO` | Generic error | Unknown or unspecified error |
|
||||
|
||||
## Status Types Explained
|
||||
|
||||
### 🟢 Good Statuses
|
||||
**`OK`** - Everything is functioning correctly:
|
||||
- Server is online and responding
|
||||
- Health check completed successfully
|
||||
- Ready for new registration/processing
|
||||
|
||||
### 🟡 Warning/Moderate Issues
|
||||
**`TIMEOUT: <message>`** - Connection timed out:
|
||||
- Server took too than expected to respond
|
||||
- Could indicate server overload or network issues
|
||||
- Requires attention but server may still be functional
|
||||
|
||||
**`CONNECTION: <message>`** - Connection error:
|
||||
- Network connectivity problems
|
||||
- Server might be reachable but cannot communicate
|
||||
- Potential infrastructure or configuration issue
|
||||
|
||||
**`STATUS: <code>`** - HTTP error:
|
||||
- Server responded with an error code (4xx or 5xx)
|
||||
- Could indicate misconfiguration, maintenance, or issues |
|
||||
- Different error codes mean different things
|
||||
|
||||
### 🔴 Critical Issues
|
||||
**`WRONG REPLY`** - Invalid JSON response:
|
||||
- Server response format is incorrect
|
||||
- May indicate server software bug or corruption
|
||||
- Prevents proper data processing
|
||||
|
||||
**`REQUEST`** - Request error:
|
||||
- Client request failed
|
||||
- Network or protocol issue
|
||||
- Server may be unreachable
|
||||
|
||||
**`BODY`** - Body read error:
|
||||
- Failed to read response body after successful connection
|
||||
- Could indicate server processing issues
|
||||
- Data corruption or transmission problems
|
||||
|
||||
**`DECODE`** - Decode error:
|
||||
- Failed to decode response content
|
||||
- Encoding mismatch or corrupted data
|
||||
- Prevents proper data interpretation
|
||||
|
||||
**`KO`** - Generic error:
|
||||
- Unknown or unspecified error
|
||||
- Fallback for all other unidentified issues
|
||||
- Indicates something went wrong but exact cause unknown
|
||||
|
||||
## Example Status Messages
|
||||
|
||||
### Normal Operations
|
||||
```
|
||||
Status: OK
|
||||
Meaning: Health check passed
|
||||
Display: Server is healthy and ready
|
||||
```
|
||||
|
||||
### Network/Time Issues
|
||||
```
|
||||
Status: TIMEOUT: Connection timed out after 30 seconds
|
||||
Meaning: Server took too long to respond
|
||||
Display: "Connection timeout (Connection timed out after 30 seconds)"
|
||||
```
|
||||
|
||||
### HTTP Errors
|
||||
```
|
||||
Status: STATUS: 500
|
||||
Meaning: Server returned HTTP 500 Internal Server Error
|
||||
Display: "HTTP error (HTTP error)"
|
||||
```
|
||||
|
||||
### Response Processing Issues
|
||||
```
|
||||
Status: WRONG REPLY: Invalid JSON
|
||||
Meaning: Server response could not be parsed as JSON
|
||||
Display: "Invalid JSON response (Invalid JSON)"
|
||||
```
|
||||
|
||||
## Practical Usage Guide
|
||||
|
||||
### For Server Administrators
|
||||
- **OK**: Check server resources and logs if needed
|
||||
- **TIMEOUT/CONNECTION**: Check server network connectivity
|
||||
- **STATUS**: Review server logs and restart if needed
|
||||
- **WRONG REPLY/DECODE/REQUEST**: Investigate server software issues
|
||||
- **KO**: Review server errors and restart
|
||||
|
||||
### For Users
|
||||
- **OK**: Server is working correctly
|
||||
- **TIMEOUT/CONNECTION**: Temporary issue, try again later
|
||||
- **STATUS**: Server may be down for maintenance
|
||||
- **Other errors**: Server issue, contact support if persistent
|
||||
|
||||
## Monitoring Tips
|
||||
|
||||
1. **Continuous Monitoring**: Regular checks of status codes help detect issues early
|
||||
2. **Alert Setup**: Configure alerts for non-OK statuses
|
||||
3. **Log Analysis**: Correlate status codes with server logs
|
||||
4. **Capacity Planning**: Address persistent timeouts/connections with infrastructure improvements
|
||||
|
||||
## Status Processing Logic
|
||||
|
||||
### Status Code Processing
|
||||
```javascript
|
||||
const statusMap = {
|
||||
'OK': 'Health check passed',
|
||||
'TIMEOUT': 'Connection timeout',
|
||||
'CONNECTION': 'Connection error',
|
||||
'STATUS': 'HTTP error',
|
||||
'WRONG REPLY': 'Invalid JSON response',
|
||||
'REQUEST': 'Request error',
|
||||
'BODY': 'Body read error',
|
||||
'DECODE': 'Decode error',
|
||||
'KO': 'Generic error'
|
||||
};
|
||||
|
||||
// Extract base status from status message
|
||||
const st = (data.status||'').split(':')[0];
|
||||
|
||||
// Display only the description (e.g., "Connection timeout" instead of "TIMEOUT: Connection timeout")
|
||||
statusDisplay = statusMap[st] || '—';
|
||||
```
|
||||
|
||||
## Related Documentation
|
||||
|
||||
For more details on server setup, monitoring, and troubleshooting, refer to:
|
||||
- [Server Administration Guide](./administration)
|
||||
- [Status Monitoring Setup](./monitoring-setup)
|
||||
- [Error Resolution Handbook](./error-resolve)
|
||||
|
||||
## Additional Information
|
||||
|
||||
This status system provides a clear, human-readable way to understand server health at a glance, making it easier for administrators to quickly identify and respond to issues.
|
||||
16
index.html
16
index.html
@@ -315,6 +315,7 @@ footer a{color:var(--accent);text-decoration:none}
|
||||
<div class="row"><span>Chain</span><span id="iv-chain">—</span></div>
|
||||
<div class="row"><span>Address</span><span id="iv-addr">—</span></div>
|
||||
<div class="row"><span>Balance</span><span id="iv-balance">—</span></div>
|
||||
<div class="row"><span>Status</span><span id="iv-status">—</span></div>
|
||||
<div class="row"><span>Contact</span><span id="iv-contact">—</span></div>
|
||||
<div class="row"><span>Server</span><span id="iv-url">—</span></div>
|
||||
<div class="row"><span>Will Executor</span><span><a id="iv-weinfo" href="#" target="_blank">—</a></span></div>
|
||||
@@ -382,6 +383,18 @@ let minAmount = 50000;
|
||||
const fmt = n => (n != null ? Number(n).toLocaleString('en-US') : '—');
|
||||
const trunc = (s, m=40) => s && s.length > m ? s.slice(0, m) + '…' : s;
|
||||
|
||||
const statusMap = {
|
||||
'OK': 'Health check passed',
|
||||
'TIMEOUT': 'Connection timeout',
|
||||
'CONNECTION': 'Connection error',
|
||||
'STATUS': 'HTTP error',
|
||||
'WRONG REPLY': 'Invalid JSON response',
|
||||
'REQUEST': 'Request error',
|
||||
'BODY': 'Body read error',
|
||||
'DECODE': 'Decode error',
|
||||
'KO': 'Generic error'
|
||||
};
|
||||
|
||||
function getChain() {
|
||||
const btn = document.querySelector('#chainSeg [aria-pressed="true"]');
|
||||
return btn ? btn.dataset.c : 'bitcoin';
|
||||
@@ -536,6 +549,9 @@ document.getElementById('submit').addEventListener('click', async () => {
|
||||
document.getElementById('iv-chain').textContent = result.chain || chain;
|
||||
document.getElementById('iv-addr').textContent = result.address || '—';
|
||||
document.getElementById('iv-balance').textContent = result.balance != null ? fmt(result.balance) : '—';
|
||||
const statusVal = result.status || '—';
|
||||
const st = (statusVal||'').split(':')[0];
|
||||
document.getElementById('iv-status').textContent = statusMap[st] || '—';
|
||||
document.getElementById('iv-contact').textContent = document.getElementById('contact').value.trim() || '—';
|
||||
const weLink = result.id ? `/weinfo/${result.chain || chain}/${result.id}` : null;
|
||||
const weinfoEl = document.getElementById('iv-weinfo');
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
'KO': 'Generic error'
|
||||
};
|
||||
const st = (data.status||'').split(':')[0];
|
||||
document.getElementById('westatus').innerHTML = DOMPurify.sanitize(data.status||'—') + (statusMap[st] ? ' (' + statusMap[st] + ')' : '');
|
||||
document.getElementById('westatus').innerHTML = statusMap[st] || '—';
|
||||
|
||||
const tableBody = document.querySelector('#wetimes tbody');
|
||||
tableBody.innerHTML ='';
|
||||
|
||||
Reference in New Issue
Block a user