{!d3loaded ? "Loading D3 please wait..." : (loading ? "Loading network please wait..." : (err ? "ERR: " + err : "Admin Node Explorer"))}
{currentNode ?
{currentNode.name} - {currentNode.nodeId} [{currentNode.groupId}]
{
(currentNode as INetworkDbNode).host ?
HOST: {(currentNode as INetworkDbNode).host}
:
null
}
{
(currentNode as INetworkServerNode).type ?
TYPE: {(currentNode as INetworkServerNode).type}
:
null
}
{
typeof (currentNode as INetworkServerNode).alive === "boolean" ?
STATUS: {(currentNode as INetworkServerNode).alive ? " RUNNING" : " DEAD"}
:
null
}
{
(currentNode as INetworkServerNode).lastHeard ?
LAST HEARD: {lastHeardDate.toLocaleDateString()} {lastHeardDate.toLocaleTimeString()}
:
null
}
{
(currentNode as INetworkServerNode).createdAt ?
SPAWNED AT: {createdAtDate.toLocaleDateString()} {createdAtDate.toLocaleTimeString()}
:
null
}
{
(currentNode as INetworkServerNode).envData ?
ENV
{Object.keys((currentNode as INetworkServerNode).envData).map((k) => {
return (
| {k} |
{JSON.stringify((currentNode as INetworkServerNode).envData[k])} |
)
})}
:
null
}
{
currentNode.links.length ?
LINKS
{currentNode.links.map((k, i) => {
const nodeInQuestion = currentRenderedNetwork.current.nodes.find((n) => n.nodeId === k.id);
const isDead = nodeInQuestion.nodeType === "server" && !(nodeInQuestion as INetworkServerNode).alive;
if (isDead && !showDead) {
return null;
}
return (
| {k.type} |
{k.id} |
{isDead ? "DEAD" : "RUNNING"} |
);
})}
:
null
}
: null}
{currentNode ?
: null}
{currentNode && currentNode.nodeType === "server" ?
MEMORY AND CPU USAGE {loadingPings ? "(Loading please wait...)" : (pingsErr ? "(" + pingsErr + ")" : "")}
{useTimeCriteria.from && useTimeCriteria.from > (new Date(currentNode.createdAt)).getTime() ? : null}
{useTimeCriteria.to === null || (!currentNode.alive && (new Date(currentNode.lastHeard)).getTime() < useTimeCriteria.to) ? null : (
)}
{useTimeCriteria.from ?
viewing logs from {(new Date(useTimeCriteria.from)).toLocaleDateString()} {(new Date(useTimeCriteria.from)).toLocaleTimeString()}-{useTimeCriteria.to ?
((new Date(useTimeCriteria.to)).toLocaleDateString() + " " + (new Date(useTimeCriteria.to)).toLocaleTimeString()) : "now"}
: null}
CPU usage
60 second entire CPU average load
Memory usage
Process array buffers memory (MB)
Process external usage (MB)
: null}
{currentNode && currentNode.nodeType === "server" ?
LOGS {loadingLogs ? "(Loading please wait...)" : (logsErr ? "(" + logsErr + ")" : "")}
{useLogWindowCriteria.from && useLogWindowCriteria.from > (new Date(currentNode.createdAt)).getTime() ? : null}
{useLogWindowCriteria.to === null || (!currentNode.alive && (new Date(currentNode.lastHeard)).getTime() < useLogWindowCriteria.to) ? null : (
)}
{logs ?
{logs.level.toUpperCase() + " logs (oldest first)"}
: null}
{useLogWindowCriteria.from ?
viewing logs from {(new Date(useLogWindowCriteria.from)).toLocaleDateString()} {(new Date(useLogWindowCriteria.from)).toLocaleTimeString()}-{useLogWindowCriteria.to ?
((new Date(useLogWindowCriteria.to)).toLocaleDateString() + " " + (new Date(useLogWindowCriteria.to)).toLocaleTimeString()) : "now"}
: null}
{logs && logs.records.map((r, i) => {
const timeDate = new Date(r.createdAt);
return (
{r.data.orphan ? (
ORPHAN
) : null}
{r.data.className || r.data.methodName || r.data.endpoint || r.data.functionName ?
{r.data.className ?
class:
{r.data.className}
: null}
{r.data.methodName ?
method:
.{r.data.methodName}(...)
: null}
{r.data.functionName ?
function:
{r.data.functionName}(...)
: null}
{r.data.endpoint ?
endpoint:
{r.data.endpoint}
: null}
: null}
{r.data.message ?
{r.data.message}
: null}
{r.data.errMessage ?
{r.data.errMessage}
: null}
{r.data.errStack ?
{r.data.errStack}
: null}
{timeDate.toLocaleDateString()} {timeDate.toLocaleTimeString()}
)
})}
: null}
);
}