@@ -1497,59 +1497,73 @@ status(#resource{virtual_host = Vhost, name = QueueName}) ->
14971497status (Q ) when ? amqqueue_is_quorum (Q ) ->
14981498 {RName , _ } = amqqueue :get_pid (Q ),
14991499 Nodes = lists :sort (get_nodes (Q )),
1500+ TagKey = rabbit_queue_location :placement_tag_key (Q ),
1501+ NodeToAZ = case TagKey of
1502+ undefined -> #{};
1503+ Key -> rabbit_member_placement_az :node_tags_for_nodes (Nodes , Key )
1504+ end ,
15001505 [begin
15011506 ServerId = {RName , N },
1502- case erpc_call (N , ? MODULE , key_metrics_rpc , [ServerId ], ? RPC_TIMEOUT ) of
1503- #{state := RaftState ,
1504- membership := Membership ,
1505- commit_index := Commit ,
1506- term := Term ,
1507- last_index := Last ,
1508- last_applied := LastApplied ,
1509- last_written_index := LastWritten ,
1510- snapshot_index := SnapIdx ,
1511- machine_version := MacVer } ->
1512- [{<<" Node Name" >>, N },
1513- {<<" Raft State" >>, RaftState },
1514- {<<" Membership" >>, Membership },
1515- {<<" Last Log Index" >>, Last },
1516- {<<" Last Written" >>, LastWritten },
1517- {<<" Last Applied" >>, LastApplied },
1518- {<<" Commit Index" >>, Commit },
1519- {<<" Snapshot Index" >>, SnapIdx },
1520- {<<" Term" >>, Term },
1521- {<<" Machine Version" >>, MacVer }
1522- ];
1523- #{state := noproc ,
1524- membership := unknown ,
1525- machine_version := MacVer } ->
1526- [{<<" Node Name" >>, N },
1527- {<<" Raft State" >>, noproc },
1528- {<<" Membership" >>, <<>>},
1529- {<<" Last Log Index" >>, <<>>},
1530- {<<" Last Written" >>, <<>>},
1531- {<<" Last Applied" >>, <<>>},
1532- {<<" Commit Index" >>, <<>>},
1533- {<<" Snapshot Index" >>, <<>>},
1534- {<<" Term" >>, <<>>},
1535- {<<" Machine Version" >>, MacVer }
1536- ];
1537- {error , Reason } ->
1538- State = case is_atom (Reason ) of
1539- true -> Reason ;
1540- false -> unknown
1541- end ,
1542- [{<<" Node Name" >>, N },
1543- {<<" Raft State" >>, State },
1544- {<<" Membership" >>, <<>>},
1545- {<<" Last Log Index" >>, <<>>},
1546- {<<" Last Written" >>, <<>>},
1547- {<<" Last Applied" >>, <<>>},
1548- {<<" Commit Index" >>, <<>>},
1549- {<<" Snapshot Index" >>, <<>>},
1550- {<<" Term" >>, <<>>},
1551- {<<" Machine Version" >>, <<>>}
1552- ]
1507+ BaseRow = case erpc_call (N , ? MODULE , key_metrics_rpc , [ServerId ], ? RPC_TIMEOUT ) of
1508+ #{state := RaftState ,
1509+ membership := Membership ,
1510+ commit_index := Commit ,
1511+ term := Term ,
1512+ last_index := Last ,
1513+ last_applied := LastApplied ,
1514+ last_written_index := LastWritten ,
1515+ snapshot_index := SnapIdx ,
1516+ machine_version := MacVer } ->
1517+ [{<<" Node Name" >>, N },
1518+ {<<" Raft State" >>, RaftState },
1519+ {<<" Membership" >>, Membership },
1520+ {<<" Last Log Index" >>, Last },
1521+ {<<" Last Written" >>, LastWritten },
1522+ {<<" Last Applied" >>, LastApplied },
1523+ {<<" Commit Index" >>, Commit },
1524+ {<<" Snapshot Index" >>, SnapIdx },
1525+ {<<" Term" >>, Term },
1526+ {<<" Machine Version" >>, MacVer }
1527+ ];
1528+ #{state := noproc ,
1529+ membership := unknown ,
1530+ machine_version := MacVer } ->
1531+ [{<<" Node Name" >>, N },
1532+ {<<" Raft State" >>, noproc },
1533+ {<<" Membership" >>, <<>>},
1534+ {<<" Last Log Index" >>, <<>>},
1535+ {<<" Last Written" >>, <<>>},
1536+ {<<" Last Applied" >>, <<>>},
1537+ {<<" Commit Index" >>, <<>>},
1538+ {<<" Snapshot Index" >>, <<>>},
1539+ {<<" Term" >>, <<>>},
1540+ {<<" Machine Version" >>, MacVer }
1541+ ];
1542+ {error , Reason } ->
1543+ State = case is_atom (Reason ) of
1544+ true -> Reason ;
1545+ false -> unknown
1546+ end ,
1547+ [{<<" Node Name" >>, N },
1548+ {<<" Raft State" >>, State },
1549+ {<<" Membership" >>, <<>>},
1550+ {<<" Last Log Index" >>, <<>>},
1551+ {<<" Last Written" >>, <<>>},
1552+ {<<" Last Applied" >>, <<>>},
1553+ {<<" Commit Index" >>, <<>>},
1554+ {<<" Snapshot Index" >>, <<>>},
1555+ {<<" Term" >>, <<>>},
1556+ {<<" Machine Version" >>, <<>>}
1557+ ]
1558+ end ,
1559+ case TagKey of
1560+ undefined -> BaseRow ;
1561+ _ -> AZ = case maps :get (N , NodeToAZ , undefined ) of
1562+ undefined -> <<>>;
1563+ Val -> Val
1564+ end ,
1565+ [NodeName | Rest ] = BaseRow ,
1566+ [NodeName , {<<" AZ" >>, AZ } | Rest ]
15531567 end
15541568 end || N <- Nodes ].
15551569
0 commit comments