1 #ifndef PACKET_FLOW_STATS_H 2 #define PACKET_FLOW_STATS_H 26 packet_flow_payload*
pkt;
41 collect_final_event(packet_flow_payload*
pkt);
47 init_factory_params(sprockit::sim_parameters *params);
75 collect_final_event(packet_flow_payload*
pkt);
78 init_factory_params(sprockit::sim_parameters* params);
84 void collect(
double delay_us, packet_flow_payload* pkt);
97 collect_final_event(packet_flow_payload*
pkt);
103 init_factory_params(sprockit::sim_parameters* params);
123 void collect(
double delay_us, packet_flow_payload*
pkt);
146 byte_hops_(nullptr){}
154 init_factory_params(sprockit::sim_parameters* params);
172 init_factory_params(sprockit::sim_parameters* params);
176 congestion_spyplot::set_event_manager(ev_mgr);
188 local_aggregation_(nullptr)
196 port_map_[port] += bytes;
205 init_factory_params(sprockit::sim_parameters *params);
234 global_reduce_non_root(
parallel_runtime* rt,
int root,
char* buffer,
int buffer_size);
237 collect_buffer_at_root(
char* buffer,
int buffer_size);
288 entries_.push_back(e);
289 max_sid_ = std::max(max_sid_, sid);
290 num_counts_ += pmap.size();
300 return entries_.size();
305 int entry_size =
sizeof(int) +
sizeof(
size_t);
306 int count_size =
sizeof(int) +
sizeof(
long);
307 return num_entries() * entry_size + num_counts_ * count_size +
sizeof(size_t);
315 const std::list<entry>&
342 init_factory_params(sprockit::sim_parameters* params);
356 class serialize<
sstmac::hw::stat_bytes_sent::aggregation::entry> {
365 #endif // PACKET_FLOW_STATS_H virtual void set_event_manager(event_manager *ev_mgr)
void record(int port, long bytes)
stat_global_int * byte_hops_
void serialize_order(serializer &ser)
virtual void collect_single_event(const packet_stats_st &st)
packet_flow_payload * pkt
std::vector< port_map > global_aggregation_
A type of logger that collects some kind of statistic and outputs to a file during or at the end of a...
Base type for implementations of an engine that is able to schedule events and advance simulation tim...
virtual ~packet_sent_stats()
void append(int sid, const port_map &pmap)
void operator()(sstmac::hw::stat_bytes_sent::aggregation::entry &e, sstmac::serializer &ser)
stat_collector * clone() const
virtual void collect_final_event(packet_flow_payload *pkt)
#define SER_NAMESPACE_OPEN
virtual void set_event_manager(event_manager *ev_mgr)
This class is basically a wrapper for objects to declare the order in which their members should be s...
A basic container for time (subject to future transplant).
SUMI = Simulator unified messagine interface It is also the name for a solid ink in Japanese - i...
aggregation * local_aggregation_
const std::list< entry > & entries() const
stat_histogram * congestion_hist_
this stat_collector class keeps a spy plot
virtual void set_event_manager(event_manager *ev_mgr)
void set_topology(topology *top)
stat_bytes_sent * bytes_sent_
std::list< entry > entries_
Encapsulates a topology like torus, fat tree, butterfly which has a regular, well-defined structure...
int id() const
id Either a node or switch id, depending on the device
std::map< int, long > port_map
#define SER_NAMESPACE_CLOSE