blob: 3bad3feccd5cd03b663c325510931fd6039f219a [file] [log] [blame]
<!doctype html>
<html>
<head>
<title>DataTorrent Mobile Demo</title>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<!--script src="js/vendor/jquery/dist/jquery.js"></script-->
<style>
body {
margin: 0;
}
.phone-input {
margin-left: 0.5em;
margin-right: 0.5em;
}
</style>
</head>
<body>
<script>
var map;
var markers = {};
$(function() {
$("#query1AddButton").click(function() {
var app_id = $("input#app_id").val();
var hostname = $("input#hostname").val();
var job_id = $("input#job_id").val();
var hadoop_version= $("input#hadoop_version").val();
var api_version = $("input#api_version").val();
var rm_port = $("input#rm_port").val();
var hs_port = $("input#hs_port").val();
var jsonData = {
command : 'add',
hostname:hostname,
app_id:app_id,
job_id:job_id,
hadoop_version:hadoop_version,
api_version:api_version,
rm_port:rm_port,
hs_port:hs_port
};
sendQuery(jsonData, function() {
$('#query1SubmitConfirm').html("<div id='message'></div>");
$('#message').html("<h2>Add submitted to application!</h2>")
.append("<p>Result will appear on page shortly.</p>");
});
return false;
});
$("#query1DeleteButton").click(function() {
var job_id = $("input#job_id").val();
var jsonData = {
command : 'delete',
query : job_id
};
sendQuery(jsonData, function() {
$('#query1SubmitConfirm').html("<div id='message'></div>");
$('#message').html("<h2>Add " + phone + " submitted to application!</h2>")
.append("<p>Result will appear on page shortly.</p>");
});
return false;
});
function sendQuery(jsonData, callback) {
var ws = new WebSocket('ws://'+window.location.host+'/pubsub');
ws.onopen = function () {
var topic = "contrib.summit.mrDebugger.mrDebuggerQuery";
var msg = JSON.stringify({ "type" : "publish", "topic" : topic, "data" : jsonData });
ws.send(msg);
console.log("published to: " + topic + " data: " + msg);
ws.close();
if (callback) callback();
};
ws.onerror = function (error) {
console.log('WebSocket Error ' + error);
};
ws.onmessage = function (e) {
console.log('Server: ' + e.data);
};
ws.onclose = function (e) {
console.log('close: ' , e);
};
}
var ws = new WebSocket('ws://'+window.location.host+'/pubsub');
var topic = "contrib.summit.mrDebugger.jobResult";
ws.onopen = function () {
var msg = JSON.stringify({ "type":"subscribe", "topic": topic});
console.log("sending: " + msg);
ws.send(msg);
};
ws.onerror = function (error) {
console.log('WebSocket Error ' + error);
};
ws.onmessage = function (e){
$('#jobQueryResult').append(e.data+"\n");
};
var mapws = new WebSocket('ws://'+window.location.host+'/pubsub');
var maptopic = "contrib.summit.mrDebugger.mapResult";
mapws.onopen = function () {
var msg = JSON.stringify({ "type":"subscribe", "topic": maptopic});
console.log("sending: " + msg);
mapws.send(msg);
};
mapws.onerror = function (error) {
console.log('WebSocket Error ' + error);
};
mapws.onmessage = function (e){
$('#jobMapQueryResult').append(e.data+"\n");
};
var reducews = new WebSocket('ws://'+window.location.host+'/pubsub');
var reducetopic = "contrib.summit.mrDebugger.reduceResult";
reducews.onopen = function () {
var msg = JSON.stringify({ "type":"subscribe", "topic": reducetopic});
console.log("sending: " + msg);
reducews.send(msg);
};
reducews.onerror = function (error) {
console.log('WebSocket Error ' + error);
};
reducews.onmessage = function (e){
$('#jobReduceQueryResult').append(e.data+"\n");
};
});
</script>
<div id="query1FormDiv">
<form name="query1" action="">
<p>
<label for="phone" id="app_id_label">Application Id</label>
<input type="text" name="app_id" id="app_id" size="30" value="" class="phone-input" />
</p>
<p>
<label for="phone" id="job_id_label">Job Id</label>
<input type="text" name="job_id" id="job_id" size="30" value="" class="phone-input" />
</p>
<p>
<label for="phone" id="hostname_label">Hostname</label>
<input type="text" name="hostname" id="hostname" size="30" value="" class="phone-input" />
</p>
<p>
<label for="phone" id="rm_port_label">RM port</label>
<input type="text" name="rm_port" id="rm_port" size="30" value="" class="phone-input" />
</p>
<p>
<label for="phone" id="hs_port_label">History Server port</label>
<input type="text" name="hs_port" id="hs_port" size="30" value="" class="phone-input" />
</p>
<p>
<label for="phone" id="hadoop_version_label">Hadoop Version</label>
<input type="text" name="hadoop_version" id="hadoop_version" size="30" value="" class="phone-input" />
</p>
<p>
<label for="phone" id="api_version_label">API Version</label>
<input type="text" name="api_version" id="api_version" size="30" value="" class="phone-input" />
</p>
<p>
<input type="submit" name="command" class="button" id="query1AddButton" value="Add" />
<input type="submit" name="command" class="button" id="query1DeleteButton" value="Delete" />
<input type="submit" name="command" class="button" id="query1ClearButton" value="Clear" />
</p>
</form>
<div id="query1SubmitConfirm"></div>
<div>Job: <span id="jobQueryResult"></span></div>
<div>Map Task: <span id="jobMapQueryResult"></span></div>
<div>Reduce Job: <span id="jobReduceQueryResult"></span></div>
</div>
</body>
</html>