Releases: pradykaushik/task-ranker
Release 0.8.0
- Enable/Disable logging topics.
- README now includes instruction to stop the Task Ranker.
Release 0.7.0
Release 0.6.0
- Cpu utilization calculation has been fixed to now use timestamps associated with the data to compute the elapsed time between successive fetches. With this change, Task Ranker is now stateful as cpuutil task ranking strategy stores the previous values of cumulative cpu time.
- Implemented hooks to be used with logrus for logging purposes. Task Ranker does not log to the console to avoid mixing task ranker logs with application logs. Instead, task ranker logs to two log files.
- Task Ranker logs specific its functioning.
- Task Ranking Results logs containing the results of executing the configured task ranking strategy on the data fetched from prometheus.
v0.5.0
configure strategy + range duration with options.
The time duration for range queries can also be configured. This allows for more fine grained control over the number of data points on which the strategies is to be applied.
For backwards compatibility the earlier WithStrategy(...)
function can still be used. However, note that this results in the default setting of range duration (as exposed by the strategy) being used. If the time duration needs to be configured, then WithStrategyOptions(...)
should now be used.
v0.4.1
Fixes.
- Removed trailing commas in string returned by Task#String().
- Validated endpoint URL when using WithPrometheusEndpoint(...) Option while instantiating DataFetcher.
- Added badges for the following.
- Workflow status.
- Documentation
v0.4.0
Setup and tear-down scripts for local testing. Instead of just running ubuntu containers, which don't demonstrate cpu utilization, running hello world program.
Query Builder is no longer singleton. Multiple Task Ranker instances can now be run.
Changed type of RankedTasks to map[Hostname][]Task
where Task is of below type. This allows for host based ranking of tasks.
type Task struct {
Metric model.Metric
ID string
Weight float64
Hostname string
}
Strategy API now includes an Init(prometheusScrapeInterval time.Duration) function.
Added new strategy to rank tasks based on their cpu utilization (%) in the past 5 prometheus scrape intervals.
Enhanced unit testing of strategies' Execute(...) by mocking data fetched from prometheus server.
Fixed bug in query builder to now include the range [..] only if Strategy#GetRange()
returns a valid range.