From a546be9e6d92137bf3484038b9408738ab7bcd74 Mon Sep 17 00:00:00 2001 From: John Reese Date: Tue, 1 Apr 2014 11:58:53 -0700 Subject: Support multiple fields in --group-by This allows --group-by to take a comma-separated list of field names, and processes the field list before passing it to the SQLProcessor. When displaying the results, it displays as two separate fields. --- ngxtop/ngxtop.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ngxtop/ngxtop.py b/ngxtop/ngxtop.py index 6e1bdfe..9820de8 100755 --- a/ngxtop/ngxtop.py +++ b/ngxtop/ngxtop.py @@ -210,6 +210,7 @@ class SQLProcessor(object): def process(self, records): self.begin = time.time() insert = 'insert into log (%s) values (%s)' % (self.column_list, self.holder_list) + logging.info('sqlite insert: %s', insert) with closing(self.conn.cursor()) as cursor: for r in records: cursor.execute(insert, r) @@ -300,7 +301,12 @@ def build_processor(arguments): for label, query in report_queries: logging.info('query for "%s":\n %s', label, query) - processor = SQLProcessor(report_queries, fields) + + processor_fields = [] + for field in fields: + processor_fields.extend(field.split(',')) + + processor = SQLProcessor(report_queries, processor_fields) return processor -- cgit v1.2.3