Skip to main content

Crate llm_optimizer_processor

Crate llm_optimizer_processor 

Source
Expand description

Stream processor for LLM Auto-Optimizer

This crate provides stream processing capabilities for handling events, metrics, and feedback in the optimizer system.

Re-exports§

pub use core::CloudEventKeyExtractor;
pub use core::CloudEventTimeExtractor;
pub use core::EventKey;
pub use core::EventTimeExtractor;
pub use core::FeedbackEventKeyExtractor;
pub use core::FeedbackEventTimeExtractor;
pub use core::KeyExtractor;
pub use core::MetricPointKeyExtractor;
pub use core::MetricPointTimeExtractor;
pub use core::ProcessorEvent;
pub use window::Window;
pub use window::WindowBounds;
pub use window::WindowType;
pub use window::WindowAssigner;
pub use window::WindowTrigger;
pub use window::TriggerResult;
pub use window::TriggerContext;
pub use window::WindowMerger;
pub use window::TumblingWindowAssigner;
pub use window::SlidingWindowAssigner;
pub use window::SessionWindowAssigner;
pub use window::OnWatermarkTrigger;
pub use window::ProcessingTimeTrigger;
pub use window::CountTrigger;
pub use window::CompositeTrigger;
pub use window::CompositeMode;
pub use window::ImmediateTrigger;
pub use window::NeverTrigger;
pub use window::WindowManager;
pub use window::WindowMetadata;
pub use window::WindowStats;
pub use stream_processor::StreamProcessor;
pub use stream_processor::StreamProcessorBuilder;
pub use stream_processor::StreamProcessorConfig;
pub use stream_processor::WindowResult;
pub use stream_processor::ProcessorStats;
pub use error::ProcessorError;
pub use error::WindowError;
pub use error::AggregationError;
pub use error::StateError;
pub use error::WatermarkError;
pub use error::Result as ProcessorResult;
pub use config::ProcessorConfig;
pub use config::WindowConfig;
pub use config::WindowType as ConfigWindowType;
pub use config::WatermarkConfig;
pub use config::WatermarkStrategy;
pub use config::StateConfig;
pub use config::StateBackend;
pub use config::AggregationConfig;
pub use config::AggregationType;
pub use config::DeduplicationStrategy;
pub use normalization::TimeSeriesNormalizer;
pub use normalization::NormalizerBuilder;
pub use normalization::NormalizationConfig;
pub use normalization::FillStrategy;
pub use normalization::TimeSeriesEvent;
pub use normalization::NormalizationStats;
pub use normalization::NormalizationError;
pub use normalization::NormalizationResult;
pub use pipeline::StreamPipelineBuilder;
pub use pipeline::StreamPipeline;
pub use pipeline::PipelineConfig;
pub use pipeline::StreamExecutor;
pub use pipeline::ExecutorStats;
pub use pipeline::StreamOperator;
pub use pipeline::MapOperator;
pub use pipeline::FilterOperator;
pub use pipeline::FlatMapOperator;
pub use pipeline::KeyByOperator;
pub use pipeline::WindowOperator;
pub use pipeline::AggregateOperator;
pub use pipeline::DeduplicationOperator;
pub use pipeline::OperatorContext;
pub use pipeline::DeduplicationStats as OperatorDeduplicationStats;
pub use kafka::OffsetManager;
pub use kafka::OffsetStore;
pub use kafka::InMemoryOffsetStore;
pub use kafka::StateBackendOffsetStore;
pub use kafka::TopicPartition;
pub use kafka::OffsetInfo;
pub use kafka::OffsetCommitStrategy;
pub use kafka::OffsetResetStrategy;
pub use kafka::OffsetStats;
pub use kafka::CommitStrategy;
pub use kafka::KafkaSource;
pub use kafka::KafkaSourceConfig;
pub use kafka::KafkaSourceMetrics;
pub use kafka::SourceMessage;
pub use kafka::BincodeSerializer;
pub use kafka::DeliveryGuarantee;
pub use kafka::JsonSerializer;
pub use kafka::KafkaSink;
pub use kafka::KafkaSinkConfig;
pub use kafka::MessageSerializer;
pub use kafka::PartitionStrategy;
pub use kafka::SinkMessage;
pub use kafka::SinkMetrics;
pub use deduplication::DeduplicationConfig;
pub use deduplication::DeduplicationConfigBuilder;
pub use deduplication::DeduplicationStats;
pub use deduplication::EventDeduplicator;
pub use deduplication::EventIdExtractor;
pub use metrics::LabelSet;
pub use metrics::LabelValue;
pub use metrics::MetricLabels;
pub use metrics::ProcessorMetrics;
pub use metrics::MetricsSnapshot;
pub use metrics::MetricsRegistry;
pub use metrics::METRICS_REGISTRY;
pub use metrics::MetricsServer;
pub use metrics::MetricsServerConfig;
pub use metrics::HealthStatus;
pub use metrics::MetricsError;
pub use metrics::Result as MetricsResult;
pub use telemetry::TelemetryConfig;
pub use telemetry::TraceConfig;
pub use telemetry::MetricsConfig as TelemetryMetricsConfig;
pub use telemetry::BatchConfiguration;
pub use telemetry::ExportConfig;
pub use telemetry::OtlpProtocol;
pub use telemetry::SamplingStrategy;
pub use telemetry::Temporality;
pub use telemetry::init_telemetry;
pub use telemetry::init_tracer_provider;
pub use telemetry::init_meter_provider;
pub use telemetry::shutdown_tracer_provider;
pub use telemetry::shutdown_meter_provider;
pub use telemetry::TelemetryProviders;
pub use telemetry::SpanBuilder;
pub use telemetry::record_exception;
pub use telemetry::HeaderCarrier;
pub use telemetry::BaggageItem;
pub use telemetry::context_with_span;
pub use telemetry::extract_context;
pub use telemetry::extract_from_headers;
pub use telemetry::inject_context;
pub use telemetry::inject_into_headers;
pub use telemetry::get_baggage;
pub use telemetry::propagate_context;
pub use telemetry::with_baggage;
pub use telemetry::with_context;
pub use telemetry::MetricsRecorder;
pub use telemetry::metric_names;
pub use telemetry::metric_attributes;
pub use telemetry::ResourceBuilder;
pub use telemetry::create_processor_resource;
pub use analyzer::Analyzer;
pub use analyzer::AnalyzerConfig;
pub use analyzer::AnalyzerConfigBuilder;
pub use analyzer::AnalyzerError;
pub use analyzer::AnalyzerResult;
pub use analyzer::AnalyzerState;
pub use analyzer::AnalyzerEvent;
pub use analyzer::AnalysisReport;
pub use analyzer::AnalyzerStats;
pub use analyzer::Insight;
pub use analyzer::Recommendation;
pub use analyzer::Alert;
pub use analyzer::PerformanceAnalyzer;
pub use analyzer::PerformanceAnalyzerConfig;
pub use analyzer::CostAnalyzer;
pub use analyzer::CostAnalyzerConfig;
pub use analyzer::ModelPricing;
pub use analyzer::QualityAnalyzer;
pub use analyzer::QualityAnalyzerConfig;
pub use analyzer::PatternAnalyzer;
pub use analyzer::PatternAnalyzerConfig;
pub use analyzer::PatternType;
pub use analyzer::AnomalyAnalyzer;
pub use analyzer::AnomalyAnalyzerConfig;
pub use analyzer::AnomalyType;
pub use analyzer::Severity;
pub use analyzer::Confidence;
pub use analyzer::Priority;
pub use analyzer::InsightCategory;
pub use decision::DecisionEngine;
pub use decision::OptimizationStrategy;
pub use decision::DecisionValidator;
pub use decision::DecisionExecutor;
pub use decision::DecisionCoordinator;
pub use decision::ModelSelectionStrategy;
pub use decision::CachingStrategy;
pub use decision::RateLimitingStrategy;
pub use decision::BatchingStrategy;
pub use decision::PromptOptimizationStrategy;
pub use decision::DecisionEngineConfig;
pub use decision::StrategyConfigs;
pub use decision::ModelSelectionConfig;
pub use decision::CachingConfig;
pub use decision::RateLimitingConfig;
pub use decision::BatchingConfig;
pub use decision::PromptOptimizationConfig;
pub use decision::SafetyConfig;
pub use decision::MonitoringConfig;
pub use decision::Decision;
pub use decision::DecisionInput;
pub use decision::DecisionOutcome;
pub use decision::DecisionCriteria;
pub use decision::DecisionStats;
pub use decision::DecisionType;
pub use decision::ExpectedImpact;
pub use decision::ActualImpact;
pub use decision::ConfigChange;
pub use decision::ConfigType;
pub use decision::RollbackPlan;
pub use decision::RollbackCondition;
pub use decision::SafetyCheck;
pub use decision::SystemMetrics;
pub use decision::ComparisonOperator;
pub use decision::DecisionError;
pub use decision::DecisionResult;
pub use decision::DecisionState;
pub use actuator::Actuator;
pub use actuator::CanaryDeployment;
pub use actuator::ConfigurationManager;
pub use actuator::HealthMonitor;
pub use actuator::TrafficSplitter;
pub use actuator::ActuatorCoordinator;
pub use actuator::CanaryDeploymentEngine;
pub use actuator::ConfigurationManagerImpl;
pub use actuator::ProductionHealthMonitor;
pub use actuator::RollbackEngine;
pub use actuator::ConfigurationBackend;
pub use actuator::InMemoryBackend;
pub use actuator::AuditLogEntry;
pub use actuator::ConfigurationDiff;
pub use actuator::DiffType;
pub use actuator::RollbackMode;
pub use actuator::RollbackStatus;
pub use actuator::RollbackTrigger;
pub use actuator::RollbackHistoryEntry;
pub use actuator::NotificationHandler;
pub use actuator::NotificationSeverity;
pub use actuator::ActuatorConfig;
pub use actuator::ConfigurationManagementConfig;
pub use actuator::HealthMonitoringConfig;
pub use actuator::RollbackConfig;
pub use actuator::HealthCheckType;
pub use actuator::HealthMonitorConfig;
pub use actuator::ActuatorStats;
pub use actuator::CanaryConfig;
pub use actuator::CanaryPhase;
pub use actuator::ConfigurationSnapshot;
pub use actuator::DeploymentMetrics;
pub use actuator::DeploymentRequest;
pub use actuator::DeploymentStatus;
pub use actuator::DeploymentStrategy;
pub use actuator::HealthCheckResult;
pub use actuator::RollbackReason;
pub use actuator::RollbackRequest;
pub use actuator::RollbackResult;
pub use actuator::StatisticalAnalysis;
pub use actuator::SuccessCriteria;
pub use actuator::TrafficSplitStrategy;
pub use actuator::ActuatorError;
pub use actuator::ActuatorResult;
pub use actuator::ActuatorState;
pub use actuator::DeploymentState;
pub use storage::Storage;
pub use storage::CacheStorage;
pub use storage::KeyValueStorage;
pub use storage::RelationalStorage;
pub use storage::PubSubStorage;
pub use storage::Migrator;
pub use storage::Backup;
pub use storage::Subscriber;
pub use storage::StorageManager;
pub use storage::RoutingStrategy;
pub use storage::ManagerState;
pub use storage::ManagerStats;
pub use storage::PostgreSQLStorage;
pub use storage::RedisStorage;
pub use storage::SledStorage;
pub use storage::StorageConfig;
pub use storage::PostgreSQLConfig;
pub use storage::RedisConfig;
pub use storage::SledConfig;
pub use storage::PoolConfig;
pub use storage::RetryConfig;
pub use storage::MonitoringConfig as StorageMonitoringConfig;
pub use storage::SSLMode;
pub use storage::SledMode;
pub use storage::StorageBackend;
pub use storage::StorageEntry;
pub use storage::StorageStats;
pub use storage::StorageHealth;
pub use storage::StorageMetadata;
pub use storage::Query;
pub use storage::Filter;
pub use storage::Operator;
pub use storage::Sort;
pub use storage::SortDirection;
pub use storage::Value;
pub use storage::Transaction;
pub use storage::TransactionState;
pub use storage::Operation;
pub use storage::Batch;
pub use storage::CacheStats;
pub use storage::BackupMetadata;
pub use storage::Migration;
pub use storage::SqlParam;
pub use storage::SqlResult;
pub use storage::StorageError;
pub use storage::StorageResult;
pub use storage::ErrorCategory;

Modules§

actuator
Actuator module
aggregation
Aggregation module for computing statistics over streaming data
analyzer
Analyzer Engine
config
Configuration types for the stream processor
core
Core event processing structures and traits
decision
Decision Engine Module
deduplication
Event Deduplication System
error
Error types for the stream processor
kafka
Kafka integration for stream processing
metrics
Prometheus metrics for the Stream Processor
normalization
Time-series normalization for stream processing
otel_global
Utilities for working with global telemetry primitives
pipeline
Stream processing pipeline module
state
State management for stream processing
storage
Storage module
stream_processor
High-level stream processor for event processing with windowing and aggregation
telemetry
OpenTelemetry instrumentation for the stream processor.
watermark
Watermarking system for handling late events in stream processing
window
Windowing module for stream processing

Macros§

in_context
Macro for running code within a context scope.
span
Helper macro for creating instrumented spans.

Structs§

OtelContext
An execution-scoped collection of values.
OtelKeyValue
A key-value pair describing an attribute.

Enums§

OtelStatus
The status of a Span.
SpanKind
SpanKind describes the relationship between the Span, its parents, and its children in a trace.

Traits§

OtelSpan
The interface for a single operation within a trace.
OtelTracer
The interface for constructing Spans.