diff options
author | Eric Wong <normalperson@yhbt.net> | 2013-08-07 20:03:34 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2013-08-26 20:41:08 +0000 |
commit | 37a5071021601480384c2abe20f2d33ad974579d (patch) | |
tree | b0cc006c9cac9da7002e44adcfba2737bc0ce83f /probes.d | |
parent | fe1e1200c1541676e6b8402b7972a16105a76a63 (diff) | |
download | cmogstored-37a5071021601480384c2abe20f2d33ad974579d.tar.gz |
Our "all.stp" tapset now generates awk-friendly output for feeding some sample awk scripts. Using awk (and gawk) was necessary to avoid reimplementing strftime in guru mode for generating CLF (Common Log Format) HTTP access logs. Using awk also gives us several advantages: * floating point number support (for time differences) * a more familiar language to systems administrators (given this is for MogileFS, perhaps Perl would be even more familiar...). * fast edit/run cycle, so the slowness of using stap to rebuild/reload the kernel module for all.stp changes can be avoided when output must be customized.
Diffstat (limited to 'probes.d')
-rw-r--r-- | probes.d | 36 |
1 files changed, 20 insertions, 16 deletions
@@ -7,29 +7,33 @@ * to change in 2013 */ provider cmogstored { - probe http_rderr(size_t buf_len, int err); - probe http_rdclose(size_t buf_len); + probe http_rderr(int fd, size_t buf_len, int err); + probe http_rdclose(int fd, size_t buf_len); probe http_accepted(int fd, const char *host, const char *port, const char *listen_addr); - probe http_req_begin(bool pipelined); - /* DWARF: http_process_client */ - /* DWARF: mog_http_get_open */ - probe http_req_end(); + probe http_req_begin(int fd, bool pipelined); - /* DWARF: mog_ioq_ready(.return) */ + probe http_parse_continue(int fd, size_t buf_len); + probe http_rbuf_grow(int fd, size_t buf_len); + probe http_req_start(int fd, const char *method, const char *path); + probe http_res_start(int fd, const char *status); + probe http_res_done(int fd); + probe http_client_close(int fd, size_t buf_len); + probe http_bytes_xfer(int fd, off_t len); + + probe ioq_blocked(int fd); probe ioq_reschedule(int fd); - /* DWARF: mog_ioq_unblock(.return) */ + probe ioq_unblocked(int fd); probe mgmt_accepted(int fd, const char *host, const char *port, const char *listen_addr); - probe mgmt_rderr(struct mog_fd *mfd, size_t buf_len, int err); - probe mgmt_rdclose(struct mog_fd *mfd, size_t buf_len); - - probe write_buffered(); + probe mgmt_dig_start(int fd, int alg, const char *path); + probe mgmt_dig_done(int fd, long long code); + probe mgmt_parse_continue(int fd, size_t buf_len); + probe mgmt_rbuf_grow(int fd, size_t buf_len); + probe mgmt_rderr(int fd, size_t buf_len, int err); + probe mgmt_client_close(int fd, size_t buf_len); - /* DWARF: mgmt_rbuf_grow */ - /* DWARF: mgmt_parse_continue */ - /* DWARF: http_rbuf_grow */ - /* DWARF: http_parse_continue */ + probe write_buffered(int fd, size_t buf_len); }; |