userver: Components
Loading...
Searching...
No Matches
Components

Detailed Description

Components that could be used with utils::DaemonMain like functions; see Component system for an intro.


+ Collaboration diagram for Components:

Nested Groups

 HTTP Handlers
 Handlers are components that could be used by components::Server to process the incoming requests.
 
 Component Default Names
 Default names of components that are used in static config files.
 
 Http server middlewares
 Base classes for implementing and configuring http server middlewares.
 

Classes

class  alerts::StorageComponent
 Component that keeps an alert::Storage storage for fired alerts. More...
 
class  alerts::Handler
 Handler that returns the list of active fired alerts. More...
 
class  baggage::BaggageManagerComponent
 Component for relationship with header baggage. More...
 
class  components::CachingComponentBase< T >
 Base class for caching components. More...
 
class  cache::LruCacheComponent< Key, Value, Hash, Equal >
 Base class for LRU-cache components. More...
 
class  clients::dns::Component
 Caching DNS resolver component. More...
 
class  components::HttpClient
 Component that manages clients::http::Client. More...
 
class  components::DumpConfigurator
 Helper component that manages common configuration for userver dumps. More...
 
class  components::FsCache
 Component for storing files in memory. More...
 
class  components::HeadersPropagatorComponent
 Headers Propagator Component can scrape configured headers and then enrich HttpClient request with them. More...
 
class  components::LoggingConfigurator
 Helper component to configure logging. More...
 
class  components::ManagerControllerComponent
 Component that prepares the engine internals and starts all the other components. More...
 
class  components::ProcessStarter
 Component for getting the engine::subprocess::ProcessStarter. More...
 
class  components::SingleThreadedTaskProcessors
 Component that starts multiple single threaded task processors. More...
 
class  components::StatisticsStorage
 Component that keeps a utils::statistics::Storage storage for metrics. More...
 
class  components::TcpAcceptorBase
 Component for accepting incoming TCP connections. More...
 
class  congestion_control::Component
 Component to limit too active requests, also known as CC. More...
 
class  components::DynamicConfigClient
 Component that starts a clients::dynamic_config::Client client. More...
 
class  components::DynamicConfig
 Component that stores the dynamic config. More...
 
class  components::DynamicConfigClientUpdater
 Component that does a periodic update of runtime configs. More...
 
class  engine::TaskProcessorsLoadMonitor
 Component to monitor CPU usage for every TaskProcessor present in the service, and dump per-thread stats into metrics. More...
 
class  components::Logging
 Logging component More...
 
class  os_signals::ProcessorComponent
 A component for os_signals::Processor. More...
 
class  components::Server
 Component that listens for incoming requests, manages incoming connections and passes the requests to the appropriate handler. More...
 
class  components::AuthCheckerSettings
 Component that loads auth configuration settings from a components::Secdist component if the latter was registered in components::ComponentList. More...
 
class  server::handlers::DnsClientControl
 Handlers that controls the DNS client. More...
 
class  server::handlers::DynamicDebugLog
 Handler for forcing specific lines logging. Feature also known as dynamic debug logging. More...
 
class  server::handlers::HttpHandlerBase
 Base class for all the Userver HTTP Handlers. More...
 
class  server::handlers::HttpHandlerFlatbufBase< InputType, ReturnType >
 Convenient base for handlers that accept requests with body in Flatbuffer format and respond with body in Flatbuffer format. More...
 
class  server::handlers::HttpHandlerJsonBase
 Convenient base for handlers that accept requests with body in JSON format and respond with body in JSON format. More...
 
class  server::handlers::HttpHandlerStatic
 Handler that returns HTTP 200 if file exist and returns file data with mapped content/type. More...
 
class  server::handlers::ImplicitOptions
 A "magical" handler that will respond to OPTIONS HTTP method for any other handler that cannot handle OPTIONS itself. More...
 
class  server::handlers::InspectRequests
 Handler that returns information about all in-flight requests. More...
 
class  server::handlers::Jemalloc
 Handler that controls the jemalloc allocator. More...
 
class  server::handlers::LogLevel
 Handler that controls logging levels of all the loggers. More...
 
class  server::handlers::OnLogRotate
 Handler that controls logging levels of all the loggers. More...
 
class  server::handlers::Ping
 Handler that returns HTTP 200 if the service is OK and able to process requests. More...
 
class  server::handlers::ServerMonitor
 Handler that returns statistics data. More...
 
class  server::handlers::TestsControl
 Handler that allows to control the behavior of server from tests, and functional tests with testsuite in particular. More...
 
class  server::websocket::WebsocketHandlerBase
 Base class for WebSocket handler. More...
 
class  components::Secdist
 Component that stores security related data (keys, passwords, ...). More...
 
class  components::DefaultSecdistProvider
 Component that stores security related data (keys, passwords, ...). More...
 
class  components::TestsuiteSupport
 Testsuite support component. More...
 
class  components::Tracer
 Component that initializes the request tracing facilities. More...
 
class  tracing::DefaultTracingManagerLocator
 Component that provides access to the actual TracingManager that is used in handlers and clients. More...
 
class  components::SystemStatisticsCollector
 Component for system resource usage statistics collection. More...
 
class  components::MongoCache< MongoCacheTraits >
 Base class for all caches polling mongo collection More...
 
class  components::Mongo
 MongoDB client component. More...
 
class  components::MultiMongo
 Dynamically configurable MongoDB client component. More...
 
class  storages::mongo::DistLockComponentBase
 Base class for mongo-based distlock worker components. More...
 
class  components::PostgreCache< PostgreCachePolicy >
 Caching component for PostgreSQL. See Caching Component for PostgreSQL. More...
 
class  components::Postgres
 PosgreSQL client component. More...
 
class  storages::postgres::DistLockComponentBase
 Base class for postgres-based distlock worker components. More...
 
class  components::Redis
 Redis client component. More...
 
class  components::ClickHouse
 ClickHouse client component. More...
 
class  ugrpc::client::ClientFactoryComponent
 Provides a ClientFactory in the component system. More...
 
class  ugrpc::client::middlewares::baggage::Component
 Component for gRPC client baggage. More...
 
class  ugrpc::client::middlewares::deadline_propagation::Component
 Component for gRPC client deadline_propagation. Update deadline from TaskInheritedData if it exists and more strict than context deadline. More...
 
class  ugrpc::client::middlewares::log::Component
 Component for gRPC client logging. More...
 
class  ugrpc::client::SimpleClientComponent< Client >
 Template class for a simple gRPC client. More...
 
class  ugrpc::server::middlewares::baggage::Component
 Component for gRPC server baggage. More...
 
class  ugrpc::server::middlewares::congestion_control::Component
 Component for gRPC server logging. More...
 
class  ugrpc::server::middlewares::deadline_propagation::Component
 Component for gRPC server deadline propagation. More...
 
class  ugrpc::server::middlewares::log::Component
 Component for gRPC server logging. More...
 
class  ugrpc::server::ServerComponent
 Component that configures and manages the gRPC server. More...
 
class  ugrpc::server::ServiceComponentBase
 Base class for all the gRPC service components. More...
 
class  kafka::ConsumerComponent
 Apache Kafka Consumer client component. More...
 
class  kafka::ProducerComponent
 Apache Kafka Producer client component. More...
 
class  components::RabbitMQ
 RabbitMQ (AMQP 0.9.1) client component. More...
 
class  storages::mysql::Component
 MySQL/MariaDB client component. More...
 
class  ydb::YdbComponent
 YDB client component. More...
 
class  ydb::DistLockComponentBase
 Base class for YDB-based distlock worker components. More...
 

Functions

ComponentList components::CommonComponentList ()
 Returns the most common list of components with runtime config updates and HTTP client.
 
ComponentList components::CommonServerComponentList ()
 Returns the most common list of components to start a fully functional server.
 
ComponentList components::MinimalComponentList ()
 Returns a list of components to do basic logging, component initialization and configuration.
 
ComponentList components::MinimalServerComponentList ()
 Returns a list of components to start a basic HTTP server.
 

Function Documentation

◆ CommonComponentList()

◆ CommonServerComponentList()

◆ MinimalComponentList()

◆ MinimalServerComponentList()