Beispiel #1
0
    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
        }
    }