19 #ifndef MIR_REPORT_LOGGING_COMPOSITOR_REPORT_H_
20 #define MIR_REPORT_LOGGING_COMPOSITOR_REPORT_H_
26 #include <unordered_map>
44 std::shared_ptr<time::Clock>
const& clock);
53 std::shared_ptr<mir::logging::Logger>
const logger;
54 std::shared_ptr<time::Clock>
const clock;
57 TimePoint now()
const;
61 TimePoint start_of_frame;
62 TimePoint end_of_frame;
63 TimePoint total_time_sum;
64 TimePoint frame_time_sum;
65 TimePoint latency_sum;
68 bool prev_bypassed =
false;
70 TimePoint last_reported_total_time_sum;
71 TimePoint last_reported_frame_time_sum;
72 TimePoint last_reported_latency_sum;
73 long last_reported_nframes = 0;
74 long last_reported_bypassed = 0;
80 std::unordered_map<SubCompositorId, Instance> instance;
81 TimePoint last_scheduled;
82 TimePoint last_report;
89 #endif // MIR_REPORT_LOGGING_COMPOSITOR_REPORT_H_
All things Mir.
Definition: aging_buffer.h:24
std::chrono::high_resolution_clock::time_point Timestamp
Definition: clock.h:29
const void * SubCompositorId
Definition: compositor_report.h:30
void finished_frame(bool bypassed, SubCompositorId id) override
Definition: compositor_report.cpp:122
Definition: dimensions.h:35
void began_frame(SubCompositorId id) override
Definition: compositor_report.cpp:54
Definition: compositor_report.h:40
CompositorReport()=default
void scheduled() override
Definition: compositor_report.cpp:171
unsigned int width
Definition: black_arrow.c:4
Definition: dimensions.h:35
Definition: compositor_report.h:27
void added_display(int width, int height, int x, int y, SubCompositorId id) override
Definition: compositor_report.cpp:46
void stopped() override
Definition: compositor_report.cpp:163
unsigned int height
Definition: black_arrow.c:5
void started() override
Definition: compositor_report.cpp:158