* Early implementation
* Added description for gauges
* Added prometheus lib finding to Cmake
* Fixed FindProm comments
* Small changes
* free to prom_free
* Moved metrics to separate file
* Refactored & added new methods to prom_metrics
* Refactored cron.c to use prom_metrics.h
* Refactored CMake & odyssey.h
* Added new metrics
* Small refactoring
* Small method renaming
* Small fix in init
* Added methods for use in od_cron_stats_cb
* Small fixes
* Refactored metrics to use separate collectors
* Small fix
* Passing metrics to od_cron_stat_cb now.
* Removed unused imports
* Removed old od_log calls
* Removed TODO
* Revert "Removed old od_log calls"
This reverts commit 60000c8321.
* Uncommented od_log calls
* Added processed clients field to metrics
* Refactored metrics init
* Fixed write_stat
* Added method for worker stats
* Added method for worker stat to metrics header file
* Refactored worker stat method
* Reverted changes in odyssey.h
* Added writing metrics to od_worker
* Added new method to logger
Method provides writing big strings to log without formatting.
* Fixed prometheus log writing
* More fixes
* Fixed log writing
* Fixed log calls
* Added TODO
* Added assertion whether prom.h found
* Fixed no format logger method
Now logs follow log format
* Fixed logger
* Added log_stats_prom option to config
* Renamed od_logger_write_no_fmt to od_logger_write_plain
* Formatted
* More ifdefs
* Added memory deallocating in od_cron_stop
* Updated configuration.md
* Removed outdated TODO
* Changed label
* Formatted
Goal is to improve overall performance during massive peaks
of connecting clients.
This patch makes router a shared structure, instead of
being run in separate system worker thread/coroutine.
Now router and each route object is protected by
separate mutex. Worker threads directly access router object
without calls to separate thread.
This patch moves Odyssey from stream based write caching
to message driven. All write operations are delayed
and happen on a group of messages.
This removes necessity to do IO and wait for write completion during calls
from SSL_write() context. Write timings should behave more predictable now and
number of used syscalls should be also decreased.
This patch also simplifies caching management. All clients are simply
reusing cached messages without prolonged contention.
Several configuration options are no longer used:
pipeline, cache, cache_chunk