Skip to content

Commit 85f4b96

Browse files
committed
Added Caliper calls to monitor I/O for all backends (CSV, HDF5 and RMQ)
Signed-off-by: Loic Pottier <[email protected]>
1 parent 96933e8 commit 85f4b96

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

src/AMSlib/wf/basedb.hpp

+8-3
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@
88
#ifndef __AMS_BASE_DB__
99
#define __AMS_BASE_DB__
1010

11-
12-
#include <H5Ipublic.h>
13-
1411
#include <cstdint>
1512
#include <experimental/filesystem>
1613
#include <fstream>
@@ -38,6 +35,7 @@ namespace fs = std::experimental::filesystem;
3835
#endif
3936

4037
#ifdef __ENABLE_HDF5__
38+
#include <H5Ipublic.h>
4139
#include <hdf5.h>
4240
#define HDF5_ERROR(Eid) \
4341
if (Eid < 0) { \
@@ -47,6 +45,9 @@ namespace fs = std::experimental::filesystem;
4745
}
4846
#endif
4947

48+
#ifdef __AMS_ENABLE_CALIPER__
49+
#include <caliper/cali_macros.h>
50+
#endif
5051

5152
#ifdef __ENABLE_RMQ__
5253
#include <amqpcpp.h>
@@ -229,6 +230,7 @@ class csvDB final : public FileDB
229230
inputs.size(),
230231
outputs.size())
231232

233+
CALIPER(CALI_MARK_BEGIN("STORE_CSV");)
232234
const size_t num_in = inputs.size();
233235
const size_t num_out = outputs.size();
234236

@@ -251,6 +253,7 @@ class csvDB final : public FileDB
251253
}
252254
fd << outputs[num_out - 1][i] << "\n";
253255
}
256+
CALIPER(CALI_MARK_END("STORE_CSV");)
254257
}
255258

256259

@@ -1660,6 +1663,7 @@ class RMQInterface
16601663
inputs.size(),
16611664
outputs.size())
16621665

1666+
CALIPER(CALI_MARK_BEGIN("STORE_RMQ");)
16631667
AMSMessage msg(_msg_tag, _rId, domain_name, num_elements, inputs, outputs);
16641668

16651669
if (!_publisher->connectionValid()) {
@@ -1676,6 +1680,7 @@ class RMQInterface
16761680
}
16771681
_publisher->publish(std::move(msg));
16781682
_msg_tag++;
1683+
CALIPER(CALI_MARK_END("STORE_RMQ");)
16791684
}
16801685

16811686
/**

src/AMSlib/wf/hdf5db.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ void hdf5DB::_store(size_t num_elements,
139139
std::vector<TypeValue*>& outputs,
140140
bool* predicate)
141141
{
142+
CALIPER(CALI_MARK_BEGIN("STORE_HDF5");)
142143
if (isDouble<TypeValue>::default_value())
143144
HDType = H5T_NATIVE_DOUBLE;
144145
else
@@ -180,6 +181,7 @@ void hdf5DB::_store(size_t num_elements,
180181
}
181182

182183
totalElements += num_elements;
184+
CALIPER(CALI_MARK_END("STORE_HDF5");)
183185
}
184186

185187

src/AMSlib/wf/rmqdb.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -668,6 +668,7 @@ unsigned RMQPublisherHandler::unacknowledged() const
668668

669669
void RMQPublisherHandler::publish(AMSMessage&& msg)
670670
{
671+
CALIPER(CALI_MARK_BEGIN("RMQ_PUBLISH");)
671672
{
672673
const std::lock_guard<std::mutex> lock(_mutex);
673674
_messages.push_back(msg);
@@ -724,6 +725,7 @@ void RMQPublisherHandler::publish(AMSMessage&& msg)
724725
msg.id())
725726
}
726727
_nb_msg++;
728+
CALIPER(CALI_MARK_END("RMQ_PUBLISH");)
727729
}
728730

729731
void RMQPublisherHandler::onReady(AMQP::TcpConnection* connection)
@@ -982,6 +984,7 @@ bool RMQInterface::connect(std::string rmq_name,
982984

983985
void RMQInterface::restartPublisher()
984986
{
987+
CALIPER(CALI_MARK_BEGIN("RMQ_RESTART_PUBLISHER");)
985988
std::vector<AMSMessage> messages = _publisher->getMsgBuffer();
986989

987990
AMSMessage& msg_min =
@@ -1008,6 +1011,7 @@ void RMQInterface::restartPublisher()
10081011
_rId, *_address, _cacert, _queue_sender, std::move(messages));
10091012
_publisher_thread = std::thread([&]() { _publisher->start(); });
10101013
connected = true;
1014+
CALIPER(CALI_MARK_END("RMQ_RESTART_PUBLISHER");)
10111015
}
10121016

10131017
void RMQInterface::close()

0 commit comments

Comments
 (0)