blob: 52f20485327a0a3e7357ea4e54f67bdff608d538 [file] [log] [blame]
Austin Schuhe4106142019-12-01 18:19:53 -08001#include "aos/events/timing_statistics.h"
2
3#include "aos/events/event_loop_generated.h"
4#include "glog/logging.h"
5
6namespace aos {
7namespace internal {
8
9void RawFetcherTiming::set_timing_report(timing::Fetcher *new_fetcher) {
Austin Schuhe4106142019-12-01 18:19:53 -080010 fetcher = new_fetcher;
Brian Silvermanbf889922021-11-10 12:41:57 -080011 if (!new_fetcher) {
12 latency.set_statistic(nullptr);
13 } else {
14 latency.set_statistic(fetcher->mutable_latency());
15 }
Austin Schuhe4106142019-12-01 18:19:53 -080016}
17
18void RawFetcherTiming::ResetTimingReport() {
Brian Silvermanbf889922021-11-10 12:41:57 -080019 if (!fetcher) {
20 return;
21 }
22
Austin Schuhe4106142019-12-01 18:19:53 -080023 latency.Reset();
24 fetcher->mutate_count(0);
25}
26
27void RawSenderTiming::set_timing_report(timing::Sender *new_sender) {
Austin Schuhe4106142019-12-01 18:19:53 -080028 sender = new_sender;
Brian Silvermanbf889922021-11-10 12:41:57 -080029 if (!sender) {
30 size.set_statistic(nullptr);
31 } else {
32 size.set_statistic(sender->mutable_size());
33 }
Austin Schuhe4106142019-12-01 18:19:53 -080034}
35
36void RawSenderTiming::ResetTimingReport() {
Brian Silvermanbf889922021-11-10 12:41:57 -080037 if (!sender) {
38 return;
39 }
40
Austin Schuhe4106142019-12-01 18:19:53 -080041 size.Reset();
42 sender->mutate_count(0);
43}
44
45void TimerTiming::set_timing_report(timing::Timer *new_timer) {
Austin Schuhe4106142019-12-01 18:19:53 -080046 timer = new_timer;
Brian Silvermanbf889922021-11-10 12:41:57 -080047 if (!timer) {
48 wakeup_latency.set_statistic(nullptr);
49 handler_time.set_statistic(nullptr);
50 } else {
51 wakeup_latency.set_statistic(timer->mutable_wakeup_latency());
52 handler_time.set_statistic(timer->mutable_handler_time());
53 }
Austin Schuhe4106142019-12-01 18:19:53 -080054}
55
56void TimerTiming::ResetTimingReport() {
Brian Silvermanbf889922021-11-10 12:41:57 -080057 if (!timer) {
58 return;
59 }
60
Austin Schuhe4106142019-12-01 18:19:53 -080061 wakeup_latency.Reset();
62 handler_time.Reset();
63 timer->mutate_count(0);
64}
65
66} // namespace internal
67} // namespace aos