summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS8
-rw-r--r--conf/glances-grafana.json6
-rw-r--r--docs/man/glances.12
-rw-r--r--glances/__init__.py2
-rw-r--r--glances/plugins/glances_docker.py54
5 files changed, 64 insertions, 8 deletions
diff --git a/NEWS b/NEWS
index d60bac24..f33171dd 100644
--- a/NEWS
+++ b/NEWS
@@ -2,8 +2,8 @@
Glances Version 2
==============================================================================
-Version 2.7
-===========
+Version 2.6.2
+=============
Backward-incompatible changes:
@@ -55,7 +55,11 @@ Version 2.6.2
Bugs corrected:
+<<<<<<< HEAD
* Crash with Docker 1.11 (issue #848)
+=======
+ * Crash with Docker 1.11 (issue #848)
+>>>>>>> master
Version 2.6.1
=============
diff --git a/conf/glances-grafana.json b/conf/glances-grafana.json
index c614a3b6..24591bf5 100644
--- a/conf/glances-grafana.json
+++ b/conf/glances-grafana.json
@@ -759,7 +759,7 @@
[
{
"params": [
- "enp0s25.rx"
+ "eth0.rx"
],
"type": "field"
},
@@ -775,7 +775,7 @@
},
{
"alias": "Tx",
- "column": "enp0s25.tx*-1",
+ "column": "eth0.tx*-1",
"dsType": "influxdb",
"function": "mean",
"groupBy": [
@@ -800,7 +800,7 @@
[
{
"params": [
- "enp0s25.tx"
+ "eth0.tx"
],
"type": "field"
},
diff --git a/docs/man/glances.1 b/docs/man/glances.1
index c48e269a..74171f51 100644
--- a/docs/man/glances.1
+++ b/docs/man/glances.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "GLANCES" "1" "Sep 10, 2016" "2.7_" "Glances"
+.TH "GLANCES" "1" "Sep 10, 2016" "2.7" "Glances"
.SH NAME
glances \- An eye on your system
.
diff --git a/glances/__init__.py b/glances/__init__.py
index f2b733ad..34661281 100644
--- a/glances/__init__.py
+++ b/glances/__init__.py
@@ -27,7 +27,7 @@ import sys
# Global name
__appname__ = 'glances'
-__version__ = '2.7_'
+__version__ = '2.7'
__author__ = 'Nicolas Hennion <nicolas@nicolargo.com>'
__license__ = 'LGPL'
diff --git a/glances/plugins/glances_docker.py b/glances/plugins/glances_docker.py
index 41923f04..23b5cb17 100644
--- a/glances/plugins/glances_docker.py
+++ b/glances/plugins/glances_docker.py
@@ -256,7 +256,7 @@ class Plugin(GlancesPlugin):
cpu_new['nb_core'] = len(all_stats['cpu_stats']['cpu_usage']['percpu_usage'] or [])
except KeyError as e:
# all_stats do not have CPU information
- logger.debug("Cannot grab CPU usage for container {} ({})".format(container_id, e))
+ logger.debug("Can not grab CPU usage for container {0} ({1})".format(container_id, e))
logger.debug(all_stats)
else:
# Previous CPU stats stored in the cpu_old variable
@@ -304,7 +304,11 @@ class Plugin(GlancesPlugin):
ret['max_usage'] = all_stats['memory_stats']['max_usage']
except (KeyError, TypeError) as e:
# all_stats do not have MEM information
+<<<<<<< HEAD
logger.debug("Cannot grab MEM usage for container {} ({})".format(container_id, e))
+=======
+ logger.debug("Can not grab MEM usage for container {0} ({1})".format(container_id, e))
+>>>>>>> master
logger.debug(all_stats)
# Return the stats
return ret
@@ -327,7 +331,11 @@ class Plugin(GlancesPlugin):
netcounters = all_stats["networks"]
except KeyError as e:
# all_stats do not have NETWORK information
+<<<<<<< HEAD
logger.debug("Cannot grab NET usage for container {} ({})".format(container_id, e))
+=======
+ logger.debug("Can not grab NET usage for container {0} ({1})".format(container_id, e))
+>>>>>>> master
logger.debug(all_stats)
# No fallback available...
return network_new
@@ -351,14 +359,24 @@ class Plugin(GlancesPlugin):
# XML/RPC API, which would otherwise be overly difficult work
# for users of the API
try:
+<<<<<<< HEAD
network_new['time_since_update'] = getTimeSinceLastUpdate('docker_net_{}'.format(container_id))
+=======
+ network_new['time_since_update'] = getTimeSinceLastUpdate('docker_net_{0}'.format(container_id))
+>>>>>>> master
network_new['rx'] = netcounters["eth0"]["rx_bytes"] - self.netcounters_old[container_id]["eth0"]["rx_bytes"]
network_new['tx'] = netcounters["eth0"]["tx_bytes"] - self.netcounters_old[container_id]["eth0"]["tx_bytes"]
network_new['cumulative_rx'] = netcounters["eth0"]["rx_bytes"]
network_new['cumulative_tx'] = netcounters["eth0"]["tx_bytes"]
+<<<<<<< HEAD
except KeyError as e:
# all_stats do not have INTERFACE information
logger.debug("Cannot grab network interface usage for container {} ({})".format(container_id, e))
+=======
+ except KeyError:
+ # all_stats do not have INTERFACE information
+ logger.debug("Can not grab network interface usage for container {0} ({1})".format(container_id, e))
+>>>>>>> master
logger.debug(all_stats)
# Save stats to compute next bitrate
@@ -385,7 +403,11 @@ class Plugin(GlancesPlugin):
iocounters = all_stats["blkio_stats"]
except KeyError as e:
# all_stats do not have io information
+<<<<<<< HEAD
logger.debug("Cannot grab block IO usage for container {} ({})".format(container_id, e))
+=======
+ logger.debug("Can not grab block IO usage for container {0} ({1})".format(container_id, e))
+>>>>>>> master
logger.debug(all_stats)
# No fallback available...
return io_new
@@ -466,6 +488,7 @@ class Plugin(GlancesPlugin):
ret.append(self.curse_add_line(msg))
msg = '{:>7}'.format('MEM')
ret.append(self.curse_add_line(msg))
+<<<<<<< HEAD
msg = '{:>7}'.format('/MAX')
ret.append(self.curse_add_line(msg))
msg = '{:>7}'.format('IOR/s')
@@ -473,6 +496,17 @@ class Plugin(GlancesPlugin):
msg = '{:>7}'.format('IOW/s')
ret.append(self.curse_add_line(msg))
msg = '{:>7}'.format('Rx/s')
+=======
+ msg = '{0:>7}'.format('/MAX')
+ ret.append(self.curse_add_line(msg))
+ msg = '{0:>7}'.format('IOR/s')
+ ret.append(self.curse_add_line(msg))
+ msg = '{0:>7}'.format('IOW/s')
+ ret.append(self.curse_add_line(msg))
+ msg = '{0:>7}'.format('Rx/s')
+ ret.append(self.curse_add_line(msg))
+ msg = '{0:>7}'.format('Tx/s')
+>>>>>>> master
ret.append(self.curse_add_line(msg))
msg = '{:>7}'.format('Tx/s')
ret.append(self.curse_add_line(msg))
@@ -514,13 +548,24 @@ class Plugin(GlancesPlugin):
except KeyError:
msg = '{:>7}'.format('?')
ret.append(self.curse_add_line(msg))
+ try:
+ msg = '{0:>7}'.format(self.auto_unit(container['memory']['limit']))
+ except KeyError:
+ msg = '{0:>7}'.format('?')
+ ret.append(self.curse_add_line(msg))
# IO R/W
for r in ['ior', 'iow']:
try:
value = self.auto_unit(int(container['io'][r] // container['io']['time_since_update'] * 8)) + "b"
+<<<<<<< HEAD
msg = '{:>7}'.format(value)
except KeyError:
msg = '{:>7}'.format('?')
+=======
+ msg = '{0:>7}'.format(value)
+ except KeyError:
+ msg = '{0:>7}'.format('?')
+>>>>>>> master
ret.append(self.curse_add_line(msg))
# NET RX/TX
if args.byte:
@@ -533,10 +578,17 @@ class Plugin(GlancesPlugin):
unit = 'b'
for r in ['rx', 'tx']:
try:
+<<<<<<< HEAD
value = self.auto_unit(int(container['network'][r] // container['network']['time_since_update'] * to_bit)) + unit
msg = '{:>7}'.format(value)
except KeyError:
msg = '{:>7}'.format('?')
+=======
+ value = self.auto_unit(int(container['network'][r] // container['network']['time_since_update'] * 8)) + "b"
+ msg = '{0:>7}'.format(value)
+ except KeyError:
+ msg = '{0:>7}'.format('?')
+>>>>>>> master
ret.append(self.curse_add_line(msg))
# Command
msg = ' {}'.format(container['Command'])