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);
54 std::shared_ptr<mir::logging::Logger>
const logger;
55 std::shared_ptr<time::Clock>
const clock;
58 TimePoint now()
const;
62 TimePoint start_of_frame;
63 TimePoint end_of_frame;
64 TimePoint total_time_sum;
65 TimePoint render_time_sum;
66 TimePoint latency_sum;
70 bool prev_bypassed =
false;
72 TimePoint last_reported_total_time_sum;
73 TimePoint last_reported_render_time_sum;
74 TimePoint last_reported_latency_sum;
75 long last_reported_nframes = 0;
76 long last_reported_bypassed = 0;
82 std::unordered_map<SubCompositorId, Instance> instance;
83 TimePoint last_scheduled;
84 TimePoint last_report;
91 #endif // MIR_REPORT_LOGGING_COMPOSITOR_REPORT_H_
All things Mir.
Definition: buffer_stream.h:37
void rendered_frame(SubCompositorId id) override
void log(logging::Severity sev, char const *component, char const *fmt,...)
Definition: log.cpp:39
const void * SubCompositorId
Definition: compositor_report.h:30
Definition: dimensions.h:35
void began_frame(SubCompositorId id) override
Definition: compositor_report.h:40
CompositorReport()=default
std::chrono::steady_clock::time_point Timestamp
Definition: types.h:29
void scheduled() override
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
unsigned int height
Definition: black_arrow.c:5
void finished_frame(SubCompositorId id) override