Beispiel #1
0
def get_requests_breakdown(request):
    """
    Used on dashboard to get information which views are most used in
    a time interval
    """
    query_params = request.GET.mixed()
    query_params["resource"] = (request.context.resource.resource_id,)

    filter_settings = build_filter_settings_from_query_dict(request, query_params)
    if not filter_settings.get("end_date"):
        end_date = datetime.utcnow().replace(microsecond=0, second=0)
        filter_settings["end_date"] = end_date

    if not filter_settings.get("start_date"):
        delta = timedelta(hours=1)
        filter_settings["start_date"] = filter_settings["end_date"] - delta

    series = RequestMetricService.get_requests_breakdown(request, filter_settings)

    results = []
    for row in series:
        d_row = {
            "avg_response": round(row["main"] / row["requests"], 3),
            "requests": row["requests"],
            "main": row["main"],
            "view_name": row["key"],
            "latest_details": row["latest_details"],
            "percentage": round(row["percentage"] * 100, 1),
        }

        results.append(d_row)

    return results
Beispiel #2
0
def get_requests_breakdown(request):
    """
    Used on dashboard to get information which views are most used in
    a time interval
    """
    query_params = request.GET.mixed()
    query_params['resource'] = (request.context.resource.resource_id, )

    filter_settings = build_filter_settings_from_query_dict(
        request, query_params)
    if not filter_settings.get('end_date'):
        end_date = datetime.utcnow().replace(microsecond=0, second=0)
        filter_settings['end_date'] = end_date

    if not filter_settings.get('start_date'):
        delta = timedelta(hours=1)
        filter_settings['start_date'] = filter_settings['end_date'] - delta

    series = RequestMetricService.get_requests_breakdown(
        request, filter_settings)

    results = []
    for row in series:
        d_row = {
            'avg_response': round(row['main'] / row['requests'], 3),
            'requests': row['requests'],
            'main': row['main'],
            'view_name': row['key'],
            'latest_details': row['latest_details'],
            'percentage': round(row['percentage'] * 100, 1)
        }

        results.append(d_row)

    return results