123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 |
- {{> warning}}
- {{> error}}
- <ol class="breadcrumb">
- <li><a class="link" href="{{basePath "/"}}">数据流</a>
- <li><a class="link" href="{{basePath "/topics"}}/{{urlencode topic}}">{{topic}}</a>
- <li class="active">{{name}}</li>
- </ol>
- <div class="row">
- <div class="col-md-6">
- <blockquote>
- <p>主题:<strong>{{topic}}</strong>
- <p>通道: <strong>{{name}}</strong>
- </blockquote>
- </div>
- </div>
- {{#unless nodes.length}}
- <div class="row">
- <div class="col-md-6">
- <div class="alert alert-warning">
- <h4>注意</h4> 没有消息生产者.
- </div>
- </div>
- </div>
- {{else}}
- {{#if isAdmin}}
- <div class="row channel-actions">
- <div class="col-md-2">
- <button class="btn btn-medium btn-warning" data-action="empty">清空队列</button>
- </div>
- <div class="col-md-2">
- <button class="btn btn-medium btn-danger" data-action="delete">删除通道</button>
- </div>
- <div class="col-md-2">
- {{#if paused}}
- <button class="btn btn-medium btn-success" data-action="unpause">恢复Channel</button>
- {{else}}
- <button class="btn btn-medium btn-primary" data-action="pause">暂停通道</button>
- {{/if}}
- </div>
- </div>
- {{/if}}
- <div class="row">
- <div class="col-md-12">
- <h4>通道</h4>
- <table class="table table-bordered table-condensed">
- <tr>
- <th> </th>
- <th colspan="4" class="text-center">消息队列</th>
- <th colspan="{{#if graph_active}}5{{else}}4{{/if}}" class="text-center">统计</th>
- {{#if e2e_processing_latency.percentiles.length}}
- <th colspan="{{e2e_processing_latency.percentiles.length}}">端到端延时</th>
- {{/if}}
- </tr>
- <tr>
- <th>主机</th>
- <th>队列</th>
- <th>内存 + 磁盘</th>
- <th>处理中</th>
- <th>推迟</th>
- <th>重新入队</th>
- <th>超时</th>
- <th>消息</th>
- {{#if graph_active}}<th>速率</th>{{/if}}
- <th>已连接</th>
- {{#each e2e_processing_latency.percentiles}}
- <th>{{floatToPercent quantile}}<sup>{{percSuffix quantile}}</sup></th>
- {{/each}}
- </tr>
- {{#each nodes}}
- <tr>
- <td>
- {{#if show_broadcast_address}}
- {{hostname_port}} (<a class="link" href="{{basePath "/nodes"}}/{{node}}">{{node}}</a>)
- {{else}}
- <a class="link" href="{{basePath "/nodes"}}/{{node}}">{{hostname_port}}</a>
- {{/if}}
- {{#if paused}} <span class="label label-primary">paused</span>{{/if}}
- </td>
- <td>{{commafy depth}}</td>
- <td>{{commafy memory_depth}} + {{commafy backend_depth}}</td>
- <td>{{commafy in_flight_count}}</td>
- <td>{{commafy deferred_count}}</td>
- <td>{{commafy requeue_count}}</td>
- <td>{{commafy timeout_count}}</td>
- <td>{{commafy message_count}}</td>
- {{#if ../graph_active}}
- <td class="bold rate" target="{{rate "topic" node topic_name ""}}"></td>
- {{/if}}
- <td>{{commafy client_count}}</td>
- {{#if e2e_processing_latency.percentiles.length}}
- {{#each e2e_processing_latency.percentiles}}
- <td>
- <span title="{{floatToPercent quantile}}: min = {{nanotohuman min}}, max = {{nanotohuman max}}">{{nanotohuman average}}</span>
- </td>
- {{/each}}
- {{/if}}
- </tr>
- {{#if ../graph_active}}
- <tr class="graph-row">
- <td></td>
- <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>
- <td></td>
- <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>
- <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>
- <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>
- <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>
- <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>
- <td></td>
- <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>
- {{#if e2e_processing_latency.percentiles.length}}
- <td colspan="{{e2e_processing_latency.percentiles.length}}">
- <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>
- </td>
- {{/if}}
- </tr>
- {{/if}}
- {{/each}}
- <tr class="info">
- <td>总计:</td>
- <td>{{commafy depth}}</td>
- <td>{{commafy memory_depth}} + {{commafy backend_depth}}</td>
- <td>{{commafy in_flight_count}}</td>
- <td>{{commafy deferred_count}}</td>
- <td>{{commafy requeue_count}}</td>
- <td>{{commafy timeout_count}}</td>
- <td>{{commafy message_count}}</td>
- {{#if graph_active}}
- <td class="bold rate" target="{{rate "topic" node topic_name ""}}"></td>
- {{/if}}
- <td>{{commafy client_count}}</td>
- {{#if e2e_processing_latency.percentiles.length}}
- {{#each e2e_processing_latency.percentiles}}
- <td>
- <span title="{{floatToPercent quantile}}: min = {{nanotohuman min}}, max = {{nanotohuman max}}">{{nanotohuman average}}</span>
- </td>
- {{/each}}
- {{/if}}
- </tr>
- {{#if graph_active}}
- <tr class="graph-row">
- <td></td>
- <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>
- <td></td>
- <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>
- <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>
- <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>
- <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>
- <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>
- <td></td>
- <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>
- {{#if e2e_processing_latency.percentiles.length}}
- <td colspan="{{e2e_processing_latency.percentiles.length}}">
- <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>
- </td>
- {{/if}}
- </tr>
- {{/if}}
- </table>
- </div>
- </div>
- {{/unless}}
- <h4>客户端连接</h4>
- <div class="row">
- <div class="col-md-12">
- {{#unless clients.length}}
- <div class="alert alert-warning"><h4>注意</h4>没有客户端连接</div>
- {{else}}
- <table class="table table-bordered table-condensed">
- <tr>
- <th>主机</th>
- <th>客户端</th>
- <th>属性</th>
- <th>消息服务主机</th>
- <th>处理中</th>
- <th>就绪数</th>
- <th>完成</th>
- <th>重入队列</th>
- <th>消息</th>
- <th>已连接</th>
- </tr>
- {{#each clients}}
- <tr>
- <td title="{{remote_address}}">{{hostname_port}}{{#if show_client_id}} ({{client_id}}){{/if}}</td>
- <td>{{#if user_agent.length}}<small>{{user_agent}}</small>{{/if}}</td>
- <td>
- {{#if sample_rate}}
- <span class="label label-info">Sampled {{sample_rate}}%</span>
- {{/if}}
- {{#if tls}}
- <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>
- {{/if}}
- {{#if deflate}}
- <span class="label label-default">Deflate</span>
- {{/if}}
- {{#if snappy}}
- <span class="label label-primary">Snappy</span>
- {{/if}}
- {{#if authed}}
- <span class="label label-success">
- {{#if auth_identity_url}}<a href="{{auth_identity_url}}">{{/if}}
- <span class="glyphicon glyphicon-user white" title="Authed{{#if auth_identity}} Identity:{{auth_identity}}{{/if}}"></span>
- {{#if auth_identity_url}}</a>{{/if}}
- </span>
- {{/if}}
- </td>
- <td><a class="link" href="{{basePath "/nodes"}}/{{node}}">{{node}}</a></td>
- <td>{{commafy in_flight_count}}</td>
- <td>{{commafy ready_count}}</td>
- <td>{{commafy finish_count}}</td>
- <td>{{commafy requeue_count}}</td>
- <td>{{commafy message_count}}</td>
- <td>{{nanotohuman connected}}</td>
- </tr>
- {{/each}}
- </table>
- {{/unless}}
- </div>
- </div>
|