v0.2.1
Bug Fixes
-
when using sysinfo, refresh all processes by @spencerjibz (af127a9) (process_tree_tracker)
-
update existing metrics entrics instead of adding new ones if they'are expired by @spencerjibz (5b6716e) (inmemory-store)
-
metrics::is_idle shouldn't include last_id check by @spencerjibz (817d36b) (queue_metrics)
-
fix logic bug in pause_or_resume_workers by @spencerjibz (8102a90)
-
considered timed out runs during the test for processing delayed jobs by @spencerjibz (8a5171b) (worker_tests)
Chores
-
remove unnecessary block_in_place call in the
RedisStore.update_job_progress_syncmethod. by @spencerjibz (d46e2da) (redis-store) -
add sysinfo and heapster as dependancy for collecting Node/Process telemtry by @spencerjibz (6a45bfe) (deps)
-
enable the parking_lot features for tokio by @spencerjibz (44aa07a) (deps)
-
public expose snapshots of process monitoring essentials(metrics & consts) by @spencerjibz (6b36301)
-
expose process-metrics store and fetch methods via the
Queueinstance by @spencerjibz (2cacd74) -
run all timers in one task globally by @spencerjibz (5afacdb) (timers)
-
use flume as the channel instead of tokio::mspc by @spencerjibz (d660cab) (deps)
-
reduce Worker_state_ttl to 100 seconds by @spencerjibz (da7c0df)
-
add cpu-thread-count to
ProcessMetricsCollectorstruct and memory & cpu usage toProcessMetrics structby @spencerjibz (1f9e0a7) (process-metrics) -
running Re-register timer for even idle workers by @spencerjibz (7d850be) (timers)
-
add tokio-stream as a dependency to create useful stream on tokio utils by @spencerjibz (5dc6320) (deps)
-
remove flume in favour of tokio-broadcast by @spencerjibz (2aa3bef) (deps)
-
Reduce channel buffers and simplify streams by @spencerjibz (7c9ed08)
-
remove dashmap and add parking_lot by @spencerjibz (f206257) (deps)
-
add compact_str as dependancy to reduce memory usage by @spencerjibz (f09fc11) (deps)
-
add hostname crate and use it to get the machine's name instead by @spencerjibz (53f0f0b) (deps)
-
fix compile errors when tracing is enabled caused by compact_str refactor by @spencerjibz (e7babde) (tracing)
-
clean up errors by @spencerjibz (c173c3f)
-
fix error in redis-queue-tests, use to_string instead of to_compact_string by @spencerjibz (2c71a52) (tests)
-
add a timer existence check for queues by @spencerjibz (05357f0) (timers)
-
put individual queue_timer tasks to sleep for n millis where there is no work by @spencerjibz (89a6208) (timers)
-
remove triggerpromotion timers by @spencerjibz (3f1ea45) (timers)
-
add a worker to global registry on creation but register it's timers later. by @spencerjibz (490d376) (timers)
-
add more metadata about workers to the process_metrics by @spencerjibz (e3dd09e) (process_metrics)
-
remove lock checks in queue::move_to_finish_or_failed. by @spencerjibz (7c71b0d) (queue)
Documentation
-
add detailed documentation for the process-metrics module by @spencerjibz (be703b8)
-
add ProcessMetrics section to README and fix rustdoc warnings by @spencerjibz (3f9e1e9)
Features
-
Add node/process metrics using the heapster and systinfo crates by @spencerjibz (7b50897)
-
add publish process metrics to worker-timers and a dedicated health check for each worker by @spencerjibz (4a7ec8d) (Timers)
-
add process metrics collection and fetching to
RedisStoreandInMemoryStorestores by @spencerjibz (772217a) (stores) -
add a lazy better timed_map implementation without locking on purged_expired method by @spencerjibz (9795f02)
Refactoring
-
Extract worker metrics into metrics module by @spencerjibz (1c053f7) (metrics)
-
rename the
node_metricsmodule &&NodeMetricsstruct toprocess_metrics&ProcessMetricsrespectively by @spencerjibz (1e0153f) -
process metrics collector and add serde support by @spencerjibz (3f1f0b8)
-
move timers(stall_check,extend_lock& collect_metrics) to the queue instead of workers by @spencerjibz (bda760b)
-
move all timer-logic to a singleton processor by @spencerjibz (2522114)
-
move fetching scheduled delayed jobs to a dedicated timer by @spencerjibz (e471aa3)
-
move worker pausing logic from the timer_reciever-task to each worker's main loop. by @spencerjibz (a98d90c) (worker)
-
Queue::add_workernow also registers existing workers by @spencerjibz (1820372) -
Switch queues to SkipMap instead of a ttl-timed map by @spencerjibz (9490dbf) (ProcessMetricsCollector)
-
use a tokio::watch channel for process-metrics updates instead of the same flume channel as timers by @spencerjibz (5efc7a6)
-
remove usages of dashmap in favour of parking_lot by @spencerjibz (e31bf37)
-
use std::process::id() instead of the sysinfo's method by @spencerjibz (2ba550b)
-
use different strategies for cpu metrics for linux and other platforms by @spencerjibz (3364fe9) (process_metrics)
-
use tokio::utils::DelayQueue instead of futures-intrusive && futures-delay-queue by @spencerjibz (3715a22) (delay_queue_map)
-
remove module delay_queue_map.rs to concurrent_timed_map.rs by @spencerjibz (4f3ca57)
-
merge the event_stream_task and the timer_task_listener task into one background task. by @spencerjibz (32d8c7c) (stores)
-
use tokio::join instead of a tokio::select to run both the stream_listener_task and timer_task. by @spencerjibz (9d75cf2) (queue_timer)
-
periodically update queue metrics inside the worker_metrics collection timers instead of within stores(redis-store for instance). by @spencerjibz (8af8891)
-
Flattened down the worker's reactor loop to a single cleanly controlled loop. by @spencerjibz (9e54443) (worker_reactor_loop)
-
replace numeric as casts with num_traits::AsPrimitive. by @spencerjibz (653c942)
Release
Contributors
-
@github-actions[bot]