EasyNetQ.ManagementClient 用于获取每个队列的消息速率

EasyNetQ.ManagementClient for to get msg rate per queue

我正在使用 EasyNetQ.ManagementClient nuget 包获取兔子的一些统计数据。在 Web 管理中,您可以看到每个队列的消息速率

但是在使用 EasyNetQ.ManagementClient 时,我无法仅针对代码中的队列获得相同的费率,是否有可能获得它们?

var managementClient = new ManagementClient("http://ipadress", "guest", "guest");
var overview = managementClient.GetOverview();
var publishRate = overview.MessageStats.PublishDetails.Rate; // this is for all queues together
var queues = managementClient.GetQueues();
foreach (var q in queues)
{ 
  // q doesn't have any rates properties
}

提前致谢

我还没弄清楚,但我没有使用 EasyNetQ.ManagementClient nuget 包,而是在 http://ipadress:15672/api/queues 上向兔子 api 发出了网络请求,然后返回 JSON回复我需要的所有信息。

当你问这个问题时,也许它不存在于 API 后面,但最新的 EasyNetQ.Management.Client 你现在可以查询每个队列的统计信息:

...
foreach (var q in queues)
{ 
  Console.WriteLine($"Rate for {q.Name} is {q.MessagesDetails.Rate}");
}