diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2016-12-01 21:42:51 +0100 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2016-12-01 21:43:48 +0100 |
| commit | 16c28db384adbe61034eb8a2267cd6a886ffd72f (patch) | |
| tree | 426be5a41f5186ba17e909dda90afca5b7921c30 /libcmix-common/performanceclient.cpp | |
| parent | 463b8ec708db0d2d7405d434e28d0140c94b1d98 (diff) | |
| download | cmix-16c28db384adbe61034eb8a2267cd6a886ffd72f.tar.gz cmix-16c28db384adbe61034eb8a2267cd6a886ffd72f.tar.bz2 cmix-16c28db384adbe61034eb8a2267cd6a886ffd72f.zip | |
Added the client side code for the statsd in the nodes.
Diffstat (limited to 'libcmix-common/performanceclient.cpp')
| -rw-r--r-- | libcmix-common/performanceclient.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/libcmix-common/performanceclient.cpp b/libcmix-common/performanceclient.cpp new file mode 100644 index 0000000..70953a8 --- /dev/null +++ b/libcmix-common/performanceclient.cpp @@ -0,0 +1,29 @@ +#include "performanceclient.hpp" + +#include <boost/date_time.hpp> + +#include <memory> + +PerformanceClient::PerformanceClient(std::string name, boost::asio::io_service& io_service, std::string host, std::string port) +: node_name(name) +, sender(std::unique_ptr<boost::asio::ip::tcp::socket>(new boost::asio::ip::tcp::socket(io_service))) +, timer() +{ + timer.start(); + sender.async_connect(host, port, []{}); +} + +void PerformanceClient::send(std::string column) +{ + cmix_proto::Performance perf; + perf.set_node(node_name); + perf.set_column(column); + + auto tp = timer.elapsed(); + + perf.set_wall_time(std::to_string(tp.wall)); + perf.set_user_time(std::to_string(tp.user)); + perf.set_system_time(std::to_string(tp.system)); + + sender.async_send(perf); +} |
