Add infrastructure for emitting timing sections
This commit is contained in:
@@ -74,7 +74,9 @@ pub use snippet::Style;
|
||||
pub use termcolor::{Color, ColorSpec, WriteColor};
|
||||
use tracing::debug;
|
||||
|
||||
use crate::emitter::TimingEvent;
|
||||
use crate::registry::Registry;
|
||||
use crate::timings::TimingRecord;
|
||||
|
||||
pub mod annotate_snippet_emitter_writer;
|
||||
pub mod codes;
|
||||
@@ -90,6 +92,7 @@ mod snippet;
|
||||
mod styled_buffer;
|
||||
#[cfg(test)]
|
||||
mod tests;
|
||||
pub mod timings;
|
||||
pub mod translation;
|
||||
|
||||
pub type PResult<'a, T> = Result<T, Diag<'a>>;
|
||||
@@ -1156,6 +1159,14 @@ impl<'a> DiagCtxtHandle<'a> {
|
||||
self.inner.borrow_mut().emitter.emit_artifact_notification(path, artifact_type);
|
||||
}
|
||||
|
||||
pub fn emit_timing_section_start(&self, record: TimingRecord) {
|
||||
self.inner.borrow_mut().emitter.emit_timing_section(record, TimingEvent::Start);
|
||||
}
|
||||
|
||||
pub fn emit_timing_section_end(&self, record: TimingRecord) {
|
||||
self.inner.borrow_mut().emitter.emit_timing_section(record, TimingEvent::End);
|
||||
}
|
||||
|
||||
pub fn emit_future_breakage_report(&self) {
|
||||
let inner = &mut *self.inner.borrow_mut();
|
||||
let diags = std::mem::take(&mut inner.future_breakage_diagnostics);
|
||||
|
||||
Reference in New Issue
Block a user