* fix collector init
* Added promhttp server
* Fix memory leak
* Fix memory leak
* Minimum viable server
* Port is now set via config
* Port is now set via config
* Port is now set via config
* Better code organisation & config procession
* Fix docs
* Fix old typo in label_count
* More reliable init
* Shuffle metrics by label for more appropriate collection
* Done with shuffling
* Done, not tested
* Done, now rebase
* Format
* Fix port
Co-authored-by: tim-shlyap <tim-shlyap@yandex-team.ru>
* 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
* Add zlib and zstd to cmake
* Add zpq_stream to machinarium
--
zpq_stream is used for streaming compression/decompression of Postgres protocol
* Add zpq_stream-related functions to machinarium
* Add compression set/free/read/write logic to machinarium
* Add startup packet compression var to kiwi
* Add compression_ack backend message support for kiwi
* Add compression setup logic for main odyssey project
* apply fmt
* fix format #2
Co-authored-by: root <root@ubuntu-build-machine.ru-central1.internal>
Ubuntu pg_config packaged a bit differently, and required libraries
actually can be found in pkglibdir. Search anyway for libdir, then
pkglibdir. Another catch is that pg_config add a new line at the end,
which breaks stuff, so strip it.
Build seems to fail with PostgreSQL 12 version, due to incompatibility
after [1], and required presence of libpgport (to expose pg_sprintf for
scram implementation).
To improve the situation, introduce couple of changes:
* Rely on pg_config to get lib/include directories
* Add libpgport.a into linking
* Provide different versions of pg_b64_decode/encode depending on
PG_VERSION_NUM
[1]: https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=cfc40d384ae51ea2886d599d2008ae57b529e6ea