-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[GH-55] Add realtime metric support. #58
Conversation
799a9cc
to
7a229fa
Compare
@@ -94,10 +94,52 @@ Feature List | |||
- list/create/delete NFS shares | |||
- list/create/delete DNS servers | |||
- list ip ports. | |||
- list/create/delete link aggregation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
aggregations?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
- list/create/delete link aggregation | ||
- list/create/delete Consistency Groups | ||
- list/create/delete metric real time query | ||
- list metric query result |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
metrics?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
except OSError as e: | ||
# ignore existed error | ||
# ignore exited error |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
existing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
||
def __div__(self, other): | ||
nan = self.NaN | ||
if other == 0: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line 105-107 is conflict with login in 97-98
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
||
def __rtruediv__(self, other): | ||
if other is None: | ||
raise ValueError('cannot use none as dividend.') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ditto
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
7a229fa
to
fb5061e
Compare
@@ -0,0 +1,415 @@ | |||
# coding=utf-8 | |||
# Copyright (c) 2015 EMC Corporation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2016
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
@@ -0,0 +1,47 @@ | |||
# Copyright (c) 2015 EMC Corporation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2016
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
@@ -0,0 +1,187 @@ | |||
# coding=utf-8 | |||
# Copyright (c) 2015 EMC Corporation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2016
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
for r in self: | ||
self._path_result_map[r.path] = r | ||
return self._path_result_map.get(path) | ||
# filtered = list(filter(lambda r: r.path == path, self)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unnecessary?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, removed. Thanks.
fb5061e
to
a72270d
Compare
a72270d
to
560569d
Compare
560569d
to
b80bb5a
Compare
Add subscription support for realtime metric. Details: * List metric resources. * List/Create/Delete metric real time query. * Query metric query result. * Add `RepeatedTimer` utility for management of repeated tasks. * List disks. * Add calculators meta info manager. * Enable/Disable real time metric collection. * Add metric properties in printed string of resource/resource list. * Add basic persist stats to csv support. * Allow enable certain resource types of metrics monitoring. * Add badge from `landscape.io`. Add following metrics: * disk * read IOPS * write IOPS * read bandwidth * write bandwidth * utilization * lun * read IOPS * write IOPS * read bandwidth * write bandwidth * utilization * filesystem * read IOPS * write IOPS * read bandwidth * write bandwidth * storage processor * net in bandwidth * net out bandwidth * block read IOPS * block write IOPS * block read bandwidth * block write bandwidth * CIFS read IOPS * CIFS write IOPS * CIFS read bandwidth * CIFS write bandwidth * NFS read IOPS * NFS write IOPS * NFS read bandwidth * NFS write bandwidth * utilization * block cache read hit ratio * block cache write hit ratio * core count * temperature
b80bb5a
to
a92c9b5
Compare
Support Link aggregation in storops
Add subscription support for realtime metric.
Details:
RepeatedTimer
utility for management of repeated tasks.Add following metrics: