Split out open_hooks, close_hooks; global server status
This commit is contained in:
parent
ae86a3e40c
commit
141d5b47a9
|
@ -10,18 +10,21 @@
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<link rel="stylesheet" type="text/css" href="ui.css">
|
<link rel="stylesheet" type="text/css" href="ui.css">
|
||||||
<script type="text/javascript" src="jquery-1.7.2.min.js"></script><script type="text/javascript" src="jquery.stream-1.2.js"></script><script type="text/javascript" src="ocamlmsg.js"></script><!--[if lt IE 9]>
|
<script type="text/javascript" src="jquery-1.7.2.min.js"></script><script type="text/javascript" src="jquery.stream-1.2.js"></script><script type="text/javascript" src="ocamlmsg.js"></script><script type="text/javascript" src="global.js"></script><!--[if lt IE 9]>
|
||||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
<![endif]
|
<![endif]
|
||||||
-->
|
-->
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="navbar navbar-fixed-top"><div class="navbar-inner"><div class="container">
|
<div class="navbar navbar-fixed-top"><div class="navbar-inner"><div class="container">
|
||||||
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></a><a class="brand" href="http://github.com/tonyg/ocamlmsg/">Ocamlmsg</a><div class="nav-collapse"><ul class="nav">
|
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></a><a class="brand" href="http://github.com/tonyg/ocamlmsg/">Ocamlmsg</a><div class="nav-collapse">
|
||||||
|
<ul class="nav">
|
||||||
<li class="btn-danger"><a href="about.html">About</a></li>
|
<li class="btn-danger"><a href="about.html">About</a></li>
|
||||||
<li><a href="/">Main</a></li>
|
<li><a href="/">Main</a></li>
|
||||||
<li><a href="/nodes.html">Nodes</a></li>
|
<li><a href="/nodes.html">Nodes</a></li>
|
||||||
</ul></div>
|
</ul>
|
||||||
|
<ul class="nav pull-right"><li><a id="server_status_message_container"><span id="server_status_message">Connected</span></a></li></ul>
|
||||||
|
</div>
|
||||||
</div></div></div>
|
</div></div></div>
|
||||||
<div class="container"><body>
|
<div class="container"><body>
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
|
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
|
||||||
<script type="text/javascript" src="jquery.stream-1.2.js"></script>
|
<script type="text/javascript" src="jquery.stream-1.2.js"></script>
|
||||||
<script type="text/javascript" src="ocamlmsg.js"></script>
|
<script type="text/javascript" src="ocamlmsg.js"></script>
|
||||||
|
<script type="text/javascript" src="global.js"></script>
|
||||||
<xsl:for-each select="load">
|
<xsl:for-each select="load">
|
||||||
<script type="text/javascript" src="{text()}"></script>
|
<script type="text/javascript" src="{text()}"></script>
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
|
@ -51,6 +52,9 @@
|
||||||
</li>
|
</li>
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
</ul>
|
</ul>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a id="server_status_message_container"><span id="server_status_message">Connected</span></a></li>
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -8,10 +8,6 @@
|
||||||
<body>
|
<body>
|
||||||
<h2>Server statistics</h2>
|
<h2>Server statistics</h2>
|
||||||
<table class="table">
|
<table class="table">
|
||||||
<tr>
|
|
||||||
<th class="span6">Server Status</th>
|
|
||||||
<td class="span6" id="server_ok">OK</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<th class="span6">Connection count</th>
|
<th class="span6">Connection count</th>
|
||||||
<td class="span6" id="server_stats_connection_count"></td>
|
<td class="span6" id="server_stats_connection_count"></td>
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
(function () {
|
||||||
|
function server_disconnected() {
|
||||||
|
$("#server_status_message_container")[0].className = "btn-danger";
|
||||||
|
$("#server_status_message").text("Disconnected");
|
||||||
|
}
|
||||||
|
|
||||||
|
function server_connected() {
|
||||||
|
$("#server_status_message_container")[0].className = "";
|
||||||
|
$("#server_status_message").text("Connected");
|
||||||
|
}
|
||||||
|
|
||||||
|
Ocamlmsg.$open_hooks.push(server_connected);
|
||||||
|
Ocamlmsg.$close_hooks.push(server_disconnected);
|
||||||
|
})();
|
|
@ -10,26 +10,25 @@
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<link rel="stylesheet" type="text/css" href="ui.css">
|
<link rel="stylesheet" type="text/css" href="ui.css">
|
||||||
<script type="text/javascript" src="jquery-1.7.2.min.js"></script><script type="text/javascript" src="jquery.stream-1.2.js"></script><script type="text/javascript" src="ocamlmsg.js"></script><script type="text/javascript" src="index.js"></script><!--[if lt IE 9]>
|
<script type="text/javascript" src="jquery-1.7.2.min.js"></script><script type="text/javascript" src="jquery.stream-1.2.js"></script><script type="text/javascript" src="ocamlmsg.js"></script><script type="text/javascript" src="global.js"></script><script type="text/javascript" src="index.js"></script><!--[if lt IE 9]>
|
||||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
<![endif]
|
<![endif]
|
||||||
-->
|
-->
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="navbar navbar-fixed-top"><div class="navbar-inner"><div class="container">
|
<div class="navbar navbar-fixed-top"><div class="navbar-inner"><div class="container">
|
||||||
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></a><a class="brand" href="http://github.com/tonyg/ocamlmsg/">Ocamlmsg</a><div class="nav-collapse"><ul class="nav">
|
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></a><a class="brand" href="http://github.com/tonyg/ocamlmsg/">Ocamlmsg</a><div class="nav-collapse">
|
||||||
|
<ul class="nav">
|
||||||
<li class="btn-danger"><a href="about.html">About</a></li>
|
<li class="btn-danger"><a href="about.html">About</a></li>
|
||||||
<li class="active"><a href="/">Main</a></li>
|
<li class="active"><a href="/">Main</a></li>
|
||||||
<li><a href="/nodes.html">Nodes</a></li>
|
<li><a href="/nodes.html">Nodes</a></li>
|
||||||
</ul></div>
|
</ul>
|
||||||
|
<ul class="nav pull-right"><li><a id="server_status_message_container"><span id="server_status_message">Connected</span></a></li></ul>
|
||||||
|
</div>
|
||||||
</div></div></div>
|
</div></div></div>
|
||||||
<div class="container"><body>
|
<div class="container"><body>
|
||||||
<h2>Server statistics</h2>
|
<h2>Server statistics</h2>
|
||||||
<table class="table">
|
<table class="table">
|
||||||
<tr>
|
|
||||||
<th class="span6">Server Status</th>
|
|
||||||
<td class="span6" id="server_ok">OK</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<th class="span6">Connection count</th>
|
<th class="span6">Connection count</th>
|
||||||
<td class="span6" id="server_stats_connection_count"></td>
|
<td class="span6" id="server_stats_connection_count"></td>
|
||||||
|
|
12
web/index.js
12
web/index.js
|
@ -1,6 +1,4 @@
|
||||||
function server_disconnected() {
|
function server_disconnected() {
|
||||||
$("#server_ok")[0].className = "btn-danger";
|
|
||||||
$("#server_ok").text("Disconnected");
|
|
||||||
$("#server_stats_connection_count").text("—");
|
$("#server_stats_connection_count").text("—");
|
||||||
$("#server_stats_boot_time").text("—");
|
$("#server_stats_boot_time").text("—");
|
||||||
$("#server_stats_uptime").text("—");
|
$("#server_stats_uptime").text("—");
|
||||||
|
@ -9,8 +7,6 @@ function server_disconnected() {
|
||||||
|
|
||||||
function refresh_server_stats() {
|
function refresh_server_stats() {
|
||||||
$.getJSON("/_/server_stats", function (data) {
|
$.getJSON("/_/server_stats", function (data) {
|
||||||
$("#server_ok")[0].className = "btn-success";
|
|
||||||
$("#server_ok").text("OK");
|
|
||||||
$("#server_stats_connection_count").text(data.connection_count);
|
$("#server_stats_connection_count").text(data.connection_count);
|
||||||
$("#server_stats_boot_time").text(new Date(data.boot_time * 1000));
|
$("#server_stats_boot_time").text(new Date(data.boot_time * 1000));
|
||||||
$("#server_stats_uptime").text(data.uptime);
|
$("#server_stats_uptime").text(data.uptime);
|
||||||
|
@ -30,17 +26,17 @@ function ui_main() {
|
||||||
refresh_server_stats();
|
refresh_server_stats();
|
||||||
setInterval(refresh_server_stats, 5000);
|
setInterval(refresh_server_stats, 5000);
|
||||||
|
|
||||||
Ocamlmsg.install_tap({
|
Ocamlmsg.$open_hooks.push(function (event, stream) {
|
||||||
open: function (event, stream) {
|
|
||||||
refresh_server_stats();
|
refresh_server_stats();
|
||||||
Ocamlmsg.post(stream.id, {"test":true});
|
Ocamlmsg.post(stream.id, {"test":true});
|
||||||
Ocamlmsg.create("fanout", ["system.log"], "completion1");
|
Ocamlmsg.create("fanout", ["system.log"], "completion1");
|
||||||
Ocamlmsg.subscribe("meta", "system.log", "sub_messages", "completion2");
|
Ocamlmsg.subscribe("meta", "system.log", "sub_messages", "completion2");
|
||||||
Ocamlmsg.subscribe("system.log", "", "log_messages", "completion3");
|
Ocamlmsg.subscribe("system.log", "", "log_messages", "completion3");
|
||||||
},
|
});
|
||||||
|
Ocamlmsg.$close_hooks.push(server_disconnected);
|
||||||
|
Ocamlmsg.install_tap({
|
||||||
message: function (event, stream) {
|
message: function (event, stream) {
|
||||||
$("#debug_container").append(JSON.stringify(event.data) + "\n");
|
$("#debug_container").append(JSON.stringify(event.data) + "\n");
|
||||||
},
|
},
|
||||||
close: server_disconnected
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,18 +10,21 @@
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<link rel="stylesheet" type="text/css" href="ui.css">
|
<link rel="stylesheet" type="text/css" href="ui.css">
|
||||||
<script type="text/javascript" src="jquery-1.7.2.min.js"></script><script type="text/javascript" src="jquery.stream-1.2.js"></script><script type="text/javascript" src="ocamlmsg.js"></script><script type="text/javascript" src="nodes.js"></script><!--[if lt IE 9]>
|
<script type="text/javascript" src="jquery-1.7.2.min.js"></script><script type="text/javascript" src="jquery.stream-1.2.js"></script><script type="text/javascript" src="ocamlmsg.js"></script><script type="text/javascript" src="global.js"></script><script type="text/javascript" src="nodes.js"></script><!--[if lt IE 9]>
|
||||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
<![endif]
|
<![endif]
|
||||||
-->
|
-->
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="navbar navbar-fixed-top"><div class="navbar-inner"><div class="container">
|
<div class="navbar navbar-fixed-top"><div class="navbar-inner"><div class="container">
|
||||||
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></a><a class="brand" href="http://github.com/tonyg/ocamlmsg/">Ocamlmsg</a><div class="nav-collapse"><ul class="nav">
|
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></a><a class="brand" href="http://github.com/tonyg/ocamlmsg/">Ocamlmsg</a><div class="nav-collapse">
|
||||||
|
<ul class="nav">
|
||||||
<li class="btn-danger"><a href="about.html">About</a></li>
|
<li class="btn-danger"><a href="about.html">About</a></li>
|
||||||
<li><a href="/">Main</a></li>
|
<li><a href="/">Main</a></li>
|
||||||
<li class="active"><a href="/nodes.html">Nodes</a></li>
|
<li class="active"><a href="/nodes.html">Nodes</a></li>
|
||||||
</ul></div>
|
</ul>
|
||||||
|
<ul class="nav pull-right"><li><a id="server_status_message_container"><span id="server_status_message">Connected</span></a></li></ul>
|
||||||
|
</div>
|
||||||
</div></div></div>
|
</div></div></div>
|
||||||
<div class="container"><body>
|
<div class="container"><body>
|
||||||
<h2>Nodes</h2>
|
<h2>Nodes</h2>
|
||||||
|
|
|
@ -2,6 +2,17 @@ var Ocamlmsg = {
|
||||||
$tap: null,
|
$tap: null,
|
||||||
$args: null,
|
$args: null,
|
||||||
|
|
||||||
|
$open_hooks: [],
|
||||||
|
$close_hooks: [],
|
||||||
|
|
||||||
|
run_open_hooks: function (event, stream) {
|
||||||
|
$.each(Ocamlmsg.$open_hooks, function (i, f) { f(event, stream); });
|
||||||
|
},
|
||||||
|
|
||||||
|
run_close_hooks: function (event, stream) {
|
||||||
|
$.each(Ocamlmsg.$close_hooks, function (i, f) { f(event, stream); });
|
||||||
|
},
|
||||||
|
|
||||||
_send: function (msg) {
|
_send: function (msg) {
|
||||||
Ocamlmsg.$tap.send({data: JSON.stringify(msg)});
|
Ocamlmsg.$tap.send({data: JSON.stringify(msg)});
|
||||||
},
|
},
|
||||||
|
@ -63,10 +74,10 @@ var Ocamlmsg = {
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
enableXDR: true,
|
enableXDR: true,
|
||||||
|
|
||||||
open: args.open,
|
open: Ocamlmsg.run_open_hooks,
|
||||||
message: args.message,
|
message: args.message,
|
||||||
error: args.close,
|
error: Ocamlmsg.run_close_hooks,
|
||||||
close: args.close
|
close: Ocamlmsg.run_close_hooks
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue