コード例 #1
0
ファイル: views.py プロジェクト: Mr-Kumar-Abhishek/pings
def feedback(request):
    global nb_feedback

    if not request.path_qs.startswith("/feedback.py"):
        raise HTTPBadRequest('Malformed input')

    parameters = request.params
    # override real IP for testing
    ip = parameters.get('ip', request.client_addr)

    # If the client have a private ip, it is on the same network as
    # the server. So we use the server ip as there isn't have geoip
    # info for private ip.
    int_ip = resources.get_int_from_ip(ip)
    if ((167772160 <= int_ip <= 184549375) or
        (2886729728 <= int_ip <= 2887778303) or
        (3232235520 <= int_ip <= 3232301055)):  # is_private
        ip = server_ip

    # Get parameters
    measurements = parameters.get('measurements', '')
    html = not bool(parameters.get('text_only', ''))
    full_page = bool(parameters.get('full_page', ''))

    # Limit the number of ip used in the analysis to limit the time.
    if len(measurements) == '':
        raise HTTPBadRequest('Malformed input. No measurements received.')
    ms = [m for m in measurements.split('-') if m]
    if time_table_idx == 0:
        nb = 20
    elif time_table_idx == 1:
        nb = 15
    else:
        nb = 10
    measurements = '-'.join(ms[-nb:])

    response = display_stats(ip, measurements, html, full_page)
    if full_page:
        response = response.encode('utf-8')
        content_type = 'text/html' if html else 'text/plain'
    else:
        response = json.dumps({'content': response})  # already utf-8 encoded
        # wrap the reponse in jsonp
        response = parameters.get('jsoncallback',
                                  'jsoncallback') + '(' + response + ')'
        content_type = 'application/json'
    res = Response(response,
                   content_type=content_type,
                   charset='utf-8')
    nb_feedback += 1
    return res
コード例 #2
0
def feedback(request):
    global nb_feedback

    if not request.path_qs.startswith("/feedback.py"):
        raise HTTPBadRequest('Malformed input')

    parameters = request.params
    # override real IP for testing
    ip = parameters.get('ip', request.client_addr)

    # If the client have a private ip, it is on the same network as
    # the server. So we use the server ip as there isn't have geoip
    # info for private ip.
    int_ip = resources.get_int_from_ip(ip)
    if ((167772160 <= int_ip <= 184549375)
            or (2886729728 <= int_ip <= 2887778303)
            or (3232235520 <= int_ip <= 3232301055)):  # is_private
        ip = server_ip

    # Get parameters
    measurements = parameters.get('measurements', '')
    html = not bool(parameters.get('text_only', ''))
    full_page = bool(parameters.get('full_page', ''))

    # Limit the number of ip used in the analysis to limit the time.
    if len(measurements) == '':
        raise HTTPBadRequest('Malformed input. No measurements received.')
    ms = [m for m in measurements.split('-') if m]
    if time_table_idx == 0:
        nb = 20
    elif time_table_idx == 1:
        nb = 15
    else:
        nb = 10
    measurements = '-'.join(ms[-nb:])

    response = display_stats(ip, measurements, html, full_page)
    if full_page:
        response = response.encode('utf-8')
        content_type = 'text/html' if html else 'text/plain'
    else:
        response = json.dumps({'content': response})  # already utf-8 encoded
        # wrap the reponse in jsonp
        response = parameters.get('jsoncallback',
                                  'jsoncallback') + '(' + response + ')'
        content_type = 'application/json'
    res = Response(response, content_type=content_type, charset='utf-8')
    nb_feedback += 1
    return res
コード例 #3
0
            os.path.join(os.path.dirname(__file__),
                         '../../../models/work_in_progress/src')
        ]
        from graph import display_stats, load_model
        import numpy

        # Load the model used by display_stats
        load_model()
        ip = "132.204.25.12"
        measurements = ip
        one = lambda: '.'.join(map(str, numpy.random.randint(
            256, size=4))) + ',' + str(
                max(51.0, numpy.random.normal(loc=400.0, scale=200.0)))
        measurements = '-'.join([one() for i in xrange(100)])
        for i in range(10000):
            response = display_stats(ip, measurements, False, False)
    elif False:  # speed test get_pings
        nb_iter = 100000
        # Speed test get_pings
        t0 = time.time()
        for i in range(nb_iter):
            #        get_pings("132.204.25." + str(i%255))
            get_pings("132.204.25.12")
        t1 = time.time()
        print "Time per request (ms):", (t1 - t0) / float(nb_iter) * 1000
    else:  # speed test get_geoip_data
        nb_iter = 3000
        # Speed test
        init_geoip()
        pings = get_pings("132.204.25.12")
        t0 = time.time()
コード例 #4
0
ファイル: resources.py プロジェクト: Mr-Kumar-Abhishek/pings
if __name__ == "__main__":
    if True:  # speed test display_stats for feedback
        import sys
        sys.path[0:0] = [os.path.join(os.path.dirname(__file__),
                                      '../../../models/work_in_progress/src')]
        from graph import display_stats, load_model
        import numpy

        # Load the model used by display_stats
        load_model()
        ip = "132.204.25.12"
        measurements = ip
        one = lambda : '.'.join(map(str, numpy.random.randint(256, size=4))) + ',' + str(max(51.0, numpy.random.normal(loc=400.0, scale=200.0)))
        measurements = '-'.join([one() for i in xrange(100)])
        for i in range(10000):
            response = display_stats(ip, measurements, False, False)
    elif False:  # speed test get_pings
        nb_iter = 100000
        # Speed test get_pings
        t0 = time.time()
        for i in range(nb_iter):
            #        get_pings("132.204.25." + str(i%255))
            get_pings("132.204.25.12")
        t1 = time.time()
        print "Time per request (ms):", (t1 - t0) / float(nb_iter) * 1000
    else:  # speed test get_geoip_data
        nb_iter = 3000
        # Speed test
        init_geoip()
        pings = get_pings("132.204.25.12")
        t0 = time.time()