github.com/nsqio/nsq@v1.3.0/nsqadmin/static/js/views/channel.hbs (about)

     1  {{> warning}}
     2  {{> error}}
     3  
     4  <ol class="breadcrumb">
     5    <li><a class="link" href="{{basePath "/"}}">Streams</a>
     6    <li><a class="link" href="{{basePath "/topics"}}/{{urlencode topic}}">{{topic}}</a>
     7    <li class="active">{{name}}</li>
     8  </ol>
     9  
    10  <div class="row">
    11      <div class="col-md-6">
    12          <blockquote>
    13              <p>Topic: <strong>{{topic}}</strong>
    14              <p>Channel: <strong>{{name}}</strong>
    15          </blockquote>
    16      </div>
    17  </div>
    18  
    19  {{#unless nodes.length}}
    20  <div class="row">
    21      <div class="col-md-6">
    22          <div class="alert alert-warning">
    23              <h4>Notice</h4> No producers exist for this topic/channel.
    24              <p>See <a class="link" href="{{basePath "/lookup"}}">Lookup</a> for more information.
    25          </div>
    26      </div>
    27  </div>
    28  {{else}}
    29  {{#if isAdmin}}
    30  <div class="row channel-actions">
    31      <div class="col-md-2">
    32          <button class="btn btn-medium btn-warning" data-action="empty">Empty Queue</button>
    33      </div>
    34      <div class="col-md-2">
    35          <button class="btn btn-medium btn-danger" data-action="delete">Delete Channel</button>
    36      </div>
    37      <div class="col-md-2">
    38          {{#if paused}}
    39          <button class="btn btn-medium btn-success" data-action="unpause">UnPause Channel</button>
    40          {{else}}
    41          <button class="btn btn-medium btn-primary" data-action="pause">Pause Channel</button>
    42          {{/if}}
    43      </div>
    44  </div>
    45  {{/if}}
    46  
    47  <div class="row">
    48      <div class="col-md-12">
    49      <h4>Channel</h4>
    50      <table class="table table-bordered table-condensed">
    51          <tr>
    52              <th>&nbsp;</th>
    53              <th colspan="4" class="text-center">Message Queues</th>
    54              <th colspan="{{#if graph_active}}5{{else}}4{{/if}}" class="text-center">Statistics</th>
    55              {{#if e2e_processing_latency.percentiles.length}}
    56              <th colspan="{{e2e_processing_latency.percentiles.length}}">E2E Processing Latency</th>
    57              {{/if}}
    58          </tr>
    59          <tr>
    60              <th>NSQd Host</th>
    61              <th>Depth</th>
    62              <th>Memory + Disk</th>
    63              <th>In-Flight</th>
    64              <th>Deferred</th>
    65              <th>Requeued</th>
    66              <th>Timed Out</th>
    67              <th>Messages</th>
    68              {{#if graph_active}}<th>Rate</th>{{/if}}
    69              <th>Connections</th>
    70              {{#each e2e_processing_latency.percentiles}}
    71                  <th>{{floatToPercent quantile}}<sup>{{percSuffix quantile}}</sup></th>
    72              {{/each}}
    73          </tr>
    74          {{#each nodes}}
    75          <tr>
    76              <td>
    77                  {{#if show_broadcast_address}}
    78                  {{hostname_port}} (<a class="link" href="{{basePath "/nodes"}}/{{node}}">{{node}}</a>)
    79                  {{else}}
    80                  <a class="link" href="{{basePath "/nodes"}}/{{node}}">{{hostname_port}}</a>
    81                  {{/if}}
    82                  {{#if paused}} <span class="label label-primary">paused</span>{{/if}}
    83              </td>
    84              <td>{{commafy depth}}</td>
    85              <td>{{commafy memory_depth}} + {{commafy backend_depth}}</td>
    86              <td>{{commafy in_flight_count}}</td>
    87              <td>{{commafy deferred_count}}</td>
    88              <td>{{commafy requeue_count}}</td>
    89              <td>{{commafy timeout_count}}</td>
    90              <td>{{commafy message_count}}</td>
    91              {{#if ../graph_active}}
    92                  <td class="bold rate" target="{{rate "topic" node topic_name ""}}"></td>
    93              {{/if}}
    94              <td>{{commafy client_count}}</td>
    95              {{#if e2e_processing_latency.percentiles.length}}
    96                  {{#each e2e_processing_latency.percentiles}}
    97                  <td>
    98                      <span title="{{floatToPercent quantile}}: min = {{nanotohuman min}}, max = {{nanotohuman max}}">{{nanotohuman average}}</span>
    99                  </td>
   100                  {{/each}}
   101              {{/if}}
   102          </tr>
   103          {{#if ../graph_active}}
   104          <tr class="graph-row">
   105              <td></td>
   106              <td><a href="{{large_graph "channel" node topic_name channel_name "depth"}}"><img width="120" height="20"  src="{{sparkline "channel" node topic_name channel_name "depth"}}"></a></td>
   107              <td></td>
   108              <td><a href="{{large_graph "channel" node topic_name channel_name "in_flight_count"}}"><img width="120" height="20"  src="{{sparkline "channel" node topic_name channel_name "in_flight_count"}}"></a></td>
   109              <td><a href="{{large_graph "channel" node topic_name channel_name "deferred_count"}}"><img width="120" height="20"  src="{{sparkline "channel" node topic_name channel_name "deferred_count"}}"></a></td>
   110              <td><a href="{{large_graph "channel" node topic_name channel_name "requeue_count"}}"><img width="120" height="20"  src="{{sparkline "channel" node topic_name channel_name "requeue_count"}}"></a></td>
   111              <td><a href="{{large_graph "channel" node topic_name channel_name "timeout_count"}}"><img width="120" height="20"  src="{{sparkline "channel" node topic_name channel_name "timeout_count"}}"></a></td>
   112              <td><a href="{{large_graph "channel" node topic_name channel_name "message_count"}}"><img width="120" height="20"  src="{{sparkline "channel" node topic_name channel_name "message_count"}}"></a></td>
   113              <td></td>
   114              <td><a href="{{large_graph "channel" node topic_name channel_name "clients"}}"><img width="120" height="20"  src="{{sparkline "channel" node topic_name channel_name "clients"}}"></a></td>
   115              {{#if e2e_processing_latency.percentiles.length}}
   116              <td colspan="{{e2e_processing_latency.percentiles.length}}">
   117                  <a href="{{large_graph "e2e" node e2e_processing_latency "" "e2e_processing_latency"}}"><img width="120" height="20" src="{{sparkline "e2e" node e2e_processing_latency "" "e2e_processing_latency"}}"></a>
   118              </td>
   119              {{/if}}
   120          </tr>
   121          {{/if}}
   122          {{/each}}
   123          <tr class="info">
   124              <td>Total:</td>
   125              <td>{{commafy depth}}</td>
   126              <td>{{commafy memory_depth}} + {{commafy backend_depth}}</td>
   127              <td>{{commafy in_flight_count}}</td>
   128              <td>{{commafy deferred_count}}</td>
   129              <td>{{commafy requeue_count}}</td>
   130              <td>{{commafy timeout_count}}</td>
   131              <td>{{commafy message_count}}</td>
   132              {{#if graph_active}}
   133                  <td class="bold rate" target="{{rate "topic" node topic_name ""}}"></td>
   134              {{/if}}
   135              <td>{{commafy client_count}}</td>
   136              {{#if e2e_processing_latency.percentiles.length}}
   137                  {{#each e2e_processing_latency.percentiles}}
   138                  <td>
   139                      <span title="{{floatToPercent quantile}}: min = {{nanotohuman min}}, max = {{nanotohuman max}}">{{nanotohuman average}}</span>
   140                  </td>
   141                  {{/each}}
   142              {{/if}}
   143          </tr>
   144          {{#if graph_active}}
   145          <tr class="graph-row">
   146              <td></td>
   147              <td><a href="{{large_graph "channel" node topic_name channel_name "depth"}}"><img width="120" height="20"  src="{{sparkline "channel" node topic_name channel_name "depth"}}"></a></td>
   148              <td></td>
   149              <td><a href="{{large_graph "channel" node topic_name channel_name "in_flight_count"}}"><img width="120" height="20"  src="{{sparkline "channel" node topic_name channel_name "in_flight_count"}}"></a></td>
   150              <td><a href="{{large_graph "channel" node topic_name channel_name "deferred_count"}}"><img width="120" height="20"  src="{{sparkline "channel" node topic_name channel_name "deferred_count"}}"></a></td>
   151              <td><a href="{{large_graph "channel" node topic_name channel_name "requeue_count"}}"><img width="120" height="20"  src="{{sparkline "channel" node topic_name channel_name "requeue_count"}}"></a></td>
   152              <td><a href="{{large_graph "channel" node topic_name channel_name "timeout_count"}}"><img width="120" height="20"  src="{{sparkline "channel" node topic_name channel_name "timeout_count"}}"></a></td>
   153              <td><a href="{{large_graph "channel" node topic_name channel_name "message_count"}}"><img width="120" height="20"  src="{{sparkline "channel" node topic_name channel_name "message_count"}}"></a></td>
   154              <td></td>
   155              <td><a href="{{large_graph "channel" node topic_name channel_name "clients"}}"><img width="120" height="20"  src="{{sparkline "channel" node topic_name channel_name "clients"}}"></a></td>
   156              {{#if e2e_processing_latency.percentiles.length}}
   157              <td colspan="{{e2e_processing_latency.percentiles.length}}">
   158                  <a href="{{large_graph "e2e" node e2e_processing_latency "" "e2e_processing_latency"}}"><img width="120" height="20"  src="{{sparkline "e2e" node e2e_processing_latency "" "e2e_processing_latency"}}"></a>
   159              </td>
   160              {{/if}}
   161          </tr>
   162          {{/if}}
   163      </table>
   164      </div>
   165  </div>
   166  {{/unless}}
   167  
   168  <h4>Client Connections</h4>
   169  
   170  <div class="row">
   171      <div class="col-md-12">
   172          {{#unless clients.length}}
   173              <div class="alert alert-warning"><h4>Notice</h4>No clients connected to this channel</div>
   174          {{else}}
   175          <table class="table table-bordered table-condensed">
   176              <tr>
   177                  <th>Client Host</th>
   178                  <th>User-Agent</th>
   179                  <th>Attributes</th>
   180                  <th>NSQd Host</th>
   181                  <th>In-Flight</th>
   182                  <th>Ready Count</th>
   183                  <th>Finished</th>
   184                  <th>Requeued</th>
   185                  <th>Messages</th>
   186                  <th>Connected</th>
   187              </tr>
   188              {{#each clients}}
   189              <tr>
   190                  <td title="{{remote_address}}">{{hostname_port}}{{#if show_client_id}} ({{client_id}}){{/if}}</td>
   191                  <td>{{#if user_agent.length}}<small>{{user_agent}}</small>{{/if}}</td>
   192                  <td>
   193                      {{#if sample_rate}}
   194                          <span class="label label-info">Sampled {{sample_rate}}%</span>
   195                      {{/if}}
   196                      {{#if tls}}
   197                          <span class="label label-warning" {{#if tls_version}}title="{{tls_version}} {{tls_cipher_suite}} {{tls_negotiated_protocol}} mutual:{{tls_negotiated_protocol_is_mutual}}"{{/if}}>TLS</span>
   198                      {{/if}}
   199                      {{#if deflate}}
   200                          <span class="label label-default">Deflate</span>
   201                      {{/if}}
   202                      {{#if snappy}}
   203                          <span class="label label-primary">Snappy</span>
   204                      {{/if}}
   205                      {{#if authed}}
   206                          <span class="label label-success">
   207                          {{#if auth_identity_url}}<a href="{{auth_identity_url}}">{{/if}}
   208                          <span class="glyphicon glyphicon-user white" title="Authed{{#if auth_identity}} Identity:{{auth_identity}}{{/if}}"></span>
   209                          {{#if auth_identity_url}}</a>{{/if}}
   210                          </span>
   211                      {{/if}}
   212                  </td>
   213                  <td><a class="link" href="{{basePath "/nodes"}}/{{node}}">{{node}}</a></td>
   214                  <td>{{commafy in_flight_count}}</td>
   215                  <td>{{commafy ready_count}}</td>
   216                  <td>{{commafy finish_count}}</td>
   217                  <td>{{commafy requeue_count}}</td>
   218                  <td>{{commafy message_count}}</td>
   219                  <td>{{nanotohuman connected}}</td>
   220              </tr>
   221              {{/each}}
   222          </table>
   223          {{/unless}}
   224      </div>
   225  </div>