Needs a lot of cleanup. Data has been de-duplicated, and where identical copies existed, one of them has been replaced with a symlink. Some files have been excluded, such as binaries, installers and debug dumps. Some of that may still be present.
83 lines
No EOL
2.3 KiB
HTML
83 lines
No EOL
2.3 KiB
HTML
<!DOCTYPE html>
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<title>NEEDLE</title>
|
|
<link rel="stylesheet" type="text/css" media="all" href="style.css" />
|
|
</head>
|
|
|
|
<body>
|
|
<h1>NEEDLE Hifi Trace Dashboard</h1>
|
|
|
|
<div>
|
|
<label for="fileselect">Files to upload:</label>
|
|
<input type="file" id="fileselect" name="fileselect[]" multiple="multiple" />
|
|
<! <input type="text" id="fileurl" name="fileurl" />
|
|
<! <button type="button" id="fileurlgo" > <!Load </button>
|
|
<div id="filedrag">or drop trace file here</div>
|
|
</div>
|
|
|
|
<div id="messages">
|
|
<p></p>
|
|
</div>
|
|
|
|
<svg class="chart" width="960" height="500"></svg>
|
|
|
|
<script src="https://d3js.org/d3.v4.min.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/pako/1.0.3/pako.min.js"></script>
|
|
|
|
<script>
|
|
|
|
var svg = d3.select("svg"),
|
|
margin = {top: 20, right: 20, bottom: 30, left: 50},
|
|
width = +svg.attr("width") - margin.left - margin.right,
|
|
height = +svg.attr("height") - margin.top - margin.bottom,
|
|
g = svg.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")");
|
|
</script>
|
|
|
|
<script src="draw-trace.js"></script>
|
|
<script src="tell-trace.js"></script>
|
|
<script src="load-trace.js"></script>
|
|
|
|
<script>
|
|
|
|
// output information
|
|
function Output(msg) {
|
|
var m = document.getElementById("messages");
|
|
m.innerHTML = msg + m.innerHTML;
|
|
}
|
|
|
|
|
|
TraceLoader(function(trace) {
|
|
|
|
var timingMetrics = trace.getTimingMetrics()
|
|
var duration = (trace.metLib.timeDomain[1] - trace.metLib.timeDomain[0]) / 1000
|
|
timingMetrics.forEach(function(cat) {
|
|
Output("<p>" + cat.n + "</p>")
|
|
cat.m.forEach(function(metric) {
|
|
Output("<p>" + metric.m + " t= " + metric.t + " %" + 100 *(metric.t / duration) + " t/c= " + metric.tpc + "</p>")
|
|
})
|
|
|
|
})
|
|
// Output(trace.listMetrics())
|
|
|
|
|
|
|
|
var paintGLMetrics = trace.metLib
|
|
.category("trace.render")
|
|
.metrics("Application::paintGL")
|
|
|
|
var avatarsMetrics = trace.metLib
|
|
.category("trace.simulation.avatar")
|
|
.metrics("NumAvatarsPerSec")
|
|
|
|
var jointsMetrics = trace.metLib
|
|
.category("trace.simulation.avatar")
|
|
.metrics("NumJointsPerSec")
|
|
|
|
var chart = new MetricsChart(g, paintGLMetrics, 0);
|
|
// var chart = new MetricsChart(g, avatarsMetrics, 0);
|
|
// var chart = new MetricsChart(g, jointsMetrics);
|
|
})
|
|
|
|
</script>
|
|
</body> |