scouter_client/
lib.rs

1pub mod data_utils;
2pub mod drifter;
3pub mod error;
4pub mod http;
5pub mod profiler;
6
7pub use drifter::scouter::PyDrifter;
8pub use profiler::scouter::DataProfiler;
9pub use scouter_settings::HttpConfig;
10pub use scouter_types::{
11    alert::{Alert, Alerts, CompressionType},
12    create_feature_map,
13    cron::*,
14    custom::{
15        CustomDriftProfile, CustomMetric, CustomMetricAlertCondition, CustomMetricAlertConfig,
16        CustomMetricDriftConfig,
17    },
18    eval::LLMEvalMetric,
19    llm::{
20        LLMAlertConfig, LLMDriftConfig, LLMDriftMap, LLMDriftMetric, LLMDriftProfile,
21        LLMMetricAlertCondition, PaginationCursor, PaginationResponse,
22    },
23    psi::{
24        Bin, BinnedPsiFeatureMetrics, BinnedPsiMetric, PsiAlertConfig, PsiChiSquareThreshold,
25        PsiDriftConfig, PsiDriftMap, PsiDriftProfile, PsiFeatureDriftProfile, PsiFixedThreshold,
26        PsiNormalThreshold,
27    },
28    spc::{
29        AlertZone, SpcAlert, SpcAlertConfig, SpcAlertRule, SpcAlertType, SpcDriftConfig,
30        SpcDriftFeature, SpcDriftFeatures, SpcDriftProfile, SpcFeatureAlert, SpcFeatureAlerts,
31        SpcFeatureDriftProfile,
32    },
33    sql::{TraceFilters, TraceListItem, TraceMetricBucket, TraceSpan},
34    AlertDispatchType, AlertThreshold, Attribute, BinnedMetric, BinnedMetricStats, BinnedMetrics,
35    ConsoleDispatchConfig, CustomMetricServerRecord, DataType, Doane, DriftAlertRequest,
36    DriftProfile, DriftRequest, DriftType, EntityType, EqualWidthBinning, Feature, FeatureMap,
37    Features, FreedmanDiaconis, GetProfileRequest, LLMDriftRecordPaginationRequest,
38    LLMDriftServerRecord, LLMMetricRecord, LLMRecord, LatencyMetrics, Manual, Metric, Metrics,
39    ObservabilityMetrics, OpsGenieDispatchConfig, ProfileRequest, ProfileStatusRequest,
40    PsiServerRecord, QuantileBinning, RecordType, RegisteredProfileResponse, Rice, RouteMetrics,
41    Scott, ScouterResponse, ScouterServerError, ServerRecord, ServerRecords, SlackDispatchConfig,
42    SpanEvent, SpanLink, SpcServerRecord, SquareRoot, Sturges, TagRecord, TagsResponse,
43    TerrellScott, TimeInterval, TraceBaggageRecord, TraceBaggageResponse, TraceMetricsRequest,
44    TraceMetricsResponse, TracePaginationResponse, TraceRecord, TraceSpanRecord,
45    TraceSpansResponse, UpdateAlertResponse, UpdateAlertStatus, VersionRequest,
46};
47
48pub use crate::http::{PyScouterClient, ScouterClient};
49
50pub use scouter_drift::{
51    psi::PsiMonitor,
52    spc::{generate_alerts, SpcDriftMap, SpcFeatureDrift, SpcMonitor},
53    utils::CategoricalFeatureHelpers,
54};
55pub use scouter_events::error::PyEventError;
56pub use scouter_events::producer::{
57    kafka::KafkaConfig, mock::MockConfig, rabbitmq::RabbitMQConfig, redis::RedisConfig,
58};
59pub use scouter_events::queue::bus::TaskState;
60pub use scouter_events::queue::{
61    custom::CustomMetricFeatureQueue, llm::LLMRecordQueue, psi::PsiFeatureQueue,
62    spc::SpcFeatureQueue, QueueBus, ScouterQueue,
63};
64
65pub use scouter_observability::Observer;
66pub use scouter_profile::{
67    compute_feature_correlations, CharStats, DataProfile, Distinct, FeatureProfile, Histogram,
68    NumProfiler, NumericStats, Quantiles, StringProfiler, StringStats, WordStats,
69};
70
71// exposing errors
72pub use error::ClientError;
73pub use scouter_drift::error::DriftError;
74pub use scouter_events::error::EventError;
75pub use scouter_profile::error::DataProfileError;
76pub use scouter_types::error::{ContractError, ProfileError, RecordError, TypeError, UtilError};
77
78pub use scouter_evaluate::{
79    error::EvaluationError,
80    llm::{async_evaluate_llm, evaluate_llm, workflow_from_eval_metrics},
81    types::{EvaluationConfig, LLMEvalRecord, LLMEvalResults, LLMEvalTaskResult},
82};
83pub use scouter_tracing::exporter::{
84    processor::BatchConfig, GrpcSpanExporter, HttpSpanExporter, StdoutSpanExporter,
85    TestSpanExporter,
86};
87pub use scouter_tracing::tracer::*;
88pub use scouter_tracing::utils::{
89    get_function_type, ExportConfig, FunctionType, GrpcConfig, OtelHttpConfig, OtelProtocol,
90    SpanKind,
91};