ctp3-mon  0.3.0
 All Classes Functions Variables Pages
Ctp3DimInfoData.cpp
1 #include "Ctp3DimInfoData.h"
2 
3 Ctp3DimInfoData::Ctp3DimInfoData(std::string name, std::string group,
4  zsock_t *sub)
5  : DimInfo((name + "/" + group).data(), -1), _group(group), _zmqsub(sub) {
9 
10  _logger = spdlog::get("console");
11 }
16 }
17 
22 
23  Ctp3DimData *data = (Ctp3DimData *)getData();
24  _logger->trace("Ctp3DimInfoData: Size of the service {} epchts={} epchtu={} "
25  "btime={} avbusy={} l2arate={}",
26  getSize(), data->epchts, data->epchtu, data->btime,
27  data->avbusy, data->l2arate);
28 
29  if (!_zmqsub) {
30  _logger->error("Trying to send name={}, but no zmq publisher set !!! ",
31  getName());
32  return;
33  }
34 
35  unsigned long int t = (unsigned long int)data->epchts*1000 + data->epchtu/1000;
36  _logger->trace("t {} = {}.{} ", t, data->epchts, data->epchtu);
37 
38  // sendding mgs to api
39  zmsg_t *msg_out = zmsg_new();
40  zmsg_addstr(msg_out, _group.data());
41  std::string json = "{ \"type\" : \"";
42  json += _group;
43  json += "\",";
44  json += " \"data\" : {";
45  json += "\"name\" : \"";
46  json += getName();
47  json += "\" , \"val\" : ";
48  json += std::to_string(data->btime);
49  json += ", \"time\" : ";
50  json += std::to_string(t);
51  json += " }";
52 
53  // end group
54  json += "}";
55 
56  _logger->info("{}", json);
57  zmsg_addstr(msg_out, json.data());
58  zmsg_send(&msg_out, (void *)_zmqsub);
59  zmsg_destroy(&msg_out);
60 }
std::shared_ptr< spdlog::logger > _logger
Pointer to spd logger.
float btime
busy/time [0..1]
Definition: Ctp3DimData.h:15
w32 epchts
epochtime in secs
Definition: Ctp3DimData.h:13
virtual void infoHandler() final
float l2arate
l2a/time [hz]
Definition: Ctp3DimData.h:17
virtual ~Ctp3DimInfoData()
zsock_t * _zmqsub
Pointer to global zmq publisher.
float avbusy
busy/l2a [micsecs]
Definition: Ctp3DimData.h:16
Ctp3 dim data object class.
Definition: Ctp3DimData.h:12
Ctp3DimInfoData(std::string name="tpc/MONBUSY", std::string group="monbusy", zsock_t *sub=0)
w32 epchtu
0..999999 in micsecs
Definition: Ctp3DimData.h:14
std::string _group
groupname