Commit cd429cb76b0824ce33ea6e4470c4742dfb2619f3

Authored by Wiebe Cazemier
1 parent ff7c078a

Publish session count on $SYS

subscriptionstore.cpp
... ... @@ -523,6 +523,11 @@ int64_t SubscriptionStore::getRetainedMessageCount() const
523 523 return retainedMessageCount;
524 524 }
525 525  
  526 +uint64_t SubscriptionStore::getSessionCount() const
  527 +{
  528 + return sessionsByIdConst.size();
  529 +}
  530 +
526 531 void SubscriptionStore::getRetainedMessages(RetainedMessageNode *this_node, std::vector<RetainedMessage> &outputList) const
527 532 {
528 533 for(const RetainedMessage &rm : this_node->retainedMessages)
... ...
subscriptionstore.h
... ... @@ -121,6 +121,7 @@ public:
121 121 void removeExpiredSessionsClients(int expireSessionsAfterSeconds);
122 122  
123 123 int64_t getRetainedMessageCount() const;
  124 + uint64_t getSessionCount() const;
124 125  
125 126 void saveRetainedMessages(const std::string &filePath);
126 127 void loadRetainedMessages(const std::string &filePath);
... ...
threaddata.cpp
... ... @@ -117,6 +117,8 @@ void ThreadData::publishStatsOnDollarTopic(std::vector&lt;std::shared_ptr&lt;ThreadDat
117 117 publishStat("$SYS/broker/load/messages/sent/persecond", sentMessageCountPerSecond);
118 118  
119 119 publishStat("$SYS/broker/retained messages/count", subscriptionStore->getRetainedMessageCount());
  120 +
  121 + publishStat("$SYS/broker/sessions/total", subscriptionStore->getSessionCount());
120 122 }
121 123  
122 124 void ThreadData::publishStat(const std::string &topic, uint64_t n)
... ...