Skip to content

bunch of utilities for multi-thread high-load back-end applications

Notifications You must be signed in to change notification settings

SergeySilaev/system_utilities

 
 

Repository files navigation

system utilities is a bunch of utilities for multi-thread back-end high-load applications

Based on boost library. So do not forget to compile and link your project with boost library.

 * time_tracker module, idea by Sergey Silaev
Description: time_tracker module is a class for calculating time periods that were wasted on different operations.

 * ts_queue module, created by Ivan Sidarau
Description: multi-thread thread-safe queue, that you can use for task-based engines.

 * property_reader module, created by Ivan Sidarau, updated by Sergey Silaev requests.
Description: property reader module created to parse configuration files. 
Symbols '#', ';' mean comment.
Each settings should have '=' symbol to insert parameter at parameters map.
'include' command - add another property file to read to (like #include macros into c++), module does not correct self, or cycling include.

 * task_processor module, created by Ivan Sidarau.
Description: task_processor module is a module to process different abstract tasks by several thread calculators.

 * logger module, created by Ivan Sidarau
Description: logger module create for creating logs to different streams (std::ostream, ofstream...)

 * queue_logger module, created by Ivan Sidarau
Description: queue_logger module combine task_processor and logger modules add possibility to use logger into thread safe environment.

 * limited_file_logger module, created by Ivan Sidarau
Descripption: limited_file_logger module limit file logger by size, so if you want to limit your logs - please use this logger.
Example: you set limit to log file (in megabytes), when that limit will be reached - limit_file_logger will close filestream, rename file to <file_name>.old (delete such file if exists), open new file stream - and log all next actions.
So maximum size of this log on your hdd will be <limit_size> * 2. Please be sure that you have enought free space on your storage.

 * file_logger module, created by Ivan Sidarau
Description: file_logger module create template class that can log information using simple logger, and queue_logger.

 * system_processor module, created by Ivan Sidarau
Description: system_processor module is a singleton based class that gave simple possibility to create special waiter.
if default config file have System.stop_by_ctrl_c = true parameter, than stop method will be called 

 * ts_logger module,  created by Ivan Sidarau.
Description: logger<> like module with mutex synchonization on write method, could be used in several threads (if performance is a must, consider using queue_logger).

 * multikey_tree module, created by Sergey Silaev, idea by Ivan Sidarau
Description: fast thread safe map with std::string as key. created for small strings keys. works faster than std::map< std::string, VALUE > on big amount of insert/get

 * shared_name_storage module, created by Ivan Sidarau
Description: store map of shared_ptr's to gave possibility to user easy to work with array of strings by index (works like indexed database by id and by string [id, string])

About

bunch of utilities for multi-thread high-load back-end applications

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 95.8%
  • Objective-C 3.2%
  • Shell 1.0%