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},
12    create_feature_map,
13    cron::*,
14    custom::{
15        CustomDriftProfile, CustomMetric, CustomMetricAlertCondition, CustomMetricAlertConfig,
16        CustomMetricDriftConfig,
17    },
18    llm::{
19        LLMAlertConfig, LLMDriftConfig, LLMDriftMap, LLMDriftProfile, LLMMetric,
20        LLMMetricAlertCondition, PaginationCursor, PaginationResponse,
21    },
22    psi::{
23        Bin, BinnedPsiFeatureMetrics, BinnedPsiMetric, PsiAlertConfig, PsiChiSquareThreshold,
24        PsiDriftConfig, PsiDriftMap, PsiDriftProfile, PsiFeatureDriftProfile, PsiFixedThreshold,
25        PsiNormalThreshold,
26    },
27    spc::{
28        AlertZone, SpcAlert, SpcAlertConfig, SpcAlertRule, SpcAlertType, SpcDriftConfig,
29        SpcDriftFeature, SpcDriftFeatures, SpcDriftProfile, SpcFeatureAlert, SpcFeatureAlerts,
30        SpcFeatureDriftProfile,
31    },
32    AlertDispatchType, AlertThreshold, BinnedMetric, BinnedMetricStats, BinnedMetrics,
33    ConsoleDispatchConfig, CustomMetricServerRecord, DataType, DriftAlertRequest, DriftProfile,
34    DriftRequest, DriftType, EntityType, Feature, FeatureMap, Features, GetProfileRequest,
35    LLMDriftRecordPaginationRequest, LLMDriftServerRecord, LLMMetricRecord, LLMRecord,
36    LatencyMetrics, Metric, Metrics, ObservabilityMetrics, OpsGenieDispatchConfig, ProfileRequest,
37    ProfileStatusRequest, PsiServerRecord, RecordType, RegisteredProfileResponse, RouteMetrics,
38    ScouterResponse, ScouterServerError, ServerRecord, ServerRecords, SlackDispatchConfig,
39    SpcServerRecord, TimeInterval, UpdateAlertResponse, UpdateAlertStatus, VersionRequest,
40};
41
42pub use crate::http::{PyScouterClient, ScouterClient};
43
44pub use scouter_drift::{
45    psi::PsiMonitor,
46    spc::{generate_alerts, SpcDriftMap, SpcFeatureDrift, SpcMonitor},
47    utils::CategoricalFeatureHelpers,
48};
49pub use scouter_events::error::PyEventError;
50pub use scouter_events::producer::{
51    kafka::KafkaConfig, mock::MockConfig, rabbitmq::RabbitMQConfig, redis::RedisConfig,
52};
53pub use scouter_events::queue::bus::TaskState;
54pub use scouter_events::queue::{
55    custom::CustomMetricFeatureQueue, llm::LLMRecordQueue, psi::PsiFeatureQueue,
56    spc::SpcFeatureQueue, QueueBus, ScouterQueue,
57};
58
59pub use scouter_observability::Observer;
60pub use scouter_profile::{
61    compute_feature_correlations, CharStats, DataProfile, Distinct, FeatureProfile, Histogram,
62    NumProfiler, NumericStats, Quantiles, StringProfiler, StringStats, WordStats,
63};
64
65// exposing errors
66pub use error::ClientError;
67pub use scouter_drift::error::DriftError;
68pub use scouter_events::error::EventError;
69pub use scouter_profile::error::DataProfileError;
70pub use scouter_types::error::{ContractError, ProfileError, RecordError, TypeError, UtilError};