1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
//! # perfgate
//!
//! High-performance, modular Rust library for performance budgeting and baseline diffing.
//!
//! This is the primary public library crate for perfgate. It keeps the
//! clean-architecture seams as modules without making every seam a public
//! package.
//!
//! See the [GitHub repository](https://github.com/EffortlessMetrics/perfgate) for full
//! documentation and usage examples.
//!
//! # Example
//!
//! ```
//! use perfgate::types::{ToolInfo, Metric, Direction};
//!
//! let tool = ToolInfo { name: "perfgate".into(), version: "1.0.0".into() };
//! assert_eq!(tool.name, "perfgate");
//!
//! assert_eq!(Metric::WallMs.default_direction(), Direction::Lower);
//! ```
pub use budget;
pub use paired;
pub use significance;
pub use stats;
pub use perfgate_types as types;
pub use error;
// validation is now part of types
pub use validation;
/// Compatibility path for runtime process and host adapters.
///
/// Prefer [`crate::runtime`] in new code.
/// Integrations for external benchmark formats and CI platforms.
/// Optional helpers for emitting probe JSONL.
///
/// Enable the `probe` feature to use the explicit JSONL helpers,
/// `probe-tracing` to add the optional tracing layer, or `probe-criterion` to
/// use the optional Criterion measurement adapter:
///
/// ```toml
/// perfgate = { version = "0.15", features = ["probe"] }
/// perfgate = { version = "0.15", features = ["probe-tracing"] }
/// perfgate = { version = "0.15", features = ["probe-criterion"] }
/// ```
/// Runtime helpers for optional diagnostics and local execution support.
/// Presentation helpers for rendering human- and CI-facing output.
/// CSV, JSONL, HTML, Prometheus, and JUnit export helpers.
///
/// Prefer [`crate::presentation::export`] in new code; this module preserves
/// the previous facade spelling during the 0.16 public-surface migration.
pub use export;
/// Sensor report generation for cockpit-style integrations.
///
/// Prefer [`crate::presentation::sensor`] in new code; this module preserves
/// the previous facade spelling during the 0.16 public-surface migration.
pub use sensor;
/// Markdown, annotation, and summary rendering.
///
/// Prefer [`crate::presentation::render`] in new code; this module preserves
/// the previous facade spelling during the 0.16 public-surface migration.
pub use render;
/// Core I/O-free building blocks for performance-gating policy.
/// Deterministic fingerprint helpers.
///
/// Prefer [`crate::core::fingerprint`] in new code; this module preserves the
/// previous facade spelling during the 0.16 public-surface migration.
/// Host mismatch detection helpers.
///
/// Prefer [`crate::domain::host`] in new code; this module preserves the
/// previous facade spelling during the 0.16 public-surface migration.
// Common re-exports for ergonomic use