void getOperational (GetOperationalStateReply* operational_reply, telemetry::VerbosityLevel verbosity) { telemetry::KeyValue *kv; // Total Message Count kv = operational_reply->add_kv(); kv->set_key("mqtt-total_message_count"); kv->set_int_value(messages.getPackets()); kv = operational_reply->add_kv(); kv->set_key("mqtt-total_message_count_rate"); kv->set_int_value(messages.getPacketRate()); kv = operational_reply->add_kv(); kv->set_key("mqtt-total_message_bytes"); kv->set_int_value(messages.getBytes()); kv = operational_reply->add_kv(); kv->set_key("mqtt-total_message_byte_rate"); kv->set_int_value(messages.getByteRate()); // Continue only if verbose output is desired if (verbosity == telemetry::VerbosityLevel::TERSE) { return; } // Broker Connections kv = operational_reply->add_kv(); kv->set_key("mqtt-message_bus_connects"); kv->set_int_value(stats_connect); kv = operational_reply->add_kv(); kv->set_key("mqtt-message_bus_disconnects"); kv->set_int_value(stats_disconnect); // All topic subscriptions for (topicCounterMap::iterator itr = stats_topics.begin(); itr != stats_topics.end(); itr++) { kv = operational_reply->add_kv(); kv->set_key("mqtt-packets:path:" + itr->first); kv->set_int_value(itr->second.getPackets()); #if 0 /* unsupported for now ... discussed with Nitin */ kv = operational_reply->add_kv(); kv->set_key("mqtt-packet_rates:path:" + itr->first); kv->set_int_value(itr->second.getPacketRate()); #endif kv = operational_reply->add_kv(); kv->set_key("mqtt-bytes:path:" + itr->first); kv->set_int_value(itr->second.getBytes()); #if 0 /* unsupported for now ... discussed with Nitin */ kv = operational_reply->add_kv(); kv->set_key("mqtt-byte_rates:path:" + itr->first); kv->set_int_value(itr->second.getByteRate()); #endif } }