1#![cfg_attr(test, allow(clippy::disallowed_methods, clippy::float_cmp))]
7#![allow(clippy::new_without_default)]
8#![allow(clippy::derivable_impls)]
10#![allow(clippy::missing_panics_doc)]
12#![allow(clippy::missing_errors_doc)]
14#![allow(clippy::unnecessary_map_or)]
16#![allow(clippy::collapsible_if)]
18#![allow(clippy::needless_range_loop)]
20#![allow(clippy::cast_precision_loss)]
22#![allow(clippy::cast_possible_truncation)]
24#![allow(dead_code)]
26#![allow(clippy::field_reassign_with_default)]
28#![allow(clippy::manual_flatten)]
30pub mod adaptive_ml;
53pub mod adaptive_threshold;
54pub mod adversarial;
55pub mod alerting;
56pub mod anomaly_detection;
57pub mod app;
58pub mod backend_regression;
59pub mod baseline;
60pub mod brick;
61pub mod bricks;
62pub mod cache_analysis;
63pub mod config;
64pub mod context_regression;
65pub mod continuous_batcher;
66pub mod correlation_analysis;
67pub mod cost_tracker;
68pub mod double_blind;
69pub mod error;
70pub mod event_streaming;
71pub mod export_reporting;
72pub mod federated_metrics;
73pub mod frequency_control;
74pub mod fuzz;
75pub mod golden_trace;
76pub mod grammar;
77pub mod headless;
78pub mod incremental_snapshot;
79pub mod ironman;
80pub mod latency_distribution;
81pub mod observability_backend;
82pub mod optimize;
83pub mod paged_kv;
84pub mod performance_prediction;
85pub mod predictive_scheduler;
86pub mod profile_compare;
87pub mod profile_persistence;
88pub mod prometheus;
89pub mod quantize;
90pub mod regression_pipeline;
91pub mod remote_agent;
92pub mod ring_buffer;
93pub mod roofline;
94pub mod statistics;
95pub mod thermal_prediction;
96pub mod tracing_escalation;
97pub mod variance_analysis;
98pub mod workload_characterization;
99
100pub use brick::{Brick, BrickAssertion, BrickBudget, BrickVerification};
102pub use brick::{BrickGrade, BrickScore, Scorable};
104pub use brick::{fnv1a_f32, BrickProfiler, DivergenceReport, KernelTrace};
106
107pub use app::CbtopApp;
109pub use config::Config;
110pub use error::CbtopError;
111
112pub use headless::{
114 Benchmark, BenchmarkBuilder, BenchmarkConfig, BenchmarkResult, BenchmarkResults,
115 ComparisonResult, LatencyStats, OutputFormat, RegressionResult, ScoreInfo, SystemInfo,
116};
117pub use config::{ComputeBackend, WorkloadType};
119
120pub use optimize::{
122 AnalysisSummary, BaselineEntry, BaselineReport, BottleneckAnalysis, BottleneckEntry,
123 BottleneckSeverity, CpuCapabilities, OptimizationSuite, OptimizationValidator,
124 RegressionDetector, RegressionEntry, RegressionReport, ValidationResult, WorkloadConfig,
125};
126
127pub use baseline::{
129 BaselineComparison, BaselineValidator, GpuClass, ServerBaseline, SingleComparison, SmHealth,
130 ThroughputGrade, ValidationSummary, INDUSTRY_BASELINES, TGI_BASELINE, TRITON_BASELINE,
131 VLLM_BASELINE,
132};
133
134pub use quantize::{
136 ggml_type_to_format, DequantStrategy, GgufError, GgufHeader, GgufLoader, GgufResult,
137 GgufTensorInfo, GgufValue, LayerQuantStats, QuantFormat, QuantStats, QuantizedBrick,
138 QuantizedWeights,
139};
140
141pub use paged_kv::{
143 BlockId, CacheStats, EvictionStrategy, KvBlock, PagedKvCache, PagedKvError, PagedKvResult,
144 SeqId, SequenceInfo,
145};
146
147pub use continuous_batcher::{
149 BatchSchedule, BatcherStats, ContinuousBatcher, ExponentialMovingAverage, InferenceRequest,
150 Priority, SchedulingPolicy, SequenceGroup, SpeculativeDecoder, SpeculativeOutput, Token,
151 TokenOutput,
152};
153
154pub use ironman::{
156 full_validate, quick_validate, GateCategory, GateResult, IronmanScorecard, IronmanValidator,
157 QualityGate, IRONMAN_GATES,
158};
159
160pub use grammar::{
162 BuiltComputeBlock, ByteSize, CompositionMode, ComputeBlock, ComputeBlockBuilder, CpuAffinity,
163 DataTransform, DataType, Dimensions, ExecutionContext, ExecutionPolicy, ExecutionResult,
164 ExecutionStrategy, GpuDevice, GrammarError, GrammarResult, KernelSpec, LinearResourceScale,
165 LogResourceScale, ObservabilityConfig, Operation, QosLevel, QuantScheme, ResourceLimits,
166 ResourceMapping, ResourceScale, RetryPolicy, ScaleBinding, SimdWidth, StrategyLayer,
167 TensorSpec, WorkloadSpec,
168};
169
170pub use adversarial::{
172 AdversarialError, AdversarialResult, AdversarialTactic, AdversarialTestSummary,
173 BitFlipInjector, CancellationToken, CheckedArithmetic, ConfigValidator, InputValidator,
174 MonotonicClock, RecoveryHandler, ResourceLimiter, ResourceUsage,
175};
176
177pub use double_blind::{
179 AuditEntry, BlackBoxArtifact, FalsificationClaim, FalsificationCriterion, ReleaseDecision,
180 Role, ScorecardComponent, ScorecardV2, SessionState, VerificationAttempt, VerificationReport,
181 VerificationResult, VerificationSession,
182};
183
184pub use tracing_escalation::{
186 EscalationReason, EscalationThresholds, OtlpSpanAttributes, SyscallBreakdown, TraceResult,
187 TracingEscalation,
188};
189
190pub use roofline::{
192 BatchRooflineAnalysis, BatchSummary, BottleneckType, HardwareProfile, RooflineAnalysis,
193 RooflinePlot, RooflinePlotPoint, WorkloadMetrics,
194};
195
196pub use fuzz::{
198 bound_value, checked_add_u64, checked_mul_u64, safe_div, sanitize_float, test_float_edge_cases,
199 test_u64_edge_cases, FuzzFailure, FuzzInputValidator, FuzzResult, FuzzSuite, FuzzSummary,
200 FuzzTargetConfig, FuzzValidationError,
201};
202
203pub use statistics::{
205 bootstrap_ci, percentile, trimmed_mean, ComparisonResult as StatisticalComparison,
206 EffectCategory, EffectSize, MannWhitneyResult, OutlierFilter, StatisticalAnalysis,
207};
208
209pub use cache_analysis::{
211 elementwise_working_set, matrix_working_set, optimal_matmul_tile, AccessPattern,
212 BandwidthPrediction, CacheConfig, CacheLevel, WorkingSetAnalysis,
213};
214
215pub use latency_distribution::{
217 DistributionShape, HistogramBucket, LatencyDistribution, LatencyHistogram, TailSeverity,
218};
219
220pub use variance_analysis::{VarianceAnalysis, VarianceInput, VarianceSource};
222
223pub use profile_persistence::{
225 BackendConfig as ProfileBackend, ProfileConfig, ProfileError, ProfileManager, ProfileOverlay,
226 ProfileResult, WorkloadConfig as ProfileWorkload,
227};
228
229pub use golden_trace::{
231 GoldenComparator, GoldenTrace, GoldenTraceError, GoldenTraceManager, GoldenTraceResult,
232 SyscallBreakdown as TraceSyscallBreakdown, SyscallBreakdownDelta, TraceComparison,
233 TraceMetrics,
234};
235
236pub use thermal_prediction::{
238 analyze_thermal, assess_throttle_risk, CooldownRecommendation, RiskCategory, ThermalAnalyzer,
239 ThermalCorrelation, ThermalPrediction, ThermalSample, ThermalVariance, ThrottleRisk,
240 DEFAULT_THROTTLE_THRESHOLD_C, MIN_SAMPLES_FOR_ANALYSIS,
241};
242
243pub use backend_regression::{
245 Backend, BackendComparison, BackendMeasurement, BackendRecommendation,
246 BackendRegressionDetector, BackendSummary, SizeCliff, TransferAnalysis,
247 WorkloadType as BackendWorkload,
248};
249
250pub use correlation_analysis::{
252 CorrelationAnalyzer, CorrelationResult, EventSample, EventType, InterferenceCategory,
253 InterferenceResult, IsolationAction, IsolationRecommendation, PerformanceSample,
254 SystemSnapshot,
255};
256
257pub use performance_prediction::{
259 DataPoint, FittedModel, ModelType, PerformancePredictor, Prediction, MIN_SAMPLES_FOR_FIT,
260};
261
262pub use anomaly_detection::{
264 Anomaly, AnomalyDetector, AnomalyReport, AnomalySeverity, AnomalyType, ChangePoint,
265 DEFAULT_IQR_MULTIPLIER, DEFAULT_ZSCORE_THRESHOLD, MIN_SAMPLES_FOR_DETECTION,
266};
267
268pub use workload_characterization::{
270 ClassificationResult, RecommendedBackend, WorkloadCategory, WorkloadCharacterizer,
271 WorkloadFeatures,
272};
273
274pub use export_reporting::{
276 BenchmarkMetric, BenchmarkReport, ComparisonEntry, ComparisonReport, ExportFormat,
277 ReportBuilder, ReportExporter, ReportType,
278};
279
280pub use adaptive_threshold::{
282 LearnedThreshold, ThresholdCheck, ThresholdDirection, ThresholdLearner,
283 DEFAULT_CONFIDENCE_LEVEL, DEFAULT_OUTLIER_THRESHOLD, MIN_SAMPLES_FOR_LEARNING,
284};
285
286pub use frequency_control::{
288 CpuFrequencyInfo, CpuGovernor, FrequencyController, FrequencyLock, FrequencyReading,
289 FrequencyVariance,
290};
291
292pub use context_regression::{
294 BaselineEntry as ContextBaselineEntry, ContextRegressionPredictor, RegressionCheck,
295 RegressionThreshold, SystemContext, Trend, DEFAULT_COLD_START_MARGIN, DEFAULT_STALENESS_SEC,
296 MIN_SAMPLES_FOR_CONTEXT,
297};
298
299pub use alerting::{
301 alert_from_anomaly, Alert, AlertChannel, AlertRouter, AlertRouterConfig, AlertSeverity,
302 DeliveryResult, MessageTemplate,
303};
304
305pub use prometheus::{
307 validate_metric_name, CounterValue, GaugeValue, HistogramBuckets, HistogramValue, Labels,
308 MetricDef, MetricType, MetricsRegistry, DEFAULT_BUCKETS, DEFAULT_MAX_LABELS,
309};
310
311pub use cost_tracker::{
313 default_gpu_pricing, BudgetAlert, CloudProvider, CostComparison, CostResult, CostTracker,
314 EnergyMeasurement, GpuPricing, DEFAULT_CARBON_INTENSITY, JOULES_PER_KWH,
315};
316
317pub use event_streaming::{
319 compress_data, event_from_sample, EventBatch, EventStreamer, MetricEvent, RetryConfig,
320 SinkHealth, SinkType, DEFAULT_BATCH_SIZE, SCHEMA_VERSION,
321};
322
323pub use remote_agent::{
325 AggregatedResult, AggregationStrategy, AuthMethod, CommandResult, HostBenchmark, HostConfig,
326 HostHealth, HostState, RemoteAgent, RemoteAgentConfig, RemoteError, RemoteResult,
327 DEFAULT_HEALTH_CHECK_INTERVAL_SEC, DEFAULT_MAX_CONCURRENT, DEFAULT_RETRY_DELAY_MS,
328};
329
330pub use profile_compare::{
332 BenchmarkProfile, ChangeDirection, CompareConfig, CompareError, CompareResult,
333 ComparisonVerdict, EffectMagnitude, EffectSizeResult, MetricComparison, MetricSamples,
334 ProfileComparator, ProfileComparison, WelchTestResult,
335 DEFAULT_CONFIDENCE_LEVEL as COMPARE_DEFAULT_CONFIDENCE_LEVEL,
336 DEFAULT_REGRESSION_THRESHOLD as COMPARE_DEFAULT_REGRESSION_THRESHOLD, MIN_COMPARISON_SAMPLES,
337};
338
339pub use observability_backend::{
341 format_dogstatsd, BackendHealth, DatadogConfig, ExportMetric, ExportResult, HoneycombConfig,
342 MetricExportType, NewRelicConfig, ObservabilityBackend,
343 ObservabilityConfig as ObsBackendConfig, ObservabilityError, ObservabilityExporter,
344 ObservabilityResult, OtlpConfig, WebhookConfig, DEFAULT_BATCH_SIZE as OBS_DEFAULT_BATCH_SIZE,
345 DEFAULT_FLUSH_INTERVAL_MS,
346};
347
348pub use regression_pipeline::{
350 BenchmarkMetric as PipelineBenchmarkMetric, BenchmarkResults as PipelineBenchmarkResults,
351 GitRef, MetricRegression, PipelineConfig, PipelineError, PipelineResult, PipelineStatus,
352 RegressionAnalysis, RegressionPipeline, StatusCheck,
353 DEFAULT_REGRESSION_THRESHOLD as PIPELINE_REGRESSION_THRESHOLD, DEFAULT_TIMEOUT_SEC,
354 DEFAULT_WARNING_THRESHOLD,
355};
356
357pub use federated_metrics::{
359 AggregatedMetrics, FederatedHost, FederationConfig, GCounter, LwwRegister, MetricsFederation,
360 OrSet,
361};
362
363pub use adaptive_ml::{
365 AdaptiveThresholdMl, AnomalyResult as MlAnomalyResult,
366 ClassificationMetrics as MlClassificationMetrics, LearnedWorkloadThreshold, MlThresholdConfig,
367 MlThresholdError, TimeSeriesFeatures, WorkloadClass,
368};
369
370pub use incremental_snapshot::{
372 DeltaMetric, DeltaSnapshot, IncrementalSnapshotStore, MetricData, ProfileSnapshot,
373 RetentionTier, SnapshotConfig, SnapshotError, SnapshotIndex, SnapshotQuery,
374};
375
376pub use predictive_scheduler::{
378 HostProfile, InstanceType, PredictiveScheduler, PredictiveSchedulerConfig, SchedulerMetrics,
379 SchedulingDecision, WorkloadSpec as SchedulerWorkloadSpec,
380};
381
382pub use presentar_terminal::direct::{CellBuffer, DiffRenderer, DirectTerminalCanvas};
385pub use presentar_terminal::{BrailleGraph, ColorMode, GraphMode, Meter, Table};
386
387pub use presentar_core::{Canvas, Color, Constraints, Point, Rect, Size, TextStyle};