| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <script id="topology-summary-template" type="text/html"> |
| <table id="topology-summary-table" class="table compact"> |
| <thead> |
| <tr> |
| <th> |
| <span data-toggle="tooltip" data-placement="right" title="The name given to the topology by when it was submitted."> |
| Name |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="right" title="The unique ID given to a Topology each time it is launched."> |
| Id |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="The user that submitted the Topology, if authentication is enabled."> |
| Owner |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="The status can be one of ACTIVE, INACTIVE, KILLED, or REBALANCING."> |
| Status |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="The time since the Topology was submitted."> |
| Uptime |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="The number of Workers (processes)."> |
| Num workers |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="Executors are threads in a Worker process."> |
| Num executors |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" 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> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="Number of nimbus hosts on which this topology's code is replicated. "> |
| Replication count |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="Assigned Total Memory by Scheduler."> |
| Assigned Mem (MB) |
| </span> |
| </th> |
| {{#schedulerDisplayResource}} |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="Assigned Total CPU by Scheduler. Every 100 means 1 core."> |
| Assigned CPU (%) |
| </span> |
| </th> |
| {{/schedulerDisplayResource}} |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="Assigned Generic Rescources by Scheduler."> |
| Assigned Generic Resources |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="left" title="This shows information from the scheduler about the latest attempt to schedule the Topology on the cluster."> |
| Scheduler Info |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="left" title="The version of this topology"> |
| Topology Version |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="left" title="The version of the storm client that this topology request (was launched with)"> |
| Storm Version |
| </span> |
| </th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>{{name}}</td> |
| <td>{{id}}</td> |
| <td><a href="/owner.html?id={{owner}}">{{owner}}</a></td> |
| <td>{{status}}</td> |
| <td>{{uptime}}</td> |
| <td>{{workersTotal}}</td> |
| <td>{{executorsTotal}}</td> |
| <td>{{tasksTotal}}</td> |
| <td>{{replicationCount}}</td> |
| <td>{{assignedTotalMem}}</td> |
| {{#schedulerDisplayResource}} |
| <td>{{assignedCpu}}</td> |
| <td>{{assignedGenericResources}}</td> |
| {{/schedulerDisplayResource}} |
| <td>{{schedulerInfo}}</td> |
| <td>{{topologyVersion}}</td> |
| <td>{{stormVersion}}</td> |
| </tr> |
| </tbody> |
| </table> |
| </script> |
| <script id="topology-resources-template" type="text/html"> |
| <table id="topology-resources-table" class="table compact"> |
| <thead> |
| <tr> |
| <th> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="On-Heap memory that is not shared between executors"> |
| Not Shared On-Heap Mem (MB) |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="On-Heap memory that is shared between executors"> |
| Shared On-Heap Mem (MB) |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="Off-Heap memory that is not shared between executors"> |
| Not Shared Off-Heap Mem (MB) |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="Off-Heap memory that is shared between executors, either within a worker or between workers on a node"> |
| Shared Off-Heap Mem (MB) |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="Total memory MB. For requested only one copy of each shared region is included so assigned may be more than requested."> |
| Total Mem (MB) |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="Total CPU Resource. Every 100 means 1 core."> |
| Total CPU (%) |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="Total Generic Resources."> |
| Total Generic Resources |
| </span> |
| </th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>Requested</td> |
| <td>{{requestedRegularOnHeapMem}}</td> |
| <td>{{requestedSharedOnHeapMem}}</td> |
| <td>{{requestedRegularOffHeapMem}}</td> |
| <td>{{requestedSharedOffHeapMem}}</td> |
| <td>{{requestedTotalMem}}</td> |
| <td>{{requestedCpu}}</td> |
| <td>{{requestedGenericResources}}</td> |
| </tr> |
| <tr> |
| <td>Assigned</td> |
| <td>{{assignedRegularOnHeapMem}}</td> |
| <td>{{assignedSharedOnHeapMem}}</td> |
| <td>{{assignedRegularOffHeapMem}}</td> |
| <td>{{assignedSharedOffHeapMem}}</td> |
| <td>{{assignedTotalMem}}</td> |
| <td>{{assignedCpu}}</td> |
| <td>{{assignedGenericResources}}</td> |
| </tr> |
| </tbody> |
| </table> |
| </script> |
| <script id="topology-stats-template" type="text/html"> |
| <h2>Topology stats</h2> |
| <table class="table table-striped compact" id="topology-stats-table"> |
| <thead> |
| <tr> |
| <th> |
| <span data-toggle="tooltip" data-placement="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 data-toggle="tooltip" data-placement="top" title="The number of Tuples emitted."> |
| Emitted |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="The number of Tuples emitted that sent to one or more bolts."> |
| Transferred |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" 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 data-toggle="tooltip" data-placement="top" title="The number of Tuple "trees" successfully processed. A value of 0 is expected if no acking is done."> |
| Acked |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="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> |
| <td><a href="/topology.html?id={{encodedId}}&window={{window}}">{{windowPretty}}</td> |
| <td>{{emitted}}</td> |
| <td>{{transferred}}</td> |
| <td>{{completeLatency}}</td> |
| <td>{{acked}}</td> |
| <td>{{failed}}</td> |
| </tr> |
| {{/topologyStats}} |
| </tbody> |
| </table> |
| </script> |
| |
| <script id="topology-kafka-spouts-lag-template" type="text/html"> |
| <h2>Kafka Spouts Lag</h2> |
| <table class="table table-striped compact" id="topology-kafka-spouts-lag-table"> |
| <thead> |
| <tr> |
| <th> |
| <span data-toggle="tooltip" data-placement="right" title="Kafka spout id"> |
| Id |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="Topic"> |
| Topic |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="Partition"> |
| Partition |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="Latest Offset"> |
| Latest Offset |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="Offset of last spout message successfully acked"> |
| Spout Committed Offset |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="left" title="Lag"> |
| Lag |
| </span> |
| </th> |
| </tr> |
| </thead> |
| <tbody> |
| {{#kafkaSpoutsLagResults}} |
| <tr> |
| <td>{{id}}</td> |
| <td>{{topic}}</td> |
| <td>{{partition}}</td> |
| <td>{{logHeadOffset}}</td> |
| <td>{{consumerCommittedOffset}}</td> |
| <td>{{lag}}</td> |
| </tr> |
| {{/kafkaSpoutsLagResults}} |
| </tbody> |
| </table> |
| </script> |
| |
| <script id="topology-spouts-lag-error-template" type="text/html"> |
| <h2>Topology spouts lag error</h2> |
| <table class="table table-striped compact" id="topology-spouts-lag-error-table"> |
| <thead> |
| <tr> |
| <th> |
| <span data-toggle="tooltip" data-placement="right" title="Spout id"> |
| Id |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="top" title="Type of spout"> |
| Type |
| </span> |
| </th> |
| <th> |
| <span data-toggle="tooltip" data-placement="left" title="Message to denote the reason for failure to get the lag"> |
| Message |
| </span> |
| </th> |
| </tr> |
| </thead> |
| <tbody> |
| {{#spoutsLagErrorResults}} |
| <tr> |
| <td>{{spoutId}}</td> |
| <td>{{spoutType}}</td> |
| <td>{{errorInfo}}</td> |
| </tr> |
| {{/spoutsLagErrorResults}} |
| </tbody> |
| </table> |
| </script> |
| |
| <script id="topology-visualization-container-template" type="text/html"> |
| <iframe src="/visualize.html?id={{id}}&sys={{sys}}" width="100%" height="500px"></iframe> |
| </script> |
| |
| <script id="topology-visualization-template" type="text/html"> |
| <h2>Topology Visualization</h2> |
| <input type="button" id="show-hide-visualization" value="Show Visualization" class="btn btn-default"/> |
| <input type="button" id="open-visualization" value="Open Visualization" class="btn btn-default"/> |
| <p> |
| <div id="visualization-container" style="display:none;"> |
| </div> |
| </p> |
| </script> |
| |
| <script id="topology-configuration-template" type="text/html"> |
| <h2>Topology Configuration</h2> |
| <table class="table table-striped compact" id="topology-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> |
| <script id="spout-stats-template" type="text/html"> |
| <h2>Spouts ({{windowHint}})</h2> |
| <table class="table table-striped compact" 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." data-toggle="tooltip" data-placement="right"> |
| Id |
| </span> |
| </th> |
| <th class="header table-num"> |
| <span data-original-title="Executors are threads in a Worker process." data-toggle="tooltip" data-placement="right"> |
| Executors |
| </span> |
| </th> |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="top" 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> |
| {{#schedulerDisplayResource}} |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="top" title="The amount of on-heap memory in megabytes requested to run a single executor of this component."> |
| Req On-heap Mem (MB) |
| </span> |
| </th> |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="top" title="The amount of off-heap memory in megabytes requested to run a single executor of this component."> |
| Req Off-heap Mem (MB) |
| </span> |
| </th> |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="top" title="The amount of CPU resources requested to run a single executor of this component. Every 100 means 1 core."> |
| Req CPU |
| </span> |
| </th> |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="top" title="The generic resources requested to run a single executor of this component."> |
| Req Generic |
| </span> |
| </th> |
| {{/schedulerDisplayResource}} |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="top" title="The number of Tuples emitted."> |
| Emitted |
| </span> |
| </th> |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="top" title="The number of Tuples emitted that sent to one or more bolts."> |
| Transferred |
| </span> |
| </th> |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="top" 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 table-num"> |
| <span data-toggle="tooltip" data-placement="top" 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 table-num"> |
| <span data-toggle="tooltip" data-placement="top" 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> |
| <th class="header">Error Time</th> |
| </tr> |
| </thead> |
| <tbody> |
| {{#spouts}} |
| <tr> |
| <td><a href="/component.html?id={{encodedSpoutId}}&topology_id={{encodedId}}">{{spoutId}}</a></td> |
| <td>{{executors}}</td> |
| <td>{{tasks}}</td> |
| {{#schedulerDisplayResource}} |
| <td>{{componentRequestedMemOnHeap}}</td> |
| <td>{{componentRequestedMemOffHeap}}</td> |
| <td>{{componentRequestedCpu}}</td> |
| <td>{{componentRequestedGenericResourcesComp}}</td> |
| {{/schedulerDisplayResource}} |
| <td>{{emitted}}</td> |
| <td>{{transferred}}</td> |
| <td>{{completeLatency}}</td> |
| <td>{{acked}}</td> |
| <td>{{failed}}</td> |
| <td>{{errorHost}}</td> |
| <td><a href="{{errorWorkerLogLink}}">{{errorPort}}</a></td> |
| <td> |
| <span id="{{errorLapsedSecs}}" class="errorSpan">{{lastError}}</span> |
| </td> |
| <td> |
| {{#errorTime}} |
| <span id="{{errorTime}}" class="errorTime" data-toggle="tooltip" title="{{errorLapsedSecs}}">{{errorTime}}</span> |
| {{/errorTime}} |
| </td> |
| {{/spouts}} |
| </tbody> |
| </table> |
| </script> |
| <script id="bolt-stats-template" type="text/html"> |
| <h2>Bolts ({{windowHint}})</h2> |
| <table class="table table-striped compact" id="bolt-stats-table"><thead> |
| <tr> |
| <th class="header headerSortDown"> |
| <span data-toggle="tooltip" data-placement="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 table-num"> |
| <span data-original-title="Executors are threads in a Worker process." data-toggle="tooltip" data-placement="right"> |
| Executors |
| </span> |
| </th> |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="top" 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> |
| {{#schedulerDisplayResource}} |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="top" title="The amount of on-heap memory in megabytes requested to run a single executor of this component."> |
| Req On-heap Mem (MB) |
| </span> |
| </th> |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="top" title="The amount of off-heap memory in megabytes requested to run a single executor of this component."> |
| Req Off-heap Mem (MB) |
| </span> |
| </th> |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="top" title="The amount of CPU resources requested to run a single executor of this component. Every 100 means 1 core."> |
| Req CPU |
| </span> |
| </th> |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="top" title="The generic resources requested to run a single executor of this component."> |
| Req Generic |
| </span> |
| </th> |
| {{/schedulerDisplayResource}} |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="top" title="The number of Tuples emitted."> |
| Emitted |
| </span> |
| </th> |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="top" title="The number of Tuples emitted that sent to one or more bolts."> |
| Transferred |
| </span> |
| </th> |
| <th class="header table-num"> |
| <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." data-toggle="tooltip" data-placement="top"> |
| Capacity (last 10m) |
| </span> |
| </th> |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="top" 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 table-num"> |
| <span data-toggle="tooltip" data-placement="top" title="The number of incoming Tuples processed."> |
| Executed |
| </span> |
| </th> |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="top" 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 table-num"> |
| <span data-toggle="tooltip" data-placement="top" title="The number of Tuples acknowledged by this Bolt."> |
| Acked |
| </span> |
| </th> |
| <th class="header table-num"> |
| <span data-toggle="tooltip" data-placement="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> |
| <th class="header">Error Time</th> |
| </tr></thead> |
| <tbody> |
| {{#bolts}} |
| <tr> |
| <td><a href="/component.html?id={{encodedBoltId}}&topology_id={{encodedId}}">{{boltId}}</a></td> |
| <td>{{executors}}</td> |
| <td>{{tasks}}</td> |
| {{#schedulerDisplayResource}} |
| <td>{{componentRequestedMemOnHeap}}</td> |
| <td>{{componentRequestedMemOffHeap}}</td> |
| <td>{{componentRequestedCpu}}</td> |
| <td>{{componentRequestedGenericResourcesComp}}</td> |
| {{/schedulerDisplayResource}} |
| <td>{{emitted}}</td> |
| <td>{{transferred}}</td> |
| <td>{{capacity}}</td> |
| <td>{{executeLatency}}</td> |
| <td>{{executed}}</td> |
| <td>{{processLatency}}</td> |
| <td>{{acked}}</td> |
| <td>{{failed}}</td> |
| <td>{{errorHost}}</td> |
| <td><a href="{{errorWorkerLogLink}}">{{errorPort}}</a></td> |
| <td> |
| <span id="{{errorLapsedSecs}}" class="errorSpan">{{lastError}}</span> |
| </td> |
| <td> |
| {{#errorTime}} |
| <span id="{{errorTime}}" class="errorTime" data-toggle="tooltip" title="{{errorLapsedSecs}}">{{errorTime}}</span> |
| {{/errorTime}} |
| </td> |
| {{/bolts}} |
| </tbody> |
| </script> |
| <script id="worker-stats-template" type="text/html"> |
| <h2>Worker Resources</h2> |
| <table class="table table-striped compact" id="worker-stats-table"> |
| <thead> |
| <tr> |
| <th class="header headerSortDown"> |
| <span data-original-title="The hostname reported by the remote host. (Note that this hostname is not the result of a reverse lookup at the Nimbus node.)" data-toggle="tooltip" data-placement="top"> |
| Host |
| </span> |
| </th> |
| <th class="header"> |
| <span data-toggle="tooltip" data-placement="top" title="A unique identifier given to a Supervisor when it joins the cluster."> |
| Supervisor Id |
| </span> |
| </th> |
| <th class="header"> |
| <span data-toggle="tooltip" data-placement="top" title="The port number used by the Worker. Click on the port number to open the logviewer page for this Worker."> |
| Port |
| </span> |
| </th> |
| <th class="header"> |
| <span data-toggle="tooltip" data-placement="top" title="The length of time a Worker has been alive."> |
| Uptime |
| </span> |
| </th> |
| <th class="header"> |
| <span data-toggle="tooltip" data-placement="top" title="The number of executors"> |
| Num executors |
| </span> |
| </th> |
| <th class="header"> |
| <span data-toggle="tooltip" data-placement="top" title="Assigned Total Memory by Scheduler."> |
| Assigned Mem (MB) |
| </span> |
| </th> |
| {{#schedulerDisplayResource}} |
| <th class="header"> |
| <span data-toggle="tooltip" data-placement="top" title="Assigned Total CPU by Scheduler. Every 100 means 1 core."> |
| Assigned CPU (%) |
| </span> |
| </th> |
| {{/schedulerDisplayResource}} |
| <th class="header"> |
| <span data-toggle="tooltip" data-placement="top" title="The components running in this worker and the number of tasks per component."> |
| Components |
| </span> |
| </th> |
| </tr></thead> |
| <tbody> |
| </tbody> |
| </script> |
| <script id="topology-actions-template" type="text/html"> |
| <h2>Topology actions</h2> |
| <p id="topology-actions"> |
| <input {{activateStatus}} onclick="confirmAction('{{encodedId}}', '{{name}}', 'activate', false)" type="button" value="Activate" class="btn btn-default"> |
| <input {{deactivateStatus}} onclick="confirmAction('{{encodedId}}', '{{name}}', 'deactivate', false)" type="button" value="Deactivate" class="btn btn-default"> |
| <input {{rebalanceStatus}} onclick="confirmAction('{{encodedId}}', '{{name}}', 'rebalance', true, {{msgTimeout}}, 'wait time in seconds')" type="button" value="Rebalance" class="btn btn-default"> |
| <input {{killStatus}} onclick="confirmAction('{{encodedId}}', '{{name}}', 'kill', true, 30, 'wait time in seconds')" type="button" value="Kill" class="btn btn-default"> |
| {{#loggersDisabled}} |
| <span style="display:inline-block;" data-toggle="tooltip" title="" data-original-title="To debug, set topology.eventlogger.executors to a value > 0"> |
| {{/loggersDisabled}} |
| <input {{startDebugStatus}} onclick="confirmAction('{{encodedId}}', '{{name}}', 'debug/enable', true, {{currentSamplingPct}}, 'sampling percentage', 'debug')" type="button" value="Debug" class="btn btn-default" > |
| {{#loggersDisabled}} |
| </span> |
| {{/loggersDisabled}} |
| <input {{stopDebugStatus}} onclick="confirmAction('{{encodedId}}', '{{name}}', 'debug/disable', false, 0, 'sampling percentage', 'stop debugging')" type="button" value="Stop Debug" class="btn btn-default"> |
| <input type="button" {{logLevel}} value="Change Log Level" onclick="toggleChangeLogLevel()" class="btn btn-default"> |
| </p> |
| <!-- |
| Contents of topology-change-log-level-template will be added to the div below |
| once user clicks on "Change Log Level" |
| --> |
| <div id="change-log-level" style="display:none"></div> |
| </script> |
| |
| <script id="search-form-template" type="text/html"> |
| <form action="search_result.html" id="search-box"> |
| Search {{id}}: |
| <input type="text" name="search"> |
| <input type="hidden" name="id" value="{{id}}"> |
| <input type="hidden" name="count" value="1"> |
| <input type="submit" value="Search"> |
| Search Archived Logs: <input type="checkbox" name="searchArchived" value="checked"> |
| </form> |
| </script> |
| |
| <script id="log-level-and-timeout" type="text/html" class="partials"> |
| <tr id="logger-{{loggerId}}" class="{{cls}}"> |
| {{#loggerName}} |
| <td>{{loggerName}}</td> |
| <input type="hidden" id="loggerName-{{loggerId}}" value="{{loggerName}}"/> |
| <input type="hidden" id="loggerRemove-{{loggerId}}" value="false"/> |
| {{/loggerName}} |
| |
| {{#isNew}} |
| <td> |
| <input type="text" id="loggerName-{{loggerId}}" placeholder="com.your.organization.LoggerName"/> |
| </td> |
| {{/isNew}} |
| |
| <td> |
| <select id="loggerLevel-{{loggerId}}"> |
| {{#levels}} |
| <option value="{{name}}" {{levelSelected}}>{{name}}</option> |
| {{/levels}} |
| </select> |
| </td> |
| <td> |
| <input type="text" class="timeout_input" id="loggerTimeout-{{loggerId}}" placeholder="30" value="{{timeout}}"/> |
| </td> |
| <td> |
| {{absoluteTimeout}} |
| </td> |
| <td> |
| {{#isNew}} |
| <input type="button" value="Add" name="clear" onClick='sendLoggerLevel({{loggerId}})' class="btn btn-secondary"/> |
| {{/isNew}} |
| {{#loggerName}} |
| <input type="button" value="Apply" name="clear" onClick='sendLoggerLevel({{loggerId}})' class="btn btn-secondary"/> |
| {{#canClear}} |
| <input type="button" value="Clear" name="clear" onClick='clearLoggerLevel({{loggerId}})' class="btn btn-secondary"/> |
| {{/canClear}} |
| {{/loggerName}} |
| </td> |
| </tr> |
| </script> |
| |
| <script id="topology-change-log-level-template" type="text/html"> |
| <div id="change-log-level"> |
| <h3>Change Log Level</h3> |
| Modify the logger levels for topology. Note that applying a setting restarts the timer in the workers. To configure the root logger, use the name ROOT. |
| <table class="table table-striped compact"> |
| <thead> |
| <tr> |
| <th class="header">Logger</th> |
| <th class="header">Level</th> |
| <th class="header">Timeout (sec)</th> |
| <th class="header">Expires at</th> |
| <th class="header">Actions</th> |
| </tr> |
| </thead> |
| {{#loggers}} |
| {{ > log-level-and-timeout }} |
| {{/loggers}} |
| </table> |
| </div> |
| </script> |
| |