-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #25 from crunchycookie/multi-node-deployment
add integration and monitoring info
- Loading branch information
Showing
3 changed files
with
61 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
import time | ||
|
||
import requests as rq | ||
import sys | ||
import csv | ||
|
||
# 1: local node ip | ||
# 2: dump csv file. | ||
print('ip:', sys.argv[1]) | ||
print('dump file:', sys.argv[2]) | ||
print('begin dumping green-score...') | ||
while True: | ||
response = rq.get(url='http://' + sys.argv[1] + ':3000/gc-controller/dev/green-score').json() | ||
print('received response:', response) | ||
# fields = ['timestamp', 'gs'] | ||
with open(sys.argv[2], 'a') as f: | ||
writer = csv.writer(f) | ||
writer.writerow([time.time(), response['green-score']]) | ||
|
||
time.sleep(5) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
#### Monitoring guide | ||
|
||
Upon successful integration, the system is ready to be monitored for its performance. | ||
|
||
We measure followings. | ||
|
||
System metrics, | ||
|
||
- Green score | ||
- Power consumption | ||
|
||
Application metrics, | ||
|
||
- `nLT`: Normalized lifetime | ||
- Eviction counts | ||
|
||
##### Setting up | ||
|
||
In each computing node, | ||
|
||
1. Green Score | ||
1. `core-power-mgt` service expose an endpoint to obtain green score at a given time: `/gc-controller/dev/green-score` | ||
2. In a new linux screen session, | ||
1. Run `python3 [dump-green-score.py](dump-green-score.py) <node-ip> <path-to-a-csv-file>` | ||
2. csv file should be created and its column names are `timestamp` and `g-score` | ||
3. The above script poll endpoint, dumps green score as a new row in the csv file. | ||
4. detach from the screen session | ||
7. Power consumption | ||
1. In a new linux screen session, | ||
1. Run `sudo turbostat --quiet -out reports/power-stats.csv`. This will keep dumping power stats to the csv file. | ||
2. detach from the session. | ||
|
||
Application metrics are tracked and logged by the vm arrival trace generation. | ||
|
||
##### Post process | ||
|
||
In each node, collect power stats and green score csv files. These data needs to be processed and system behaviour | ||
can be analyzed. | ||
|
||
Once collected, kill all monitoring screen sessions. |