Commit ac9a53811e428940fcfad8bedb770e2503166264
1 parent
c3a2fba8
Adding profiling code and logs...
Changing etag from sha1 to MD5
Showing
1 changed file
with
28 additions
and
4 deletions
Show diff stats
calexium_lib/web/CXM_multihost_http_server.anubis
| ... | ... | @@ -490,8 +490,25 @@ public define One |
| 490 | 490 | --- That's all for the public part ! -------------------------------------------------- |
| 491 | 491 | |
| 492 | 492 | |
| 493 | +define String | |
| 494 | + utime_to_string | |
| 495 | + ( | |
| 496 | + UTime t | |
| 497 | + ) = | |
| 498 | + integer_to_string(t.seconds) + "." + zero_pad_n(6, t.microseconds ) + "s". | |
| 499 | + | |
| 493 | 500 | |
| 494 | - | |
| 501 | +variable UTime t0 = utime(0,0). | |
| 502 | +//variable Int32 t0_s = 0. | |
| 503 | +//variable Int32 t0_us = 0. | |
| 504 | + | |
| 505 | +define One | |
| 506 | + print_delta | |
| 507 | + ( | |
| 508 | + String txt | |
| 509 | + ) = | |
| 510 | +// with t0 = utime(t0_s, t0_us) | |
| 511 | + println(utime_to_string((UTime)now - *t0) + " : " + txt). | |
| 495 | 512 | |
| 496 | 513 | |
| 497 | 514 | |
| ... | ... | @@ -2045,7 +2062,7 @@ define String |
| 2045 | 2062 | if mb_ftimes is |
| 2046 | 2063 | { |
| 2047 | 2064 | failure then println("Warning: no file times for '" + filename + "', etag won't be very accurate."); to_ascii(sha1((filename, size))), |
| 2048 | - success(ftimes) then to_ascii(sha1((filename, ftimes, size))) | |
| 2065 | + success(ftimes) then to_ascii(md5((filename, ftimes, size))) | |
| 2049 | 2066 | }. |
| 2050 | 2067 | |
| 2051 | 2068 | define Bool |
| ... | ... | @@ -2935,7 +2952,6 @@ define Maybe((String,Web_Site_Description)) |
| 2935 | 2952 | |
| 2936 | 2953 | define One -> String make_generate_trust_ticket(DenialOfService dos). |
| 2937 | 2954 | |
| 2938 | - | |
| 2939 | 2955 | define One |
| 2940 | 2956 | http_https_handler |
| 2941 | 2957 | ( |
| ... | ... | @@ -2944,14 +2960,17 @@ define One |
| 2944 | 2960 | Bool is_https, |
| 2945 | 2961 | DenialOfService dos |
| 2946 | 2962 | ) = |
| 2963 | + t0 <- (UTime)now; | |
| 2947 | 2964 | with start_time = (Int32)now, |
| 2948 | 2965 | sttm <- start_time; |
| 2966 | + println("Request time: " + format_http_date(start_time)); | |
| 2949 | 2967 | if dos is denial_of_service(mc_v,rld_v,hd_v,ad_v,ld_v,ra_v) then |
| 2950 | 2968 | if remote_IP_address_and_port(connection.conn) is (ip_addr,port) then |
| 2951 | 2969 | if read_request_line(connection,start_time+*rld_v,dos) is |
| 2952 | 2970 | { |
| 2953 | 2971 | error(msg) then print(format(msg)), |
| 2954 | 2972 | ok(request_line) then |
| 2973 | + print_delta("read_request_line"); | |
| 2955 | 2974 | if read_http_headers(connection,start_time+*hd_v,dos) is |
| 2956 | 2975 | { |
| 2957 | 2976 | error(msg) then print(format(msg)), |
| ... | ... | @@ -2959,16 +2978,21 @@ define One |
| 2959 | 2978 | { |
| 2960 | 2979 | failure then unique, |
| 2961 | 2980 | success(p) then if p is (host_name,desc) then |
| 2981 | + print_delta("get_site"); | |
| 2962 | 2982 | if get_body_size(headers) is |
| 2963 | 2983 | { |
| 2964 | 2984 | error(msg) then log_journal_msg(desc,format(msg)), |
| 2965 | 2985 | ok(body_size) then |
| 2986 | + print_delta("get_body_size"); | |
| 2966 | 2987 | if read_http_body(connection,body_size,constant_byte_array(0,0),1000) is |
| 2967 | 2988 | { |
| 2968 | 2989 | error(msg) then log_journal_msg(desc,format(msg)), |
| 2969 | 2990 | ok(body) then |
| 2991 | + print_delta("before send_answer"); | |
| 2970 | 2992 | send_answer(host_name, desc,connection.conn, request_line, headers, body, |
| 2971 | - make_generate_trust_ticket(dos)) | |
| 2993 | + make_generate_trust_ticket(dos)); | |
| 2994 | + with duration = (UTime) now - *t0, | |
| 2995 | + println("Request duration: " + utime_to_string(duration)) | |
| 2972 | 2996 | } |
| 2973 | 2997 | } |
| 2974 | 2998 | } | ... | ... |