📄 changelog
字号:
2000-10-31 David Mosberger <davidm@hpl.hp.com> * Version 0.8 released. * core.c (do_recv) [!HAVE_SSL]: Avoid referncing param.use_ssl. (do_send): Ditto. * core.c (core_ssl_connect): Print error message if SSL connect fails. ERR_print_errors_fp() may not print anything if there error is due to, e.g., trying to connect to a non-existent port. * httperf.c (main): Initialize port to -1. Once parameters have been processed, port defaults to 443 if SSL is in use, 80 otherwise.2000-10-30 David Mosberger <davidm@hpl.hp.com> * httperf.man: Update man-page with new options (based on Martin's descriptions. * httperf.c (usage): Mention --port.2000-10-27 David Mosberger <davidm@hpl.hp.com> * httperf.man: Mention request summary in description of --print-request. * stat/print_reply.c (print_request): Print request header/content summary line. * httperf.c (usage): Bring in sync with implemented options (Martin's patch). (longopts): Order in alphabetical order (Martin's patch).2000-10-25 David Mosberger <davidm@hpl.hp.com> * stat/print_reply.c (flush_print_buf): New. (Call_Private_Data): New. (CALL_PRIVATE_DATA): New. (call_private_data_offset): New. (print_buf): Rewrite to support line-buffering and new output format. (call_destroyed): New. (print_reply_hdr): New (based on Martin's original version). (send_raw_data): Ditto. (recv_raw_data): Ditto. (recv_stop): Print reply summary (based on Martin's version). (init): Update to support the new print options. * httperf.c: Replace --print-replies/--print-request with more general versions of these options. * httperf.man: Add info on new --print-reply and --print-request options.2000-10-24 David Mosberger <davidm@hpl.hp.com> * httperf.c (main): Initialize ssl_ctx. (main): Use SSLv3_client_method() instead of SSLv23_client_method(). The latter doesn't work. * httperf.h (ssl_ctx): New global variable. * conn.h [HAVE_SSL]: Drop unnecessary includes of <openssl/rsa.h>, <openssl/crypto.h>, <openssl/x509.h>, and <openssl/pem.h>. Drop per-connect "ctx" member (it's global now). * conn.c (conn_init): Create SSL connection info and set cipher list (if necessary). * core.c (core_ssl_connect): Don't create SSL connection info here (done in conn.c now). Always tell SSL about the file descriptor of the socket. * sess.c (sess_deinit) [HAVE_SSL]: Free SSL info if it exists. * gen/session.c (create_conn): If param.ssl_reuse is in effect, re-use SSL session if we have one or update session info with newly created SSL session. * httperf.c [HAVE_SSL]: Include <openssl/rand.h>. (main): Call RAND_seed() with a zero buffer.2000-10-23 David Mosberger <davidm@hpl.hp.com> * conn.c (conn_init): Don't initialize conn->ssl to zero---that has been done by object_new() already. * gen/session.c (create_conn): If reusing SSL session ids, create SSL structure and save SSL info in session structure. * sess.c (sess_deinit) [HAVE_SSL]: Free SSL session if it's non-NULL. * httperf.h: Declare "use_ssl" only if HAVE_SSL is defined. Add ssl_no_reuse and ssl_cipher_list. * httperf.c (struct longopts): Add --ssl-no-reuse and ssl-ciphers. (main): Handle --ssl-cipher_list and --ssl-no-reuse options.2000-10-19 David Mosberger <davidm@hpl.hp.com> * core.c (core_ssl_connect): Bring debug messages in sync with rest of httperf. If s->ssl exists already, skip right to SSL_connect(). If SSL_connect() returns SSL_ERROR_WANT_READ or SSL_ERROR_WANT_WRITE, mark the appropriate fd set as active and return immediately to wait for more data. Use ERR_print_errors_fp() to print SSL-related errors. (core_loop): Check for S_CONNECTING state before doing anything else. * README: Document configuration option "--enable-debug". * configure.in: Add support for --enable-debug.2000-10-16 David Mosberger <davidm@hpl.hp.com> * configure.in: Add AC_TYPE_LONG_LONG check (defines u_wide as "unsigned long long" if the compiler can grok it, "unsigned long" otherwise). * aclocal.m4: New file. * stat/basic.c: Include "config.h". (struct basic): Change type of hdr_bytes_received, reply_bytes_received, and footer_bytes_received from size_t to u_wide. (dump): Change type of total_size to u_wide.2000-10-11 David Mosberger <davidm@hpl.hp.com> * httperf.h (VERSION): Change to 0.8beta. * configure.in: New file. * Makefile.in: Ditto. * stat/Makefile.in: Ditto. * gen/Makefile.in: Ditto. * lib/Makefile.in: Ditto.2000-08-29 David Mosberger <davidm@hpl.hp.com> * httperf.c (main): Call core_exit() on a SIGINT.2000-08-21 David Mosberger <davidm@hpl.hp.com> * core.c (core_init): Bound maximum number of open files to FD_SETSIZE.2000-04-25 David Mosberger <davidm@hpl.hp.com> * httperf.c (main): Add a call to fpsetmask(0) to get non-finite IEEE arithmetic to work on older versions of FreeBSD.1998-12-21 David Mosberger <davidm@hpl.hp.com> * Version 0.7 released. * Makefile (install): New make target. * httperf.h (VERSION): Define as "0.7". * gen/wsesslog.c (parse_config): Remove blank in sscanf() format since this caused problems on FreeBSD and NetBSD. This bug was reported by Stephane Eranian.1998-12-08 David Mosberger <david_mosberger@hp.com> * httperf.c (struct longopts): Add option "method". (usage): Document option --method. (main): Handle --method. * httperf.h (struct Cmdline_Params): New member "method". * gen/misc.c: Renamed from add_header.c. This file now implements both --add-header and --method.1998-11-23 David Mosberger <david_mosberger@hp.com> * httperf.c (longopts): New option "add-header". (main): Handle --add-header. * httperf.h (struct Cmdline_Params): New member "additional_header". * gen/add_header.c: New file.1998-09-18 David Mosberger <davidm@hpl.hp.com> * gen/session.c (call_done): (conn_failed): Call create_conn() instead of sess_failure() in case param.retry_on_failure is set and the connection has not been successful (received at least one good response) * gen/wsess.c (call_destroyed): Call sess_dec_ref() only if session didn't fail.1998-09-14 David Mosberger <davidm@hpl.hp.com> * README: Replace "session" with "connection" and "call" with "request" to reflect current terminology (reported by Christian Petit). Also fixed various other typos and grammatical problems.1998-09-11 David Mosberger <davidm@hpl.hp.com> * gen/session.c (call_done): When param.retry_on_failure is set, re-issue call instead of causing session to fail. * httperf.c (usage): Add --retry-on-failure option. (struct longopts): Ditto. * httperf.man: Document --retry-on-failure option.1998-07-23 David Mosberger <davidm@hpl.hp.com> * stat/sess_stat.c: Use sess->failed instead of maintaining private session-failure flag.1998-07-21 David Mosberger <davidm@hpl.hp.com> * sess.c (sess_failure): Don't signal EV_SESS_FAILED more than once per session. * core.c (do_send): Clear c->recvq_next. This is necessary now because the same call may be issued multiple times (due to connection failures). Hence there is no longer a guarantee that c->recvq_next has been cleared by object_new(). (do_send): Rename s to conn and c to call.1998-07-20 David Mosberger-Tang <David.Mosberger@acm.org> * core.c (do_recv): Set s->state to S_REPLY_DONE when done with an HTTP/1.0 response (mirrors code in http_process_reply_bytes()). (do_recv): No need to check for nread == 0. * stat/basic.c (init): Print basic.conn_lifetime_min only if basic.num_lifetimes > 0. * core.c (core_close): Fix typo (call -> all).1998-07-08 David Mosberger <davidm@hpl.hp.com> * core.c (do_send): Set s->state to S_REPLY_STATUS only if this is the first send---we don't want to interfere with the parsing of an in-progress reply.1998-06-19 David Mosberger <davidm@hpl.hp.com> * Version 0.6 released. * gen/wsesslog.c (issue_calls): Limit `to_create' by the number of calls that the session can queue. * gen/session.c (session_max_qlen): New function. (session_current_qlen): Ditto. (max_qlen): New variable. * httperf.man: Fix typos.1998-06-18 David Mosberger <davidm@hpl.hp.com> * gen/session.c (MAX_CONN): Up MAX_CONN to 16. * object.c (object_new): panic() instead of assert(0) when encountering an unknown object type. * gen/wsesslog.c (user_think_time_expired): Remove stale comment. * gen/sess_cookie.c (struct Call_Private_Data): New member cookie. (call_recv_hdr): Remove padding bogosity. (call_issue): Copy cookie from session to call object.1998-06-17 David Mosberger <davidm@hpl.hp.com> * timer.c (timer_cancel): Instead of an assertion failure, print a message on stderr when timer_cancel(t) is called from within a timeout handler t. * Feedback from Dick Carter: * gen/wsesslog.c (parse_config): Remove stale comment. * httperf.h: Fix typo in comment for min_iat. * httperf.c (usage): Fix typo in --period args. * call.c (call_append_request_header): Fix typo in debug message.1998-06-09 David Mosberger <davidm@hpl.hp.com> * stat/print_reply.c: New file. * stat/sess_stat.c: Ditto. * stat/wsess_stat.c: Remove. * stat/basic.c: Move stats macros into stats.h. (RATE_INTERVAL): Remove. (interval_start): Ditto. (perf_sample): Rename from sample_rate(). (conn_fail): Count EPIPE as a `connection reset' error. (init): Register perf_sample as handler for EV_PERF_SAMPLE. Remove scheduling of performance sampling timer. (dump): Print connection lifetime histogram only if verbose > 1. Print average connection length in number of replies/connection. * stat/stats.h: New file. * stat/basic.c: Add copyright message. * stat/Makefile (libstat.a): Mention sess_stat.o and print_reply.o. * object.c: New file. * object.h: Ditto. * sess.c: Ditto. * sess.h: Ditto. * httperf.h (VERSION): Up version number to 0.6. (object_is_conn): Remove (now in object.h). (object_is_call): Ditto. (enum Object_Type): Ditto. (struct Object): Ditto. (object_type_size): Ditto. (struct Cmdline_Params): New mebers max_piped, max_conns, print_replies, and session_cookies. * httperf.c (perf_sample_start): New variable to keep track of when latest sample interval started. (struct longopts): Add entries for max-connections, max-piped-calls, print-replies, and session-cookies. (usage): Update usage() message. (perf_sample): New function. (main): Remove uri_wsesslog generator. Add sess_stat stats collector. Handle --max-connections, --max-piped, --print-replies and --session-cookies. Start performance sampling timer. * http.c (get_line): Use sizeof (s->line_buf) instead of s->line_buf_size. (parse_status_line): Do strcmp() to find out whether call was a HEAD request. Ignore `100 Continue' replies. * gen/wsesslog.h: Remove. * gen/wsess.c: Modify to take advantage of session manager (gen/session.c). * gen/wsesslog.c: Modify to take advantage of session manager and merge with uri_wsesslog.c. * gen/uri_wlog.c (set_uri): Use call_set_uri(). * gen/uri_wset.c (set_uri): Ditto. * gen/uri_fixed.c (uri_len): New variable. (set_uri): Use call_set_uri(). (init): Initialize uri_len. * gen/session.c: New file. * gen/session.h: Ditto. * gen/sess_cookie.c: New file (based on wsess.c). * gen/conn_rate.c: File renamed from sess_rate.c. * gen/call_seq.c: Modify to take advantage of reference counting. * gen/Makefile (libgen.a): Remove uri_wsesslog (it's part of wsesslog now). * gen/uri_wsesslog.c: Remove. * gen/uri_wsesslog.h: Ditto. * event.h (Event_Type): New member EV_PERF_SAMPLE for performance sampling (invoked once every 5 seconds). Rename EV_USER_NEW to EV_SESS_NEW and EV_USER_DESTROYED to EV_SESS_DESTROYED. New member EV_SESS_FAILED that is signalled when a session fails. * core.c (do_send): Remove left-over assert()ion. (do_send): Preserve io vector element that is being sent in iov_saved. Call call_dec_ref() when the connection is closing. (recv_done): Rename `c' to `call' and invoke call_dec_ref(). (do_recv): Call conn_failure() only if errno != EAGAIN (for Linux). (core_send): Add `conn' argument. Fill in req.iov[IE_HOST] and req.iov[IE_PROTL] only (rest has been filled in by call_set_* macros). Call call_inc_ref() once the call is ready. (core_close): Rename `s' to `conn'. Destroy pending calls calls
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -