Coverage for mtools.mlogvis.mlogvis : 24%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
#!/usr/bin/env python
information from each line of the log file and outputs a html file that can be viewed in \ a browser. Automatically opens a browser tab and shows the file.'
fields = ['_id', 'datetime', 'operation', 'thread', 'namespace', 'nscanned', 'nreturned', 'duration', 'numYields', 'w', 'r'] if with_line_str: fields.append('line_str')
first_row = True result_str = '' out_count = 0 for line_no, logevent in enumerate(self.args['logfile']): # only export lines that have a datetime and duration if logevent.duration and logevent.datetime: out_count += 1 # if too many lines include a line_str, the page won't load if with_line_str and out_count > 10000: print "Warning: more than 10,000 data points detected. Skipping actual log line strings for faster plotting." return False # write log line out as json if not first_row: # prepend comma and newline result_str += ',\n' else: first_row = False # hack to include _id for log lines from file logevent._id = line_no result_str += logevent.to_json(fields) return result_str
# store in current local folder mlogvis_dir = '.'
# change stdin logfile name and remove the < > logname = self.args['logfile'].name if logname == '<stdin>': logname = 'stdin'
os.chdir(mlogvis_dir)
data_path = os.path.join(os.path.dirname(mtools.__file__), 'data') srcfilelocation = os.path.join(data_path, 'index.html')
json_docs = self._export(True) if not json_docs: json_docs = self._export(False)
outf = '{"type": "duration", "logfilename": "' + logname + '", "data":[' + json_docs + ']}'
dstfilelocation = os.path.join(os.getcwd(), '%s.html'%logname)
print "copying %s to %s" % (srcfilelocation, dstfilelocation)
srcfile = open(srcfilelocation) contents = srcfile.read() srcfile.close()
dstfile = open(dstfilelocation, 'wt') replaced_contents = contents.replace('##REPLACE##', outf) dstfile.write(replaced_contents) dstfile.close()
print "serving visualization on file://"+dstfilelocation
webbrowser.open("file://"+dstfilelocation)
tool = MLogVisTool() tool.run() |