Skip to content

v0.2.1 (2026-07-05)

Latest

Choose a tag to compare

@spencerjibz spencerjibz released this 05 Jul 02:46
· 65 commits to main since this release
3f9e1e9

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

Documentation

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 RedisStore and InMemoryStore stores 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_metrics module && NodeMetrics struct to process_metrics & ProcessMetrics respectively 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_worker now 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

  • 0.2.0 (#80) by @github-actions[bot] (#80) (release)

Contributors