Commit 0f83288b authored by Andreas Tsagkaropoulos's avatar Andreas Tsagkaropoulos
Browse files

Improvements in README reflecting changes in the operation of the module

parent ff3f32fd
......@@ -6,11 +6,15 @@ The exponential smoothing predictor is based on the use of the Holt-Winters [1]
Apart from standard R and Python libraries, the libraries included in the src/requirements.txt file should be available for the Python code to be successfully executed. Moreover the `rapportools`,`gbutils`,`forecast`,`ggplot2`,`properties`,`xts`,`anytime` and `purrr` R libraries should be available (included in the src/r_predictors/r_commands.R file).
[1] https://www.rdocumentation.org/packages/forecast/versions/8.15/topics/forecast.HoltWinters
[2] https://www.rdocumentation.org/packages/forecast/versions/8.15/topics/ets
## Configuration
### Configuration file
The predictor comes with two configuration files which can be used to specify the behaviour of the component. The two files are located in the src/r_predictors directory of the project.
The options which will most probably need to be changed before deployment are the `broker_address`,the `horizon`, the `number_of_days_to_aggregate_data_from` and the `number_of_seconds_to_aggregate_on`.
The options which will most probably need to be changed before deployment are the `broker_address`,the `horizon`, the `number_of_days_to_aggregate_data_from` and the `number_of_seconds_to_aggregate_on`.
It should be noted that the `number_of_seconds_to_aggregate_on` variable is updated at runtime to become the minimum between the configuration value and the horizon value received for the predictions (i.e the prediction interval)
| Option | Description |
-------- |------------ |
......@@ -25,7 +29,7 @@ The options which will most probably need to be changed before deployment are th
|horizon| The number of seconds which should be forecasted into the future|
|path_to_datasets|The absolute path to the datasets, **not** including the final slash ('/') character.|
|application_name|The application name to be used when creating a dataset|
|number_of_seconds_to_aggregate_on| The duration of the monitoring data interval in seconds. Monitoring data inside this interval will be aggregated to a single value (the mean value of all per-second observated/interpolated values) |
|number_of_seconds_to_aggregate_on| The duration of the monitoring data interval in seconds (greater than or equal to one). Monitoring data inside this interval will be aggregated to a single value (the mean value of all per-second observated/interpolated values) |
|number_of_days_to_aggregate_data_from| The number of days which will be used to retrieve monitoring data from when creating a dataset|
|prediction_processing_time_safety_margin_seconds| The number of seconds which will be used as a buffer when performing a prediction in order not to delay predictions and yet use as much data as possible|
|testing_prediction_functionality| If set to 'True', then it will not send a prediction time for which predictions will be requested, but will rather allow the horizon setting to be used to create predictions|
......@@ -70,7 +74,7 @@ docker run <container_name>
### Test execution
To quickly test the functionality of the forecaster, assuming that the EMS (or an ActiveMQ broker) has been (or soon will be) setup and is accessible, that the persistence storage module is available, and that the 'latency' and 'memory' metrics are being published to it, the following commands can be issued in order - provided that the broker-client.jar file is available.
To quickly test the functionality of the forecaster, assuming that the EMS (or an ActiveMQ broker) has been (or will soon be) setup and accessible, that the persistence storage module is available, and that the 'latency' and 'memory' metrics are being published to it, the following commands can be issued in order - provided that the broker-client.jar file is available.
1) Publish metrics to predict:
java -jar broker-client.jar publish3 -Umorphemic -Pmorphemic tcp://localhost:61616 metrics_to_predict [{"metric":"latency","level":3,"publish_rate":10000},{"metric":"memory","level":3,"publish_rate":10000}]
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment