<%= consumer_group.id %> / <%= subscription_group.id %>
State:  <%= subscription_group[:state][:state] %>
Join state:  <%= subscription_group.join_state %>
State change:  <%== relative_time( Time.at(@process.dispatched_at) - (subscription_group.stateage / 1_000.0) ) %>
Last Poll:  <%== relative_time( Time.at(@process.dispatched_at) - (subscription_group.poll_age / 1_000.0) ) %>
Last rebalance:  <%== relative_time( Time.at(@process.dispatched_at) - (subscription_group.rebalance_age / 1_000.0) ) %>
Rebalance count:  <%= subscription_group.rebalance_cnt %>
Last rebalance reason: <% if subscription_group.rebalance_reason.empty? %> Unknown <% else %> <%= subscription_group.rebalance_reason %> <% end %>
<% if subscription_group.topics.empty? %>
<%== alert_info('This process does not consume any messages from any topics of this subscription group.') %>
<% else %> <% subscription_group.topics.each do |topic| %>
<% topic.partitions.each do |partition| %> <%== partial( 'consumers/consumer/partition', locals: { topic: topic, partition: partition, subscription_group: subscription_group } ) %> <% end %>
<%= topic.name %>
<%== sort_link('Partition', :id) %> Lag Offsets States
<%== sort_link(:lag_hybrid) %> <%== sort_link('Trend', :lag_hybrid_d) %> <%== sort_link(:committed_offset) %> <%== sort_link(:stored_offset) %> <%== sort_link(:fetch_state) %> <%== sort_link(:poll_state) %> <%== sort_link(:lso_risk_state) %>
<% end %> <% end %>