You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by bo...@apache.org on 2014/09/24 19:56:30 UTC
[03/50] git commit: Reformatting template pages.
Reformatting template pages.
Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/d1d2ccbe
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/d1d2ccbe
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/d1d2ccbe
Branch: refs/heads/security
Commit: d1d2ccbe0259778af2d049ee10535ba0f7e9788d
Parents: 9760867
Author: Kyle Nusbaum <Ky...@gmail.com>
Authored: Tue Aug 26 11:40:56 2014 -0500
Committer: Kyle Nusbaum <Ky...@gmail.com>
Committed: Tue Aug 26 11:40:56 2014 -0500
----------------------------------------------------------------------
.../templates/component-page-template.html | 593 ++++++++++++++-----
.../public/templates/index-page-template.html | 219 +++++--
.../templates/topology-page-template.html | 195 +++++-
3 files changed, 810 insertions(+), 197 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/storm/blob/d1d2ccbe/storm-core/src/ui/public/templates/component-page-template.html
----------------------------------------------------------------------
diff --git a/storm-core/src/ui/public/templates/component-page-template.html b/storm-core/src/ui/public/templates/component-page-template.html
index b787eb7..f718967 100644
--- a/storm-core/src/ui/public/templates/component-page-template.html
+++ b/storm-core/src/ui/public/templates/component-page-template.html
@@ -15,159 +15,474 @@
limitations under the License.
-->
<script id="component-summary-template" type="text/html">
-<h2>Component summary</h2>
-<table><thead><tr><th><span class="tip right" title="The ID assigned to a the Component by the Topology.">Id</span></th><th><span class="tip above" title="The name given to the topology by when it was submitted. Click the name to view the Topology's information.">Topology</span></th><th><span class="tip above" title="Executors are threads in a Worker process.">Executors</span></th><th><span class="tip above" title="A Task is an instance of a Bolt or Spout. The number of Tasks is almost always equal to the number of Executors.">Tasks</span></th></tr></thead>
-<tbody>
-<tr>
-<td>{{id}}</td>
-<td><a href="/topology.html?id={{topologyId}}">{{name}}</a></td>
-<td>{{executors}}</td>
-<td>{{tasks}}</td>
-</tbody>
-</table>
+ <h2>Component summary</h2>
+ <table>
+ <thead>
+ <tr>
+ <th>
+ <span class="tip right" title="The ID assigned to a the Component by the Topology.">
+ Id
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="The name given to the topology by when it was submitted. Click the name to view the Topology's information.">
+ Topology
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="Executors are threads in a Worker process.">
+ Executors
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="A Task is an instance of a Bolt or Spout. The number of Tasks is almost always equal to the number of Executors.">
+ Tasks
+ </span>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{id}}</td>
+ <td><a href="/topology.html?id={{topologyId}}">{{name}}</a></td>
+ <td>{{executors}}</td>
+ <td>{{tasks}}</td>
+ </tbody>
+ </table>
</script>
<script id="spout-stats-detail-template" type="text/html">
-<h2>Spout stats</h2>
-<table class="zebra-striped" id="spout-stats-table"><thead><tr><th class="header headerSortDown"><span class="tip right" title="The past period of time for which the statistics apply. Click on a value to set the window for this page.">Window</span></th><th class="header"><span class="tip above" title="The number of Tuples emitted.">Emitted</span></th><th class="header"><span data-original-title="The number of Tuples emitted that sent to one or more bolts." class="tip above">Transferred</span></th><th class="header"><span class="tip above" title="The average time a Tuple "tree" takes to be completely processed by the Topology. A value of 0 is expected if no acking is done.">Complete latency (ms)</span></th><th class="header"><span class="tip above" title="The number of Tuple "trees" successfully processed. A value of 0 is expected if no acking is done.">Acked</span></th><th class="header"><span data-original-title="The number of Tuple "trees" that were e
xplicitly failed or timed out before acking was completed. A value of 0 is expected if no acking is done." class="tip left">Failed</span></th></tr></thead>
-<tbody>
-{{#spoutSummary}}
-<tr>
-<td><a href="/component.html?id={{id}}&topology_id={{topologyId}}&window={{window}}">{{windowPretty}}</a></td>
-<td>{{transferred}}</td>
-<td>{{emitted}}</td>
-<td>{{completeLatency}}</td>
-<td>{{acked}}</td>
-<td>{{failed}}</td>
-</tr>
-{{/spoutSummary}}
-</tbody>
-</table>
+ <h2>Spout stats</h2>
+ <table class="zebra-striped" id="spout-stats-table">
+ <thead>
+ <tr>
+ <th class="header headerSortDown">
+ <span class="tip right" title="The past period of time for which the statistics apply. Click on a value to set the window for this page.">
+ Window
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuples emitted.">
+ Emitted
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The number of Tuples emitted that sent to one or more bolts." class="tip above">
+ Transferred
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The average time a Tuple "tree" takes to be completely processed by the Topology. A value of 0 is expected if no acking is done.">
+ Complete latency (ms)
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuple "trees" successfully processed. A value of 0 is expected if no acking is done.">
+ Acked
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The number of Tuple "trees" that were explicitly failed or timed out before acking was completed. A value of 0 is expected if no acking is done." class="tip left">
+ Failed
+ </span>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ {{#spoutSummary}}
+ <tr>
+ <td><a href="/component.html?id={{id}}&topology_id={{topologyId}}&window={{window}}">{{windowPretty}}</a></td>
+ <td>{{transferred}}</td>
+ <td>{{emitted}}</td>
+ <td>{{completeLatency}}</td>
+ <td>{{acked}}</td>
+ <td>{{failed}}</td>
+ </tr>
+ {{/spoutSummary}}
+ </tbody>
+ </table>
</script>
<script id="output-stats-template" type="text/html">
-<h2>Output stats ({{windowHint}})</h2>
-<table class="zebra-striped" id="output-stats-table"><thead><tr><th class="header headerSortDown"><span data-original-title="The name of the Tuple stream given in the Topolgy, or "default" if none was given." class="tip right">Stream</span></th><th class="header"><span class="tip above" title="The number of Tuples emitted.">Emitted</span></th><th class="header"><span data-original-title="The number of Tuples emitted that sent to one or more bolts." class="tip above">Transferred</span></th><th class="header"><span data-original-title="The average time a Tuple "tree" takes to be completely processed by the Topology. A value of 0 is expected if no acking is done." class="tip above">Complete latency (ms)</span></th><th class="header"><span data-original-title="The number of Tuple "trees" successfully processed. A value of 0 is expected if no acking is done." class="tip above">Acked</span></th><th class="header"><span data-original-title="The number of Tuple
"trees" that were explicitly failed or timed out before acking was completed. A value of 0 is expected if no acking is done." class="tip left">Failed</span></th></tr></thead>
-<tbody>
-{{#outputStats}}
-<tr>
-<td>{{stream}}</td>
-<td>{{emitted}}</td>
-<td>{{transferred}}</td>
-<td>{{completeLatency}}</td>
-<td>{{acked}}</td>
-<td>{{failed}}</td>
-</tr>
-{{/outputStats}}
-</tbody>
-</table>
+ <h2>Output stats ({{windowHint}})</h2>
+ <table class="zebra-striped" id="output-stats-table">
+ <thead>
+ <tr>
+ <th class="header headerSortDown">
+ <span data-original-title="The name of the Tuple stream given in the Topolgy, or "default" if none was given." class="tip right">
+ Stream
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuples emitted.">
+ Emitted
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The number of Tuples emitted that sent to one or more bolts." class="tip above">
+ Transferred
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The average time a Tuple "tree" takes to be completely processed by the Topology. A value of 0 is expected if no acking is done." class="tip above">
+ Complete latency (ms)
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The number of Tuple "trees" successfully processed. A value of 0 is expected if no acking is done." class="tip above">
+ Acked
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The number of Tuple "trees" that were explicitly failed or timed out before acking was completed. A value of 0 is expected if no acking is done." class="tip left">
+ Failed
+ </span>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ {{#outputStats}}
+ <tr>
+ <td>{{stream}}</td>
+ <td>{{emitted}}</td>
+ <td>{{transferred}}</td>
+ <td>{{completeLatency}}</td>
+ <td>{{acked}}</td>
+ <td>{{failed}}</td>
+ </tr>
+ {{/outputStats}}
+ </tbody>
+ </table>
</script>
<script id="executor-stats-template" type="text/html">
-<h2>Executors ({{windowHint}})</h2>
-<table class="zebra-striped" id="executor-stats-table"><thead><tr><th class="header headerSortDown"><span class="tip right" title="The unique executor ID.">Id</span></th><th class="header"><span class="tip right" title="The length of time an Executor (thread) has been alive.">Uptime</span></th><th class="header"><span class="tip above" title="The hostname reported by the remote host. (Note that this hostname is not the result of a reverse lookup at the Nimbus node.)">Host</span></th><th class="header"><span data-original-title="The port number used by the Worker to which an Executor is assigned. Click on the port number to open the logviewer page for this Worker." class="tip above">Port</span></th><th class="header"><span data-original-title="The number of Tuples emitted." class="tip above">Emitted</span></th><th class="header"><span class="tip above" title="The number of Tuples emitted that sent to one or more bolts.">Transferred</span></th><th class="header"><span class="tip above
" title="The average time a Tuple "tree" takes to be completely processed by the Topology. A value of 0 is expected if no acking is done.">Complete latency (ms)</span></th><th class="header"><span class="tip above" title="The number of Tuple "trees" successfully processed. A value of 0 is expected if no acking is done.">Acked</span></th><th class="header"><span data-original-title="The number of Tuple "trees" that were explicitly failed or timed out before acking was completed. A value of 0 is expected if no acking is done." class="tip left">Failed</span></th></tr></thead>
-<tbody>
-{{#executorStats}}
-<tr>
-<td>{{id}}</td>
-<td>{{uptime}}</td>
-<td>{{host}}</td>
-<td><a href="{{workerLogLink}}">{{port}}</a></td>
-<td>{{emitted}}</td>
-<td>{{transferred}}</td>
-<td>{{completeLatency}}</td>
-<td>{{acked}}</td>
-<td>{{failed}}</td>
-</tr>
-{{/executorStats}}
-</tbody>
-</table>
+ <h2>Executors ({{windowHint}})</h2>
+ <table class="zebra-striped" id="executor-stats-table">
+ <thead>
+ <tr>
+ <th class="header headerSortDown">
+ <span class="tip right" title="The unique executor ID.">
+ Id
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip right" title="The length of time an Executor (thread) has been alive.">
+ Uptime
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The hostname reported by the remote host. (Note that this hostname is not the result of a reverse lookup at the Nimbus node.)">
+ Host
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The port number used by the Worker to which an Executor is assigned. Click on the port number to open the logviewer page for this Worker." class="tip above">
+ Port
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The number of Tuples emitted." class="tip above">
+ Emitted
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuples emitted that sent to one or more bolts.">
+ Transferred
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The average time a Tuple "tree" takes to be completely processed by the Topology. A value of 0 is expected if no acking is done.">
+ Complete latency (ms)
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuple "trees" successfully processed. A value of 0 is expected if no acking is done.">
+ Acked
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The number of Tuple "trees" that were explicitly failed or timed out before acking was completed. A value of 0 is expected if no acking is done." class="tip left">
+ Failed
+ </span>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ {{#executorStats}}
+ <tr>
+ <td>{{id}}</td>
+ <td>{{uptime}}</td>
+ <td>{{host}}</td>
+ <td><a href="{{workerLogLink}}">{{port}}</a></td>
+ <td>{{emitted}}</td>
+ <td>{{transferred}}</td>
+ <td>{{completeLatency}}</td>
+ <td>{{acked}}</td>
+ <td>{{failed}}</td>
+ </tr>
+ {{/executorStats}}
+ </tbody>
+ </table>
</script>
<script id="bolt-stats-template" type="text/html">
-<h2>Bolt stats</h2>
-<table class="zebra-striped" id="bolt-stats-table"><thead><tr><th class="header headerSortDown"><span class="tip right" title="The past period of time for which the statistics apply. Click on a value to set the window for this page.">Window</span></th><th class="header"><span class="tip above" title="The number of Tuples emitted.">Emitted</span></th><th class="header"><span class="tip above" title="The number of Tuples emitted that sent to one or more bolts.">Transferred</span></th><th class="header"><span data-original-title="The average time a Tuple spends in the execute method. The execute method may complete without sending an Ack for the tuple." class="tip above">Execute latency (ms)</span></th><th class="header"><span class="tip above" title="The number of incoming Tuples processed.">Executed</span></th><th class="header"><span data-original-title="The average time it takes to Ack a Tuple after it is first received. Bolts that join, aggregate or batch may not Ack a tuple unti
l a number of other Tuples have been received." class="tip above">Process latency (ms)</span></th><th class="header"><span data-original-title="The number of Tuples acknowledged by this Bolt." class="tip above">Acked</span></th><th class="header"><span data-original-title="The number of tuples Failed by this Bolt." class="tip left">Failed</span></th></tr></thead>
-<tbody>
-{{#boltStats}}
-<tr>
-<td><a href="/component.html?id={{id}}&topology_id={{topologyId}}&window={{window}}">{{windowPretty}}</a></td>
-<td>{{emitted}}</td>
-<td>{{transferred}}</td>
-<td>{{executeLatency}}</td>
-<td>{{executed}}</td>
-<td>{{processLatency}}</td>
-<td>{{acked}}</td>
-<td>{{failed}}</td>
-</tr>
-{{/boltStats}}
-</tbody>
-</table>
+ <h2>Bolt stats</h2>
+ <table class="zebra-striped" id="bolt-stats-table">
+ <thead>
+ <tr>
+ <th class="header headerSortDown">
+ <span class="tip right" title="The past period of time for which the statistics apply. Click on a value to set the window for this page.">
+ Window
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuples emitted.">
+ Emitted
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuples emitted that sent to one or more bolts.">
+ Transferred
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The average time a Tuple spends in the execute method. The execute method may complete without sending an Ack for the tuple." class="tip above">
+ Execute latency (ms)
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of incoming Tuples processed.">
+ Executed
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The average time it takes to Ack a Tuple after it is first received. Bolts that join, aggregate or batch may not Ack a tuple until a number of other Tuples have been received." class="tip above">
+ Process latency (ms)
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The number of Tuples acknowledged by this Bolt." class="tip above">
+ Acked
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The number of tuples Failed by this Bolt." class="tip left">
+ Failed
+ </span>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ {{#boltStats}}
+ <tr>
+ <td><a href="/component.html?id={{id}}&topology_id={{topologyId}}&window={{window}}">{{windowPretty}}</a></td>
+ <td>{{emitted}}</td>
+ <td>{{transferred}}</td>
+ <td>{{executeLatency}}</td>
+ <td>{{executed}}</td>
+ <td>{{processLatency}}</td>
+ <td>{{acked}}</td>
+ <td>{{failed}}</td>
+ </tr>
+ {{/boltStats}}
+ </tbody>
+ </table>
</script>
<script id="bolt-input-stats-template" type="text/html">
-<h2>Input stats ({{windowHint}})</h2>
-<table class="zebra-striped" id="bolt-input-stats-table"><thead><tr><th class="header headerSortDown"><span class="tip right" title="The ID assigned to a the Component by the Topology.">Component</span></th><th class="header"><span class="tip right" title="The name of the Tuple stream given in the Topolgy, or "default" if none was given.">Stream</span></th><th class="header"><span class="tip above" title="The average time a Tuple spends in the execute method. The execute method may complete without sending an Ack for the tuple.">Execute latency (ms)</span></th><th class="header"><span class="tip above" title="The number of incoming Tuples processed.">Executed</span></th><th class="header"><span data-original-title="The average time it takes to Ack a Tuple after it is first received. Bolts that join, aggregate or batch may not Ack a tuple until a number of other Tuples have been received." class="tip above">Process latency (ms)</span></th><th class="header"><span class="ti
p above" title="The number of Tuples acknowledged by this Bolt.">Acked</span></th><th class="header"><span data-original-title="The number of tuples Failed by this Bolt." class="tip left">Failed</span></th></tr></thead>
-<tbody>
-{{#inputStats}}
-<tr>
-<td>{{component}}</td>
-<td>{{stream}}</td>
-<td>{{executeLatency}}</td>
-<td>{{executed}}</td>
-<td>{{processLatency}}</td>
-<td>{{acked}}</td>
-<td>{{failed}}</td>
-</tr>
-{{/inputStats}}
-</tbody>
-</table>
+ <h2>Input stats ({{windowHint}})</h2>
+ <table class="zebra-striped" id="bolt-input-stats-table">
+ <thead>
+ <tr>
+ <th class="header headerSortDown">
+ <span class="tip right" title="The ID assigned to a the Component by the Topology.">
+ Component
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip right" title="The name of the Tuple stream given in the Topolgy, or "default" if none was given.">
+ Stream
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The average time a Tuple spends in the execute method. The execute method may complete without sending an Ack for the tuple.">
+ Execute latency (ms)
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of incoming Tuples processed.">
+ Executed
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The average time it takes to Ack a Tuple after it is first received. Bolts that join, aggregate or batch may not Ack a tuple until a number of other Tuples have been received." class="tip above">
+ Process latency (ms)
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuples acknowledged by this Bolt.">
+ Acked
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The number of tuples Failed by this Bolt." class="tip left">
+ Failed
+ </span>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ {{#inputStats}}
+ <tr>
+ <td>{{component}}</td>
+ <td>{{stream}}</td>
+ <td>{{executeLatency}}</td>
+ <td>{{executed}}</td>
+ <td>{{processLatency}}</td>
+ <td>{{acked}}</td>
+ <td>{{failed}}</td>
+ </tr>
+ {{/inputStats}}
+ </tbody>
+ </table>
</script>
<script id="bolt-output-stats-template" type="text/html">
-<h2>Output stats ({{windowHint}})</h2>
-<table class="zebra-striped" id="bolt-output-stats-table"><thead><tr><th class="header headerSortDown"><span class="tip right" title="The name of the Tuple stream given in the Topolgy, or "default" if none was given.">Stream</span></th><th class="header"><span class="tip above" title="The number of Tuples emitted.">Emitted</span></th><th class="header"><span class="tip above" title="The number of Tuples emitted that sent to one or more bolts.">Transferred</span></th></tr></thead>
-<tbody>
-{{#outputStats}}
-<tr>
-<td>{{stream}}</td>
-<td>{{emitted}}</td>
-<td>{{transferred}}</td>
-</tr>
-{{/outputStats}}
-</tbody>
-</table>
+ <h2>Output stats ({{windowHint}})</h2>
+ <table class="zebra-striped" id="bolt-output-stats-table">
+ <thead>
+ <tr>
+ <th class="header headerSortDown">
+ <span class="tip right" title="The name of the Tuple stream given in the Topolgy, or "default" if none was given.">
+ Stream
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuples emitted.">
+ Emitted
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuples emitted that sent to one or more bolts.">
+ Transferred
+ </span>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ {{#outputStats}}
+ <tr>
+ <td>{{stream}}</td>
+ <td>{{emitted}}</td>
+ <td>{{transferred}}</td>
+ </tr>
+ {{/outputStats}}
+ </tbody>
+ </table>
</script>
<script id="bolt-executor-template" type="text/html">
-<h2>Executors</h2>
-<table class="zebra-striped" id="bolt-executor-table"><thead><tr><th class="header headerSortDown"><span class="tip right" title="The unique executor ID.">Id</span></th><th class="header"><span data-original-title="The length of time an Executor (thread) has been alive." class="tip right">Uptime</span></th><th class="header"><span class="tip above" title="The hostname reported by the remote host. (Note that this hostname is not the result of a reverse lookup at the Nimbus node.)">Host</span></th><th class="header"><span class="tip above" title="The port number used by the Worker to which an Executor is assigned. Click on the port number to open the logviewer page for this Worker.">Port</span></th><th class="header"><span class="tip above" title="The number of Tuples emitted.">Emitted</span></th><th class="header"><span class="tip above" title="The number of Tuples emitted that sent to one or more bolts.">Transferred</span></th><th class="header"><span class="tip above" title="If thi
s is around 1.0, the corresponding Bolt is running as fast as it can, so you may want to increase the Bolt's parallelism. This is (number executed * average execute latency) / measurement time.">Capacity (last 10m)</span></th><th class="header"><span data-original-title="The average time a Tuple spends in the execute method. The execute method may complete without sending an Ack for the tuple." class="tip above">Execute latency (ms)</span></th><th class="header"><span class="tip above" title="The number of incoming Tuples processed.">Executed</span></th><th class="header"><span data-original-title="The average time it takes to Ack a Tuple after it is first received. Bolts that join, aggregate or batch may not Ack a tuple until a number of other Tuples have been received." class="tip above">Process latency (ms)</span></th><th class="header"><span data-original-title="The number of Tuples acknowledged by this Bolt." class="tip above">Acked</span></th><th class="header"><span data-ori
ginal-title="The number of tuples Failed by this Bolt." class="tip left">Failed</span></th></tr></thead>
-<tbody>
-{{#executorStats}}
-<tr>
-<td>{{id}}}</td>
-<td>{{uptime}}</td>
-<td>{{host}}</td>
-<td><a href="{{workerLogLink}}">{{port}}</a></td>
-<td>{{emitted}}</td>
-<td>{{transferred}}</td>
-<td>{{capacity}}</td>
-<td>{{executeLatency}}</td>
-<td>{{executed}}</td>
-<td>{{processLatency}}</td>
-<td>{{acked}}</td>
-<td>{{failed}}</td>
-</tr>
-{{/executorStats}}
-</tbody>
-</table>
+ <h2>Executors</h2>
+ <table class="zebra-striped" id="bolt-executor-table">
+ <thead>
+ <tr>
+ <th class="header headerSortDown">
+ <span class="tip right" title="The unique executor ID.">
+ Id
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The length of time an Executor (thread) has been alive." class="tip right">
+ Uptime
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The hostname reported by the remote host. (Note that this hostname is not the result of a reverse lookup at the Nimbus node.)">
+ Host
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The port number used by the Worker to which an Executor is assigned. Click on the port number to open the logviewer page for this Worker.">
+ Port
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuples emitted.">
+ Emitted
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuples emitted that sent to one or more bolts.">
+ Transferred
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="If this is around 1.0, the corresponding Bolt is running as fast as it can, so you may want to increase the Bolt's parallelism. This is (number executed * average execute latency) / measurement time.">
+ Capacity (last 10m)
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The average time a Tuple spends in the execute method. The execute method may complete without sending an Ack for the tuple." class="tip above">
+ Execute latency (ms)
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of incoming Tuples processed.">
+ Executed
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The average time it takes to Ack a Tuple after it is first received. Bolts that join, aggregate or batch may not Ack a tuple until a number of other Tuples have been received." class="tip above">
+ Process latency (ms)
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The number of Tuples acknowledged by this Bolt." class="tip above">
+ Acked
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="The number of tuples Failed by this Bolt." class="tip left">
+ Failed
+ </span>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ {{#executorStats}}
+ <tr>
+ <td>{{id}}}</td>
+ <td>{{uptime}}</td>
+ <td>{{host}}</td>
+ <td><a href="{{workerLogLink}}">{{port}}</a></td>
+ <td>{{emitted}}</td>
+ <td>{{transferred}}</td>
+ <td>{{capacity}}</td>
+ <td>{{executeLatency}}</td>
+ <td>{{executed}}</td>
+ <td>{{processLatency}}</td>
+ <td>{{acked}}</td>
+ <td>{{failed}}</td>
+ </tr>
+ {{/executorStats}}
+ </tbody>
+ </table>
</script>
<script id="component-errors-template" type="text/html">
-<h2>Errors</h2>
-<table class="zebra-striped" id="component-errors-table"><thead><tr><th>Time</th><th>Error Host</th><th>Error Port</th><th>Error</th></tr></thead>
-<tbody>
-{{#componentErrors}}
-<tr>
-<td>{{time}}</td>
-<td>{{errorHost}}</td>
-<td><a href="{{errorWorkerLogLink}}">{{errorPort}}</a></td>
-<td>
- <span id="{{errorLapsedSecs}}" class="errorSpan">{{error}}</span>
-</td>
-</tr>
-{{/componentErrors}}
-</tbody>
-</table>
+ <h2>Errors</h2>
+ <table class="zebra-striped" id="component-errors-table">
+ <thead>
+ <tr>
+ <th>Time</th>
+ <th>Error Host</th>
+ <th>Error Port</th>
+ <th>Error</th>
+ </tr>
+ </thead>
+ <tbody>
+ {{#componentErrors}}
+ <tr>
+ <td>{{time}}</td>
+ <td>{{errorHost}}</td>
+ <td><a href="{{errorWorkerLogLink}}">{{errorPort}}</a></td>
+ <td>
+ <span id="{{errorLapsedSecs}}" class="errorSpan">{{error}}</span>
+ </td>
+ </tr>
+ {{/componentErrors}}
+ </tbody>
+ </table>
</script>
http://git-wip-us.apache.org/repos/asf/storm/blob/d1d2ccbe/storm-core/src/ui/public/templates/index-page-template.html
----------------------------------------------------------------------
diff --git a/storm-core/src/ui/public/templates/index-page-template.html b/storm-core/src/ui/public/templates/index-page-template.html
index 45906e5..d249fac 100644
--- a/storm-core/src/ui/public/templates/index-page-template.html
+++ b/storm-core/src/ui/public/templates/index-page-template.html
@@ -15,64 +15,181 @@
limitations under the License.
-->
<script id="cluster-summary-template" type="text/html">
-<table id="cluster-summary-table"><thead><tr><th><span class="tip right" title="The version of storm installed on the UI node. (Hopefully, this is the same on all storm nodes!)">Version</span></th><th><span class="tip right" title="The duration the current Nimbus instance has been running. (Note that the storm cluster may have been deployed and available for a much longer period than the current Nimbus process has been running.)">Nimbus uptime</span></th><th><span class="tip above" title="The number of nodes in the cluster currently.">Supervisors</span></th><th><span class="tip above" title="Slots are Workers (processes).">Used slots</span></th><th><span class="tip above" title="Slots are Workers (processes).">Free slots</span></th><th><span class="tip above" title="Slots are Workers (processes).">Total slots</span></th><th><span class="tip above" title="Executors are threads in a Worker process.">Executors</span></th><th><span class="tip left" title="A Task is an instance of a Bolt
or Spout. The number of Tasks is almost always equal to the number of Executors.">Tasks</span></th></tr></thead>
-<tbody>
-<tr>
- <td>{{stormVersion}}</td>
- <td>{{nimbusUptime}}</td>
- <td>{{supervisors}}</td>
- <td>{{slotsUsed}}</td>
- <td>{{slotsFree}}</td>
- <td>{{slotsTotal}}</td>
- <td>{{executorsTotal}}</td>
- <td>{{tasksTotal}}</td>
-</tr>
-</tbody>
+<table id="cluster-summary-table">
+ <thead>
+ <tr>
+ <th>
+ <span class="tip right" title="The version of storm installed on the UI node. (Hopefully, this is the same on all storm nodes!)">
+ Version
+ </span>
+ </th>
+ <th>
+ <span class="tip right" title="The duration the current Nimbus instance has been running. (Note that the storm cluster may have been deployed and available for a much longer period than the current Nimbus process has been running.)">
+ Nimbus uptime
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="The number of nodes in the cluster currently.">
+ Supervisors
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="Slots are Workers (processes).">
+ Used slots
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="Slots are Workers (processes).">
+ Free slots
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="Slots are Workers (processes).">
+ Total slots
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="Executors are threads in a Worker process.">
+ Executors
+ </span>
+ </th>
+ <th>
+ <span class="tip left" title="A Task is an instance of a Bolt or Spout. The number of Tasks is almost always equal to the number of Executors.">
+ Tasks
+ </span>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{stormVersion}}</td>
+ <td>{{nimbusUptime}}</td>
+ <td>{{supervisors}}</td>
+ <td>{{slotsUsed}}</td>
+ <td>{{slotsFree}}</td>
+ <td>{{slotsTotal}}</td>
+ <td>{{executorsTotal}}</td>
+ <td>{{tasksTotal}}</td>
+ </tr>
+ </tbody>
</table>
</script>
<script id="topology-summary-template" type="text/html">
-<table class="zebra-striped" id="topology-summary-table">
-<thead><tr><th><span class="tip right" title="The name given to the topology by when it was submitted. Click the name to view the Topology's information.">Name</span></th><th><span class="tip right" title="The unique ID given to a Topology each time it is launched.">Id</span></th><th><span class="tip above" title="The status can be one of ACTIVE, INACTIVE, KILLED, or REBALANCING.">Status</span></th><th><span class="tip above" title="The time since the Topology was submitted.">Uptime</span></th><th><span class="tip above" title="The number of Workers (processes).">Num workers</span></th><th><span class="tip above" title="Executors are threads in a Worker process.">Num executors</span></th><th><span class="tip above" title="A Task is an instance of a Bolt or Spout. The number of Tasks is almost always equal to the number of Executors.">Num tasks</span></th></tr></thead>
-<tbody>
-{{#topologies}}
-<tr>
- <td><a href="/topology.html?id={{id}}">{{name}}</a></td>
- <td>{{id}}</td>
- <td>{{status}}</td>
- <td>{{uptime}}</td>
- <td>{{workersTotal}}</td>
- <td>{{executorsTotal}}</td>
- <td>{{tasksTotal}}</td>
-</tr>
-{{/topologies}}
-</tbody>
-</table>
+ <table class="zebra-striped" id="topology-summary-table">
+ <thead>
+ <tr>
+ <th>
+ <span class="tip right" title="The name given to the topology by when it was submitted. Click the name to view the Topology's information.">
+ Name
+ </span>
+ </th>
+ <th>
+ <span class="tip right" title="The unique ID given to a Topology each time it is launched.">
+ Id
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="The status can be one of ACTIVE, INACTIVE, KILLED, or REBALANCING.">
+ Status
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="The time since the Topology was submitted.">
+ Uptime
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="The number of Workers (processes).">
+ Num workers
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="Executors are threads in a Worker process.">
+ Num executors
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="A Task is an instance of a Bolt or Spout. The number of Tasks is almost always equal to the number of Executors.">
+ Num tasks
+ </span>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ {{#topologies}}
+ <tr>
+ <td><a href="/topology.html?id={{id}}">{{name}}</a></td>
+ <td>{{id}}</td>
+ <td>{{status}}</td>
+ <td>{{uptime}}</td>
+ <td>{{workersTotal}}</td>
+ <td>{{executorsTotal}}</td>
+ <td>{{tasksTotal}}</td>
+ </tr>
+ {{/topologies}}
+ </tbody>
+ </table>
</script>
<script id="supervisor-summary-template" type="text/html">
-<table class="zebra-striped" id="supervisor-summary-table"><thead><tr><th><span class="tip right" title="A unique identifier given to a Supervisor when it joins the cluster.">Id</span></th><th><span class="tip above" title="The hostname reported by the remote host. (Note that this hostname is not the result of a reverse lookup at the Nimbus node.)">Host</span></th><th><span class="tip above" title="The length of time a Supervisor has been registered to the cluster.">Uptime</span></th><th><span class="tip above" title="Slots are Workers (processes).">Slots</span></th><th><span class="tip left" title="Slots are Workers (processes).">Used slots</span></th></tr></thead>
-<tbody>
-{{#supervisors}}
-<tr>
- <td>{{id}}</td>
- <td>{{host}}</td>
- <td>{{uptime}}</td>
- <td>{{slotsTotal}}</td>
- <td>{{slotsUsed}}</td>
-</tr>
-{{/supervisors}}
-</tbody>
+<table class="zebra-striped" id="supervisor-summary-table">
+ <thead>
+ <tr>
+ <th>
+ <span class="tip right" title="A unique identifier given to a Supervisor when it joins the cluster.">
+ Id
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="The hostname reported by the remote host. (Note that this hostname is not the result of a reverse lookup at the Nimbus node.)">
+ Host
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="The length of time a Supervisor has been registered to the cluster.">
+ Uptime
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="Slots are Workers (processes).">
+ Slots
+ </span>
+ </th>
+ <th>
+ <span class="tip left" title="Slots are Workers (processes).">
+ Used slots
+ </span>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ {{#supervisors}}
+ <tr>
+ <td>{{id}}</td>
+ <td>{{host}}</td>
+ <td>{{uptime}}</td>
+ <td>{{slotsTotal}}</td>
+ <td>{{slotsUsed}}</td>
+ </tr>
+ {{/supervisors}}
+ </tbody>
</table>
</script>
<script id="configuration-template" type="text/html">
-<table class="zebra-striped" id="nimbus-configuration-table"><thead><tr><th>Key</th><th>Value</th></tr></thead>
-<tbody>
-{{#config}}
-<tr>
-<td>{{key}}</td>
-<td>{{value}}</td>
-</tr>
-{{/config}}
-</tbody>
-</table>
+ <table class="zebra-striped" id="nimbus-configuration-table">
+ <thead>
+ <tr>
+ <th>Key</th>
+ <th>Value</th>
+ </tr>
+ </thead>
+ <tbody>
+ {{#config}}
+ <tr>
+ <td>{{key}}</td>
+ <td>{{value}}</td>
+ </tr>
+ {{/config}}
+ </tbody>
+ </table>
</script>
http://git-wip-us.apache.org/repos/asf/storm/blob/d1d2ccbe/storm-core/src/ui/public/templates/topology-page-template.html
----------------------------------------------------------------------
diff --git a/storm-core/src/ui/public/templates/topology-page-template.html b/storm-core/src/ui/public/templates/topology-page-template.html
index 2b93ed6..b977071 100644
--- a/storm-core/src/ui/public/templates/topology-page-template.html
+++ b/storm-core/src/ui/public/templates/topology-page-template.html
@@ -16,7 +16,45 @@
-->
<script id="topology-summary-template" type="text/html">
<table id="topology-summary-table">
- <thead><tr><th><span class="tip right" title="The name given to the topology by when it was submitted.">Name</span></th><th><span class="tip right" title="The unique ID given to a Topology each time it is launched.">Id</span></th><th><span class="tip above" title="The status can be one of ACTIVE, INACTIVE, KILLED, or REBALANCING.">Status</span></th><th><span class="tip above" title="The time since the Topology was submitted.">Uptime</span></th><th><span class="tip above" title="The number of Workers (processes).">Num workers</span></th><th><span class="tip above" title="Executors are threads in a Worker process.">Num executors</span></th><th><span class="tip above" title="A Task is an instance of a Bolt or Spout. The number of Tasks is almost always equal to the number of Executors.">Num tasks</span></th></tr></thead>
+ <thead>
+ <tr>
+ <th>
+ <span class="tip right" title="The name given to the topology by when it was submitted.">
+ Name
+ </span>
+ </th>
+ <th>
+ <span class="tip right" title="The unique ID given to a Topology each time it is launched.">
+ Id
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="The status can be one of ACTIVE, INACTIVE, KILLED, or REBALANCING.">
+ Status
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="The time since the Topology was submitted.">
+ Uptime
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="The number of Workers (processes).">
+ Num workers
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="Executors are threads in a Worker process.">
+ Num executors
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="A Task is an instance of a Bolt or Spout. The number of Tasks is almost always equal to the number of Executors.">
+ Num tasks
+ </span>
+ </th>
+ </tr>
+ </thead>
<tbody>
<tr>
<td>{{name}}</td>
@@ -33,7 +71,40 @@
<script id="topology-stats-template" type="text/html">
<h2>Topology stats</h2>
<table class="zebra-striped" id="topology-stats-table">
- <thead><tr><th><span class="tip right" title="The past period of time for which the statistics apply. Click on a value to set the window for this page.">Window</span></th><th><span class="tip above" title="The number of Tuples emitted.">Emitted</span></th><th><span class="tip above" title="The number of Tuples emitted that sent to one or more bolts.">Transferred</span></th><th><span class="tip above" title="The average time a Tuple "tree" takes to be completely processed by the Topology. A value of 0 is expected if no acking is done.">Complete latency (ms)</span></th><th><span class="tip above" title="The number of Tuple "trees" successfully processed. A value of 0 is expected if no acking is done.">Acked</span></th><th><span class="tip left" title="The number of Tuple "trees" that were explicitly failed or timed out before acking was completed. A value of 0 is expected if no acking is done.">Failed</span></th></tr></thead>
+ <thead>
+ <tr>
+ <th>
+ <span class="tip right" title="The past period of time for which the statistics apply. Click on a value to set the window for this page.">
+ Window
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="The number of Tuples emitted.">
+ Emitted
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="The number of Tuples emitted that sent to one or more bolts.">
+ Transferred
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="The average time a Tuple "tree" takes to be completely processed by the Topology. A value of 0 is expected if no acking is done.">
+ Complete latency (ms)
+ </span>
+ </th>
+ <th>
+ <span class="tip above" title="The number of Tuple "trees" successfully processed. A value of 0 is expected if no acking is done.">
+ Acked
+ </span>
+ </th>
+ <th>
+ <span class="tip left" title="The number of Tuple "trees" that were explicitly failed or timed out before acking was completed. A value of 0 is expected if no acking is done.">
+ Failed
+ </span>
+ </th>
+ </tr>
+ </thead>
<tbody>
{{#topologyStats}}
<tr>
@@ -96,7 +167,53 @@
<h2>Spouts ({{windowHint}})</h2>
<table class="zebra-striped" id="spout-stats-table">
<thead>
- <tr><th class="header headerSortDown"><span data-original-title="The ID assigned to a the Component by the Topology. Click on the name to view the Component's page." class="tip right">Id</span></th><th class="header"><span data-original-title="Executors are threads in a Worker process." class="tip right">Executors</span></th><th class="header"><span class="tip above" title="A Task is an instance of a Bolt or Spout. The number of Tasks is almost always equal to the number of Executors.">Tasks</span></th><th class="header"><span class="tip above" title="The number of Tuples emitted.">Emitted</span></th><th class="header"><span class="tip above" title="The number of Tuples emitted that sent to one or more bolts.">Transferred</span></th><th class="header"><span class="tip above" title="The average time a Tuple "tree" takes to be completely processed by the Topology. A value of 0 is expected if no acking is done.">Complete latency (ms)</span></th><th class="header"><span
class="tip above" title="The number of Tuple "trees" successfully processed. A value of 0 is expected if no acking is done.">Acked</span></th><th class="header"><span class="tip above" title="The number of Tuple "trees" that were explicitly failed or timed out before acking was completed. A value of 0 is expected if no acking is done.">Failed</span></th><th class="header">Error Host</th><th class="header">Error Port</th><th class="header">Last error</th>
+ <tr>
+ <th class="header headerSortDown">
+ <span data-original-title="The ID assigned to a the Component by the Topology. Click on the name to view the Component's page." class="tip right">
+ Id
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="Executors are threads in a Worker process." class="tip right">
+ Executors
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="A Task is an instance of a Bolt or Spout. The number of Tasks is almost always equal to the number of Executors.">
+ Tasks
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuples emitted.">
+ Emitted
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuples emitted that sent to one or more bolts.">
+ Transferred
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The average time a Tuple "tree" takes to be completely processed by the Topology. A value of 0 is expected if no acking is done.">
+ Complete latency (ms)
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuple "trees" successfully processed. A value of 0 is expected if no acking is done.">
+ Acked
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuple "trees" that were explicitly failed or timed out before acking was completed. A value of 0 is expected if no acking is done.">
+ Failed
+ </span>
+ </th>
+ <th class="header">Error Host
+ </th>
+ <th class="header">Error Port
+ </th>
+ <th class="header">Last error
+ </th>
</tr>
</thead>
<tbody>
@@ -113,7 +230,7 @@
<td>{{errorHost}}</td>
<td><a href="{{errorWorkerLogLink}}">{{errorPort}}</a></td>
<td>
- <span id="{{errorLapsedSecs}}" class="errorSpan">{{lastError}}</span>
+ <span id="{{errorLapsedSecs}}" class="errorSpan">{{lastError}}</span>
</td>
{{/spouts}}
</tbody>
@@ -122,7 +239,68 @@
<script id="bolt-stats-template" type="text/html">
<h2>Bolts ({{windowHint}})</h2>
<table class="zebra-striped" id="bolt-stats-table"><thead>
- <tr><th class="header headerSortDown"><span class="tip right" title="The ID assigned to a the Component by the Topology. Click on the name to view the Component's page.">Id</span></th><th class="header"><span data-original-title="Executors are threads in a Worker process." class="tip right">Executors</span></th><th class="header"><span class="tip above" title="A Task is an instance of a Bolt or Spout. The number of Tasks is almost always equal to the number of Executors.">Tasks</span></th><th class="header"><span class="tip above" title="The number of Tuples emitted.">Emitted</span></th><th class="header"><span class="tip above" title="The number of Tuples emitted that sent to one or more bolts.">Transferred</span></th><th class="header"><span data-original-title="If this is around 1.0, the corresponding Bolt is running as fast as it can, so you may want to increase the Bolt's parallelism. This is (number executed * average execute latency) / measurement time." class="tip abov
e">Capacity (last 10m)</span></th><th class="header"><span class="tip above" title="The average time a Tuple spends in the execute method. The execute method may complete without sending an Ack for the tuple.">Execute latency (ms)</span></th><th class="header"><span class="tip above" title="The number of incoming Tuples processed.">Executed</span></th><th class="header"><span class="tip above" title="The average time it takes to Ack a Tuple after it is first received. Bolts that join, aggregate or batch may not Ack a tuple until a number of other Tuples have been received.">Process latency (ms)</span></th><th class="header"><span class="tip above" title="The number of Tuples acknowledged by this Bolt.">Acked</span></th><th class="header"><span class="tip left" title="The number of tuples Failed by this Bolt.">Failed</span></th><th class="header">Error Host</th><th class="header">Error Port</th><th class="header">Last error</th>
+ <tr>
+ <th class="header headerSortDown">
+ <span class="tip right" title="The ID assigned to a the Component by the Topology. Click on the name to view the Component's page.">
+ Id
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="Executors are threads in a Worker process." class="tip right">
+ Executors
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="A Task is an instance of a Bolt or Spout. The number of Tasks is almost always equal to the number of Executors.">
+ Tasks
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuples emitted.">
+ Emitted
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuples emitted that sent to one or more bolts.">
+ Transferred
+ </span>
+ </th>
+ <th class="header">
+ <span data-original-title="If this is around 1.0, the corresponding Bolt is running as fast as it can, so you may want to increase the Bolt's parallelism. This is (number executed * average execute latency) / measurement time." class="tip above">
+ Capacity (last 10m)
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The average time a Tuple spends in the execute method. The execute method may complete without sending an Ack for the tuple.">
+ Execute latency (ms)
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of incoming Tuples processed.">
+ Executed
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The average time it takes to Ack a Tuple after it is first received. Bolts that join, aggregate or batch may not Ack a tuple until a number of other Tuples have been received.">
+ Process latency (ms)
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip above" title="The number of Tuples acknowledged by this Bolt.">
+ Acked
+ </span>
+ </th>
+ <th class="header">
+ <span class="tip left" title="The number of tuples Failed by this Bolt.">
+ Failed
+ </span>
+ </th>
+ <th class="header">Error Host
+ </th>
+ <th class="header">Error Port
+ </th>
+ <th class="header">Last error
+ </th>
</tr></thead>
<tbody>
{{#bolts}}
@@ -141,12 +319,15 @@
<td>{{errorHost}}</td>
<td><a href="{{errorWorkerLogLink}}">{{errorPort}}</a></td>
<td>
- <span id="{{errorLapsedSecs}}" class="errorSpan">{{lastError}}</span>
+ <span id="{{errorLapsedSecs}}" class="errorSpan">{{lastError}}</span>
</td>
{{/bolts}}
</tbody>
</script>
<script id="topology-actions-template" type="text/html">
- <input {{activateStatus}} onclick="confirmAction('{{id}}', '{{name}}', 'activate', false, 0)" type="button" value="Activate"><input {{deactivateStatus}} onclick="confirmAction('{{id}}', '{{name}}', 'deactivate', false, 0)" type="button" value="Deactivate"><input {{rebalanceStatus}} onclick="confirmAction('{{id}}', '{{name}}', 'rebalance', true, {{msgTimeout}})" type="button" value="Rebalance"><input {{killStatus}} onclick="confirmAction('{{id}}', '{{name}}', 'kill', true, 30)" type="button" value="Kill">
+ <input {{activateStatus}} onclick="confirmAction('{{id}}', '{{name}}', 'activate', false, 0)" type="button" value="Activate">
+ <input {{deactivateStatus}} onclick="confirmAction('{{id}}', '{{name}}', 'deactivate', false, 0)" type="button" value="Deactivate">
+ <input {{rebalanceStatus}} onclick="confirmAction('{{id}}', '{{name}}', 'rebalance', true, {{msgTimeout}})" type="button" value="Rebalance">
+ <input {{killStatus}} onclick="confirmAction('{{id}}', '{{name}}', 'kill', true, 30)" type="button" value="Kill">
</script>