Commit Graph

27 Commits

Author SHA1 Message Date
kirill reshke b1c7fac971
Fix incomplete odyssey err logging (#195) 2020-07-17 14:17:29 +05:00
kirill reshke 66c1c63751
odyssey erros stats (#187) 2020-07-08 11:26:17 +05:00
Andrey Borodin 86826ae2e8 Apply formatting 2020-07-05 13:51:23 +05:00
Andrey Borodin 03170fdb43 Reset proper window part 2020-07-05 13:47:03 +05:00
Andrey Borodin b5f4cda371 Guard tdigest with locks 2020-07-05 00:01:33 +05:00
Georgy Rylov b51317b254
t-digest for latencies (#147) 2020-05-28 11:12:10 +05:00
Georgy Rylov c25c5bd050
Applying clang-format with saving indentations (#140)
* applying clang-format with saving indentations

* rebase
2020-04-02 16:00:56 +05:00
Andrey Borodin 438e6ae1e7
Extended show pools (#135)
* Extended show pools

* Output time quantiles in SHOW POOLS EXTENDED

One important caveat is that quantiles itself will be taken from console database.
But if route does not have quantiles defined all stats will be zero.

* Change quantile refresh period
2020-03-18 10:12:53 +05:00
Andrey Borodin 507682fdd5
Quantiles for transactions and queries (#95) 2020-01-24 17:31:15 +05:00
Dmitry Simonenko 0504a34b52 odyssey: rework pool wait logic and refactor client notification 2018-12-07 15:12:06 +03:00
Dmitry Simonenko 2e03af9c88 odyssey: major router and shared logic rework
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.
2018-12-06 17:23:15 +03:00
Dmitry Simonenko a790378ddb odyssey: force obsolete clients to disconnect on reload 2018-09-19 13:45:10 +03:00
Dmitry Simonenko da7e6ea7a5 odyssey: major io rework and refactoring
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
2018-08-28 17:43:46 +03:00
Dmitry Simonenko 903f496802 odyssey: rework statistics update logic 2018-08-02 19:02:02 +03:00
Dmitry Simonenko f7a4438ec1 odyssey: move stats out of server_t 2018-08-02 16:38:36 +03:00
Dmitry Simonenko 5ca3fa926a odyssey: update source file headers 2018-04-04 16:19:58 +03:00
Dmitry Simonenko f108dcba09 odyssey: project rename 2018-03-12 17:03:15 +03:00
Dmitry Simonenko bb826db7e8 odissey: major scheme rework, rename it to config 2018-03-06 18:23:52 +03:00
Dmitry Simonenko 6d4d735d58 odissey: implement client pool iterator 2017-08-17 18:38:10 +03:00
Dmitry Simonenko abdcd58b80 odissey: implement stats sampling iterator per database 2017-08-11 18:19:29 +03:00
Dmitry Simonenko c37d1d5c23 odissey: add compare scheme in routepool_match() 2017-07-24 15:05:19 +03:00
Dmitry Simonenko 8d0aafbccc odissey: rename routepool_match to routepool_match_latest 2017-07-24 14:21:32 +03:00
Dmitry Simonenko 9b04c82a8f odissey: major configuration scheme rework 2017-07-21 17:29:01 +03:00
Dmitry Simonenko 578d2fdca8 odissey: rework db scheme route reference and gc 2017-07-19 18:25:44 +03:00
Dmitry Simonenko a9969ca1ca odissey: add scheme obsolete logic 2017-07-17 17:05:46 +03:00
Dmitry Simonenko 8283a2d665 odissey: update banners 2017-07-05 15:42:49 +03:00
Dmitry Simonenko 9e096b96b2 odissey: rework file naming and include path 2017-07-05 15:15:17 +03:00