#![allow(clippy::must_use_candidate)]
#![allow(clippy::cast_precision_loss)]
#![allow(clippy::cast_possible_truncation)]
#![allow(clippy::cast_lossless)]
#![allow(clippy::cast_sign_loss)]
#![allow(clippy::use_self)]
#![allow(clippy::missing_errors_doc)]
#![allow(clippy::missing_panics_doc)]
#![allow(clippy::module_name_repetitions)]
#![allow(clippy::needless_pass_by_value)]
#![allow(clippy::similar_names)]
#![allow(clippy::too_many_lines)]
#![allow(clippy::unnested_or_patterns)]
#![allow(clippy::unused_self)]
#![allow(clippy::format_in_format_args)]
#![allow(clippy::doc_markdown)]
#![allow(clippy::return_self_not_must_use)]
#![allow(clippy::redundant_closure)]
#![allow(clippy::float_cmp)]
#![allow(clippy::manual_range_contains)]
#![allow(clippy::into_iter_on_ref)]
#![allow(clippy::map_unwrap_or)]
#![allow(clippy::format_push_string)]
#![warn(missing_docs)]
#![warn(clippy::all)]
#![warn(clippy::pedantic)]
pub use async_inspect_macros::{inspect, trace};
pub mod config;
pub mod inspector;
pub mod state_machine {}
pub mod task;
pub mod timeline;
pub mod deadlock;
pub mod profile;
pub mod runtime;
pub mod instrument;
pub mod reporter;
pub mod export;
pub mod graph;
pub mod integrations;
#[cfg(feature = "tokio")]
pub mod sync;
#[cfg(feature = "tokio")]
pub mod channel;
#[cfg(feature = "cli")]
pub mod tui;
#[cfg(feature = "dashboard")]
pub mod dashboard;
#[cfg(feature = "lsp")]
pub mod lsp;
pub mod telemetry;
pub mod error {
use thiserror::Error;
#[derive(Error, Debug)]
pub enum Error {
#[error("Inspection error: {0}")]
Inspection(String),
#[error("Runtime error: {0}")]
Runtime(String),
#[error("Serialization error: {0}")]
Serialization(#[from] serde_json::Error),
#[error("IO error: {0}")]
Io(#[from] std::io::Error),
}
pub type Result<T> = std::result::Result<T, Error>;
}
pub mod prelude {
pub use crate::error::{Error, Result};
pub use crate::inspector::{Inspector, InspectorStats};
pub use crate::instrument::{InspectContext, TaskGuard};
pub use crate::reporter::html::HtmlReporter;
pub use crate::reporter::Reporter;
#[cfg(feature = "tokio")]
pub use crate::sync::{LockMetrics, Mutex, MutexGuard, RwLock, Semaphore};
pub use crate::task::{
sort_tasks, SortDirection, TaskFilter, TaskId, TaskInfo, TaskSortBy, TaskState,
};
pub use crate::timeline::{Event, EventKind};
pub use crate::{
inspect_point, inspect_task_complete, inspect_task_failed, inspect_task_start,
};
}
pub use error::{Error, Result};
pub use inspector::Inspector;
#[cfg(test)]
mod tests {
#[test]
fn test_placeholder() {
assert_eq!(2 + 2, 4);
}
}