示例#1
0
def statistics(path):
    results = {'path': path}
    missing = []
    seconds1 = []
    seconds2 = []
    total = errors = failures = 0
    query = Comparison.all().filter('path', path)
    query.filter('timestamp >', datetime.now() - timedelta(hours=24))
    for comparison in query.fetch(400):
        if not comparison.path or not comparison.path.startswith(path):
            continue
        if comparison.message and 'message' not in results:
            results['message'] = comparison.message
        total += 1
        if comparison.message == 'error':
            errors += 1
        elif comparison.message:
            failures += 1
        if comparison.missing1:
            missing.append(comparison.missing1)
        if comparison.missing2:
            missing.append(comparison.missing2)
        if comparison.seconds1:
            seconds1.append(comparison.seconds1)
        if comparison.seconds2:
            seconds2.append(comparison.seconds2)
    results['total'] = total
    if not total:
        results['error_percent'] = 0.0
        results['failure_percent'] = 0.0
        return results
    results['error_percent'] = 100.0 * errors / total
    results['failure_percent'] = 100.0 * failures / total
    missing.sort()
    if missing:
        results['missing_min'] = min(missing)
        results['missing_median'] = missing[len(missing) / 2]
        results['missing_max'] = max(missing)
    seconds1.sort()
    seconds2.sort()
    results['seconds1_min'] = min(seconds1)
    results['seconds2_min'] = min(seconds2)
    results['seconds1_median'] = seconds1[len(seconds1) / 2]
    results['seconds2_median'] = seconds2[len(seconds2) / 2]
    results['seconds1_max'] = max(seconds1)
    results['seconds2_max'] = max(seconds2)
    return results
示例#2
0
def statistics(path):
    results = {'path': path}
    missing = []
    seconds1 = []
    seconds2 = []
    total = errors = failures = 0
    query = Comparison.all().filter('path', path)
    query.filter('timestamp >', datetime.now() - timedelta(hours=24))
    for comparison in query.fetch(400):
        if not comparison.path or not comparison.path.startswith(path):
            continue
        if comparison.message and 'message' not in results:
            results['message'] = comparison.message
        total += 1
        if comparison.message == 'error':
            errors += 1
        elif comparison.message:
            failures += 1
        if comparison.missing1:
            missing.append(comparison.missing1)
        if comparison.missing2:
            missing.append(comparison.missing2)
        if comparison.seconds1:
            seconds1.append(comparison.seconds1)
        if comparison.seconds2:
            seconds2.append(comparison.seconds2)
    results['total'] = total
    if not total:
        results['error_percent'] = 0.0
        results['failure_percent'] = 0.0
        return results
    results['error_percent'] = 100.0 * errors / total
    results['failure_percent'] = 100.0 * failures / total
    missing.sort()
    if missing:
        results['missing_min'] = min(missing)
        results['missing_median'] = missing[len(missing) / 2]
        results['missing_max'] = max(missing)
    seconds1.sort()
    seconds2.sort()
    results['seconds1_min'] = min(seconds1)
    results['seconds2_min'] = min(seconds2)
    results['seconds1_median'] = seconds1[len(seconds1) / 2]
    results['seconds2_median'] = seconds2[len(seconds2) / 2]
    results['seconds1_max'] = max(seconds1)
    results['seconds2_max'] = max(seconds2)
    return results
示例#3
0
def detail(request, path):
    query = Comparison.all().filter('path', path).order('-timestamp')
    comparisons_list = query.fetch(100)
    return render_to_response(request, 'tests/detail.html', locals())
示例#4
0
def detail(request, path):
    query = Comparison.all().filter('path', path).order('-timestamp')
    comparisons_list = query.fetch(100)
    return render_to_response(request, 'tests/detail.html', locals())