#
8a499e13 |
| 22-Dec-2023 |
Matheus Izvekov |
win: stop using deprecated names (#4253)
|
#
011a1ac1 |
| 06-Oct-2023 |
Pleuvens |
test: switch to new-style ASSERT_EQ macros (#4159) Switch from old-style ASSERT macro to new-style ASSERT_EQ,... macros. Using new-style macros makes it easier to debug test failure
test: switch to new-style ASSERT_EQ macros (#4159) Switch from old-style ASSERT macro to new-style ASSERT_EQ,... macros. Using new-style macros makes it easier to debug test failures Fixes: https://github.com/libuv/libuv/issues/2974
show more ...
|
#
e02642cf |
| 17-Apr-2023 |
Trevor Norris |
src: fix events/events_waiting metrics counter (#3957) The worker pool calls all callbacks locally within the queue. So the value of nevents doesn't properly reflect that case. Increase
src: fix events/events_waiting metrics counter (#3957) The worker pool calls all callbacks locally within the queue. So the value of nevents doesn't properly reflect that case. Increase the number of events directly from the worker pool's callback to correct this. In order to properly determine if the events_waiting counter needs to be incremented, store the timeout value at the time the event provider was called.
show more ...
|
#
91a7e498 |
| 12-Mar-2023 |
Trevor Norris |
test: silence more valgrind warnings (#3917) Pass the loop to MAKE_VALGRIND_HAPPY() so it's explicit on which loop needs to be cleaned up. Since it asserts on uv_loop_close(), need to
test: silence more valgrind warnings (#3917) Pass the loop to MAKE_VALGRIND_HAPPY() so it's explicit on which loop needs to be cleaned up. Since it asserts on uv_loop_close(), need to remove a couple of those that were being done before the call. Cleanup where loop was assigned, so the entire test either uses loop or uv_default_loop(). Not both. Also take care of any reqs that may have been left uncleaned.
show more ...
|
#
2638237e |
| 21-Jan-2023 |
James McCoy |
build: add CI for OpenBSD and FreeBSD (#3548) Fixes: https://github.com/libuv/libuv/issues/3510
|
#
e1415860 |
| 11-Nov-2022 |
Trevor Norris |
src: add new metrics APIs (#3749) The following metrics are now always recorded and available via the new uv_metrics_info() API. * loop_count: Number of event loop iterations.
src: add new metrics APIs (#3749) The following metrics are now always recorded and available via the new uv_metrics_info() API. * loop_count: Number of event loop iterations. * events: Total number of events processed by the event handler. * events_waiting: Total number of events waiting in the event queue when the event provider request was made. Benchmarking has shown no noticeable impact recording these metrics. PR-URL: https://github.com/libuv/libuv/pull/3749
show more ...
|
Revision tags: v1.41.0, v1.40.0, v1.39.0 |
|
#
79c531cb |
| 21-Aug-2020 |
Jameson Nash |
nfci: address some style nits PR-URL: https://github.com/libuv/libuv/pull/2954 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
|
Revision tags: v1.38.1, v1.38.0, v1.37.0, v1.36.0 |
|
#
e8effd45 |
| 26-Mar-2020 |
Trevor Norris |
core: add API to measure event loop idle time The API addition `uv_metrics_idle_time()` is a thread safe call that allows the user to retrieve the amount of time the event loop has spent
core: add API to measure event loop idle time The API addition `uv_metrics_idle_time()` is a thread safe call that allows the user to retrieve the amount of time the event loop has spent in the kernel's event provider (i.e. poll). It was done this way to allow retrieving this value without needing to interrupt the execution of the event loop. This option can be enabled by passing `UV_METRICS_IDLE_TIME` to `uv_loop_configure()`. One important aspect of this change is, when enabled, to always first call the event provider with a `timeout == 0`. This allows libuv to know whether any events were waiting in the event queue when the event provider was called. The importance of this is because libuv is tracking the amount of "idle time", not "poll time". Thus the provider entry time is not recorded when `timeout == 0` (the event provider never idles in this case). While this does add a small amount of overhead, when enabled, but the overhead decreases when the event loop has a heavier load. This is because poll events will be waiting when the event provider is called. Thus never actually recording the provider entry time. Checking if `uv_loop_t` is configured with `UV_METRICS_IDLE_TIME` always happens in `uv__metrics_set_provider_entry_time()` and `uv__metrics_update_idle_time()`. Making the conditional logic wrapping each call simpler and allows for instrumentation to always hook into those two function calls. Rather than placing the fields directly on `uv__loop_internal_fields_t` add the struct `uv__loop_metrics_t` as a location for future metrics API additions. Tests and additional documentation has been included. PR-URL: https://github.com/libuv/libuv/pull/2725 Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By: Jameson Nash <vtjnash@gmail.com>
show more ...
|