Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Gelencsér Szabolcs
/
monitor-client
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Wiki
Members
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
c90bae3d
authored
Feb 16, 2014
by
Bach Dániel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix flake8 errors
parent
dd5f6fc0
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
80 additions
and
84 deletions
+80
-84
manage.py
+10
-10
src/collectables.py
+1
-1
src/metrics.py
+69
-73
No files found.
manage.py
View file @
c90bae3d
...
@@ -3,18 +3,18 @@ from src import cnfparse, client, collectables
...
@@ -3,18 +3,18 @@ from src import cnfparse, client, collectables
def
main
():
def
main
():
if
len
(
sys
.
argv
)
<
2
:
if
len
(
sys
.
argv
)
<
2
:
print
(
"usage: manage.py run [options]"
)
print
(
"usage: manage.py run [options]"
)
if
len
(
sys
.
argv
)
is
not
2
and
sys
.
argv
[
1
]
is
not
"run"
:
if
len
(
sys
.
argv
)
is
not
2
and
sys
.
argv
[
1
]
is
not
"run"
:
print
(
"[ERROR] Command cannot be parsed. Exiting..."
)
print
(
"[ERROR] Command cannot be parsed. Exiting..."
)
return
return
configuration
,
metrics
=
cnfparse
.
importConf
(
"config/client.conf"
)
configuration
,
metrics
=
cnfparse
.
importConf
(
"config/client.conf"
)
cli
=
client
.
Client
(
configuration
)
cli
=
client
.
Client
(
configuration
)
cli
.
startReporting
(
metricCollectors
=
cli
.
startReporting
(
collectables
.
collectables
.
provide
(
metrics
))
metricCollectors
=
collectables
.
collectables
.
provide
(
metrics
))
if
__name__
==
"__main__"
:
if
__name__
==
"__main__"
:
main
()
main
()
src/collectables.py
View file @
c90bae3d
from
metrics
import
*
from
metrics
import
std
class
collectables
:
class
collectables
:
...
...
src/metrics.py
View file @
c90bae3d
...
@@ -10,85 +10,81 @@ Metrics = collections.namedtuple("Metrics", ["name", "value"])
...
@@ -10,85 +10,81 @@ Metrics = collections.namedtuple("Metrics", ["name", "value"])
class
Collection
(
object
):
class
Collection
(
object
):
class
Group
(
object
):
class
Group
(
object
):
class
Metric
(
object
):
class
Metric
(
object
):
name
=
"unknown"
name
=
"unknown"
collector_function
=
0
collector_function
=
0
collector_function_arguments
=
{}
collector_function_arguments
=
{}
collector_function_result_attr
=
""
collector_function_result_attr
=
""
@classmethod
@classmethod
def
harvest
(
cls
):
def
harvest
(
cls
):
query
=
cls
.
collector_function
.
im_func
(
query
=
cls
.
collector_function
.
im_func
(
**
cls
.
collector_function_arguments
)
**
cls
.
collector_function_arguments
)
if
((
isinstance
(
query
,
list
))
or
(
isinstance
(
query
,
dict
))):
if
((
isinstance
(
query
,
list
))
or
(
isinstance
(
query
,
dict
))):
return
Metrics
(
cls
.
name
,
return
Metrics
(
cls
.
name
,
query
[
cls
.
collector_function_result_attr
])
query
[
cls
.
collector_function_result_attr
])
elif
(
isinstance
(
query
,
tuple
)):
elif
(
isinstance
(
query
,
tuple
)):
return
Metrics
(
cls
.
name
,
return
Metrics
(
cls
.
name
,
query
.
__getattribute__
(
query
.
__getattribute__
(
cls
.
collector_function_result_attr
))
cls
.
collector_function_result_attr
))
else
:
else
:
return
Metrics
(
cls
.
name
,
query
)
return
Metrics
(
cls
.
name
,
query
)
##############################################################################
##############################################################################
class
std
(
Collection
):
class
std
(
Collection
):
class
cpu
(
Collection
.
Group
):
class
cpu
(
Collection
.
Group
):
class
usage
(
Collection
.
Group
.
Metric
):
class
usage
(
Collection
.
Group
.
Metric
):
name
=
"cpu.usage"
name
=
"cpu.usage"
collector_function
=
ps
.
cpu_percent
collector_function
=
ps
.
cpu_percent
collector_function_arguments
=
{
collector_function_arguments
=
{
'interval'
:
0.0
}
'interval'
:
0.0
,
}
class
memory
(
Collection
.
Group
):
class
memory
(
Collection
.
Group
):
class
usage
(
Collection
.
Group
.
Metric
):
class
usage
(
Collection
.
Group
.
Metric
):
name
=
"memory.usage"
name
=
"memory.usage"
collector_function
=
ps
.
virtual_memory
collector_function
=
ps
.
virtual_memory
collector_function_result_attr
=
"percent"
collector_function_result_attr
=
"percent"
class
swap
(
Collection
.
Group
):
class
swap
(
Collection
.
Group
):
class
usage
(
Collection
.
Group
.
Metric
):
class
usage
(
Collection
.
Group
.
Metric
):
name
=
"swap.usage"
name
=
"swap.usage"
collector_function
=
ps
.
swap_memory
collector_function
=
ps
.
swap_memory
collector_function_result_attr
=
"percent"
collector_function_result_attr
=
"percent"
class
user
(
Collection
.
Group
):
class
user
(
Collection
.
Group
):
class
count
(
Collection
.
Group
.
Metric
):
class
count
(
Collection
.
Group
.
Metric
):
name
=
"user.count"
name
=
"user.count"
@classmethod
@classmethod
def
harvest
(
cls
):
def
harvest
(
cls
):
return
Metrics
(
cls
.
name
,
len
(
ps
.
get_users
()))
return
Metrics
(
cls
.
name
,
len
(
ps
.
get_users
()))
class
network
(
Collection
.
Group
):
class
network
(
Collection
.
Group
):
class
packages_sent
(
Collection
.
Group
.
Metric
):
class
packages_sent
(
Collection
.
Group
.
Metric
):
name
=
"network.packages_sent"
name
=
"network.packages_sent"
collector_function
=
ps
.
network_io_counters
collector_function
=
ps
.
network_io_counters
collector_function_result_attr
=
"packets_sent"
collector_function_result_attr
=
"packets_sent"
class
packages_received
(
Collection
.
Group
.
Metric
):
class
packages_received
(
Collection
.
Group
.
Metric
):
name
=
"network.packages_received"
name
=
"network.packages_received"
collector_function
=
ps
.
network_io_counters
collector_function
=
ps
.
network_io_counters
collector_function_result_attr
=
"packets_recv"
collector_function_result_attr
=
"packets_recv"
class
bytes_sent
(
Collection
.
Group
.
Metric
):
class
bytes_sent
(
Collection
.
Group
.
Metric
):
name
=
"network.bytes_sent"
name
=
"network.bytes_sent"
collector_function
=
ps
.
network_io_counters
collector_function
=
ps
.
network_io_counters
collector_function_result_attr
=
"bytes_sent"
collector_function_result_attr
=
"bytes_sent"
class
bytes_received
(
Collection
.
Group
.
Metric
):
class
bytes_received
(
Collection
.
Group
.
Metric
):
name
=
"network.bytes_received"
name
=
"network.bytes_received"
collector_function
=
ps
.
network_io_counters
collector_function
=
ps
.
network_io_counters
collector_function_result_attr
=
"bytes_recv"
collector_function_result_attr
=
"bytes_recv"
class
system
(
Collection
.
Group
):
class
system
(
Collection
.
Group
):
class
boot_time
(
Collection
.
Group
.
Metric
):
class
boot_time
(
Collection
.
Group
.
Metric
):
name
=
"system.boot_time"
name
=
"system.boot_time"
collector_function
=
ps
.
get_boot_time
collector_function
=
ps
.
get_boot_time
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment