def calculate_waste(filename):
    sessions = read_sessions(filename)
    waste = ['Preferences', 'Export page', 'Page down', 'Start', 
             'Bring to front', 'Duplicate page', 'Save', 'Copy module', 
             'Page up', 'Module repositioned', 'Paste module', 'Show preview', 
             'Module removed', 'Change page height', 'Import page', 
             'Remove module', 'Remove page', 'Send back', 'Page loaded']
    return count_events(sessions, waste)
Exemple #2
0
def analyze_sessions(filename, threshold):
    sessions = read_sessions(filename)
    counter = 0
    for events in sessions.itervalues():
        if len(events) < threshold:
            counter += 1
    print( 'Below threshold: %d' % counter)
    print( 'All sessions: %d' % len(sessions))
def analyze_event_frequency(filename):
    sessions = read_sessions(filename)
    events = defaultdict(int)
    for records in sessions.itervalues():
        for record in records:
            name = record['event']
            events[name] += 1
    print len(events)
    for name, counter in events.iteritems():
        print name, ":\t", counter
Exemple #4
0
def session_histogram(filename):
    sessions = read_sessions(filename)
    data = [min(len(events),200) for events in sessions.itervalues()]
#    data = [len(events) for events in sessions.itervalues()]
    plt.ylabel('Number of sessions')
    plt.xlabel('Number of actions')
    plt.title('Histogram of session activity')
    plt.hist(data, bins=20, range=[0, 200])
#    plt.hist(data, log=True)
    plt.show()
def analyze_events(filename):
    sessions = read_sessions(filename)
#    sessions = {k:v for k,v in sessions.iteritems() if len(v) > 10}
#    count_events(sessions, ['Save'])
    count_events(sessions, ['Page page'])
    count_events(sessions, ['Insert page'])
#    count_events(sessions, ['Show preview'])
#    count_events(sessions, ['Module repositioned'])
#    count_events(sessions, ['Change page height'])
#    count_events(sessions, ['Module edited'])
#    count_events(sessions, ['Module removed'])
#    count_events(sessions, ['Remove page'])
    print 'Events: %d Sessions: %d' % (sum([len(v) for v in sessions.itervalues()]), len(sessions))
Exemple #6
0
 def handle(self, *args, **options):
     notepads = Notepad.objects.all();
     today = datetime.today().replace(hour=0, minute=0, second=0, microsecond=0)
     yesterday = today - timedelta(days=1)
     file_date = yesterday.strftime("%Y-%m-%d")
     counter = 0 
     for notepad in notepads:
         filename = FILE_STORAGE + notepad.uuid + "/" + file_date + ".log"
         sessions = read_sessions(filename)
         stats = DailyStats(notepad=notepad)
         stats.day = yesterday.date()
         stats.session_count = len(sessions)
         stats.event_count = sum([len(events) for events in sessions.itervalues()])
         stats.report_data = self.createReport(sessions, notepad)
         stats.save()
         if len(sessions) > 0:
             counter += 1
         self.compressLog(filename)
     self.stdout.write('processed: %d notepads\n' % (counter))
# -*- coding: utf-8 -*-
'''
Created on 05-08-2013

@author: klangner
'''
from bluenotepad.storage.log import read_folder_sessions, read_sessions
from collections import defaultdict
import os


DATA_ROOT = os.path.join(os.path.dirname(__file__), '../../data/')


def event_before(sesions, event_name):
    events = defaultdict(int)
    for records in sessions.itervalues():
        last_record = None
        for record in records:
            if record['event'] == event_name:
                events[last_record['event']] += 1
            last_record = record 
    for name, counter in events.iteritems():
        print name, ":\t", counter


if __name__ == '__main__':
#    sessions = read_folder_sessions(DATA_ROOT)
    sessions = read_sessions(DATA_ROOT + '2013-08-14.log')
    event_before(sessions, 'Show preview')