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);
50 void started()
override;
51 void stopped()
override;
52 void scheduled()
override;
55 std::shared_ptr<mir::logging::Logger>
const logger;
56 std::shared_ptr<time::Clock>
const clock;
59 TimePoint now()
const;
63 TimePoint start_of_frame;
64 TimePoint end_of_frame;
65 TimePoint total_time_sum;
66 TimePoint render_time_sum;
67 TimePoint latency_sum;
71 bool prev_bypassed =
false;
73 TimePoint last_reported_total_time_sum;
74 TimePoint last_reported_render_time_sum;
75 TimePoint last_reported_latency_sum;
76 long last_reported_nframes = 0;
77 long last_reported_bypassed = 0;
83 std::unordered_map<SubCompositorId, Instance> instance;
84 TimePoint last_scheduled;
85 TimePoint last_report;
92 #endif // MIR_REPORT_LOGGING_COMPOSITOR_REPORT_H_ All things Mir.
Definition: atomic_callback.h:25
const void * SubCompositorId
Definition: compositor_report.h:32
began_frame
Definition: compositor_report_tp.h:55
Definition: compositor_report.h:40
std::chrono::steady_clock::time_point Timestamp
Definition: types.h:29
void log(ml::Severity severity, std::string const &message)
Definition: logger.cpp:78
finished_frame
Definition: compositor_report_tp.h:73
Definition: compositor_report.h:29
unsigned int width
Definition: touchspot_image.c:4
std::vector< std::shared_ptr< Renderable > > RenderableList
Definition: renderable.h:79
rendered_frame
Definition: compositor_report_tp.h:64
unsigned int height
Definition: touchspot_image.c:5