X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/16f704326f44fd1e5e5e60b936c9b5895d6a6ff8..311b22e026909b8be128ae0752c013b118dd6f0e:/tools/crunchstat-summary/crunchstat_summary/webchart.py diff --git a/tools/crunchstat-summary/crunchstat_summary/webchart.py b/tools/crunchstat-summary/crunchstat_summary/webchart.py index 9d18883ce2..31afcf64e9 100644 --- a/tools/crunchstat-summary/crunchstat_summary/webchart.py +++ b/tools/crunchstat-summary/crunchstat_summary/webchart.py @@ -2,7 +2,11 @@ # # SPDX-License-Identifier: AGPL-3.0 -import cgi +try: + from html import escape +except ImportError: + from cgi import escape + import json import pkg_resources @@ -27,13 +31,13 @@ class WebChart(object): {} - '''.format(cgi.escape(self.label), + '''.format(escape(self.label), self.JSLIB, self.js(), self.headHTML()) def js(self): return 'var chartdata = {};\n{}'.format( json.dumps(self.sections()), - '\n'.join([pkg_resources.resource_string('crunchstat_summary', jsa) for jsa in self.JSASSETS])) + '\n'.join([pkg_resources.resource_string('crunchstat_summary', jsa).decode('utf-8') for jsa in self.JSASSETS])) def sections(self): return [ @@ -41,10 +45,13 @@ class WebChart(object): 'label': s.long_label(), 'charts': [ self.chartdata(s.label, s.tasks, stat) - for stat in (('cpu', 'user+sys__rate'), - ('mem', 'rss'), - ('net:eth0', 'tx+rx__rate'), - ('net:keep0', 'tx+rx__rate'))], + for stat in (('cpu', ['user+sys__rate', 'user__rate', 'sys__rate']), + ('mem', ['rss']), + ('net:eth0', ['tx+rx__rate','rx__rate','tx__rate']), + ('net:keep0', ['tx+rx__rate','rx__rate','tx__rate']), + ('statfs', ['used', 'total']), + ) + ], } for s in self.summarizers]