Applications
A
Apache 2.2.x
- ap*::ap_internal_redirect:internal-redirect(char *, char *)
- This probe fires when an internal redirect is performed. The first argument is the old URI and the second argument is the new URI.
- ap*::ap_read_request:read-request-entry(uintptr_t, uintptr_t)
- This probe fires when a request is first read. The first parameter is the request_rec structure in user-space. The second parameter is a conn_rec structure in user-space. This probe fires before the request_rec structure is filled out. There is no value in performing a copyin() on the request_rec, but the pointer value itself can be of value as it will not change through the life of the request.
- ap*::ap_read_request:read-request-failure(uintptr_t)
- This probe fires in the event that reading the request from the client fails. The first parameter is the request_rec structure in user-space.
- ap*::ap_read_request:read-request-success(uintptr_t, char *, char *, char *, int)
- This probe fires after Apache successfully reads the request from the client. The first parameter is the request_rec structure in user-space. The second argument is the method (GET/POST/etc.). The third argument is the URI. The fourth argument is default server's name. The fifth argument is the status.
- ap*::ap_process_request:process-request-entry(uintptr_t, char *)
- This probe fires when a request begins, but after it is read. The first parameter is to the request_rec structure in user-space. The second parameter is the URI itself (for convenience).
- ap*::ap_process_request:process-request-return(uintptr_t, char *, int
- This probe fires when a request completes. The first parameter is to the request_rec structure in user-space. The second parameter is the URI itself (for convenience). The last parameter is the access_status (one of the HTTP_ defines).
- ap*::proxy_handler:proxy-run(uintptr_t, uintptr_t, uintptr_t, char *, int)
- This probe fires when a proxy attempt commences. The first parameter is the request_rec in user-space. The second argument is the proxy_worker in user-space. The third argument is the proxy_server_conf in user-space. The fourth argument is the URL to which we are going to proxy. The fifth argument is the current attempt of the proxy.
- ap*::proxy_handler:proxy-run-finished(uintptr_t, int, int
- This probe first when the proxy action completes. The first parameter is request_rec in user-space. The second parameter is the number of attempts that occurred before completion. The third parameter is the access_status.
- ap*::do_rewritelog:rewrite-log(uintptr_t, int, int, char *, char *)
- This probe fires when mod_rewrite would write to the RewriteLog? as if the RewriteLogLevel? were set to 9 (the highest). The first parameter is the request_rec in user-space. The second parameter is the log level at which this should be logged. The third argument is 0 or 1, representing if this request is a subrequest. The fourth arugment is the server name. The fifth argument is the complete line that would be written to the log.
Hooks Probes
Each hook point in Apache (provided by apr/apr-util) is instrumented with four DTrace probes. A set of probes fires on the entry and return of the hook being called. Additionally, hooks fire immediately prior to the invocation and following the completion of the dispatch of the functions registered against the hook.
- ap*::hook_function:hookname-entry()
- ap*::hook_function:hookname-return(int)
- the parameter here is the return value for the hook (something like OK or DECLINED)
- ap*::hook_function:hookname-dispatch-invoke(char *)
- the parameter is the name of the function registered that is being invoked.
- ap*::hook_function:hookname-dispatch-complete(char *, int)
- the first parameter is the name of the function that just completed. The second parameter is the return value of that function.
The following hooks probes are available:
- ap*::ap_run_access_checker:access_checker-dispatch-complete(char *, int)
- ap*::ap_run_access_checker:access_checker-dispatch-invoke(char *)
- ap*::ap_run_access_checker:access_checker-entry()
- ap*::ap_run_access_checker:access_checker-return(int)
- ap*::ap_run_auth_checker:auth_checker-dispatch-complete(char *, int)
- ap*::ap_run_auth_checker:auth_checker-dispatch-invoke(char *)
- ap*::ap_run_auth_checker:auth_checker-entry()
- ap*::ap_run_auth_checker:auth_checker-return(int)
- ap*::proxy_run_canon_handler:canon_handler-dispatch-complete(char *, int)
- ap*::proxy_run_canon_handler:canon_handler-dispatch-invoke(char *)
- ap*::proxy_run_canon_handler:canon_handler-entry()
- ap*::proxy_run_canon_handler:canon_handler-return(int)
- ap*::ap_run_check_user_id:check_user_id-dispatch-complete(char *, int)
- ap*::ap_run_check_user_id:check_user_id-dispatch-invoke(char *)
- ap*::ap_run_check_user_id:check_user_id-entry()
- ap*::ap_run_check_user_id:check_user_id-return(int)
- ap*::ap_run_child_init:child_init-dispatch-complete(char *, int)
- ap*::ap_run_child_init:child_init-dispatch-invoke(char *)
- ap*::ap_run_child_init:child_init-entry()
- ap*::ap_run_child_init:child_init-return(int)
- ap*::ap_run_create_connection:create_connection-dispatch-complete(char *, int)
- ap*::ap_run_create_connection:create_connection-dispatch-invoke(char *)
- ap*::ap_run_create_connection:create_connection-entry()
- ap*::ap_run_create_connection:create_connection-return(int)
- ap*::ap_run_create_request:create_request-dispatch-complete(char *, int)
- ap*::ap_run_create_request:create_request-dispatch-invoke(char *)
- ap*::ap_run_create_request:create_request-entry()
- ap*::ap_run_create_request:create_request-return(int)
- ap*::ap_run_default_port:default_port-dispatch-complete(char *, int)
- ap*::ap_run_default_port:default_port-dispatch-invoke(char *)
- ap*::ap_run_default_port:default_port-entry()
- ap*::ap_run_default_port:default_port-return(int)
- ap*::ap_run_error_log:error_log-dispatch-complete(char *, int)
- ap*::ap_run_error_log:error_log-dispatch-invoke(char *)
- ap*::ap_run_error_log:error_log-entry()
- ap*::ap_run_error_log:error_log-return(int)
- ap*::dav_run_find_liveprop:find_liveprop-dispatch-complete(char *, int)
- ap*::dav_run_find_liveprop:find_liveprop-dispatch-invoke(char *)
- ap*::dav_run_find_liveprop:find_liveprop-entry()
- ap*::dav_run_find_liveprop:find_liveprop-return(int)
- ap*::ap_run_fixups:fixups-dispatch-complete(char *, int)
- ap*::ap_run_fixups:fixups-dispatch-invoke(char *)
- ap*::ap_run_fixups:fixups-entry()
- ap*::ap_run_fixups:fixups-return(int)
- ap*::dav_run_gather_propsets:gather_propsets-dispatch-complete(char *, int)
- ap*::dav_run_gather_propsets:gather_propsets-dispatch-invoke(char *)
- ap*::dav_run_gather_propsets:gather_propsets-entry()
- ap*::dav_run_gather_propsets:gather_propsets-return(int)
- ap*::ap_run_get_mgmt_items:get_mgmt_items-dispatch-complete(char *, int)
- ap*::ap_run_get_mgmt_items:get_mgmt_items-dispatch-invoke(char *)
- ap*::ap_run_get_mgmt_items:get_mgmt_items-entry()
- ap*::ap_run_get_mgmt_items:get_mgmt_items-return(int)
- ap*::ap_run_get_suexec_identity:get_suexec_identity-dispatch-complete(char *, int)
- ap*::ap_run_get_suexec_identity:get_suexec_identity-dispatch-invoke(char *)
- ap*::ap_run_get_suexec_identity:get_suexec_identity-entry()
- ap*::ap_run_get_suexec_identity:get_suexec_identity-return(int)
- ap*::ap_run_handler:handler-dispatch-complete(char *, int)
- ap*::ap_run_handler:handler-dispatch-invoke(char *)
- ap*::ap_run_handler:handler-entry()
- ap*::ap_run_handler:handler-return(int)
- ap*::ap_run_header_parser:header_parser-dispatch-complete(char *, int)
- ap*::ap_run_header_parser:header_parser-dispatch-invoke(char *)
- ap*::ap_run_header_parser:header_parser-entry()
- ap*::ap_run_header_parser:header_parser-return(int)
- ap*::ap_run_http_scheme:http_scheme-dispatch-complete(char *, int)
- ap*::ap_run_http_scheme:http_scheme-dispatch-invoke(char *)
- ap*::ap_run_http_scheme:http_scheme-entry()
- ap*::ap_run_http_scheme:http_scheme-return(int)
- ap*::dav_run_insert_all_liveprops:insert_all_liveprops-dispatch-complete(char *, int)
- ap*::dav_run_insert_all_liveprops:insert_all_liveprops-dispatch-invoke(char *)
- ap*::dav_run_insert_all_liveprops:insert_all_liveprops-entry()
- ap*::dav_run_insert_all_liveprops:insert_all_liveprops-return(int)
- ap*::ap_run_insert_error_filter:insert_error_filter-dispatch-complete(char *, int)
- ap*::ap_run_insert_error_filter:insert_error_filter-dispatch-invoke(char *)
- ap*::ap_run_insert_error_filter:insert_error_filter-entry()
- ap*::ap_run_insert_error_filter:insert_error_filter-return(int)
- ap*::ap_run_insert_filter:insert_filter-dispatch-complete(char *, int)
- ap*::ap_run_insert_filter:insert_filter-dispatch-invoke(char *)
- ap*::ap_run_insert_filter:insert_filter-entry()
- ap*::ap_run_insert_filter:insert_filter-return(int)
- ap*::ap_run_log_transaction:log_transaction-dispatch-complete(char *, int)
- ap*::ap_run_log_transaction:log_transaction-dispatch-invoke(char *)
- ap*::ap_run_log_transaction:log_transaction-entry()
- ap*::ap_run_log_transaction:log_transaction-return(int)
- ap*::ap_run_map_to_storage:map_to_storage-dispatch-complete(char *, int)
- ap*::ap_run_map_to_storage:map_to_storage-dispatch-invoke(char *)
- ap*::ap_run_map_to_storage:map_to_storage-entry()
- ap*::ap_run_map_to_storage:map_to_storage-return(int)
- ap*::ap_run_monitor:monitor-dispatch-complete(char *, int)
- ap*::ap_run_monitor:monitor-dispatch-invoke(char *)
- ap*::ap_run_monitor:monitor-entry()
- ap*::ap_run_monitor:monitor-return(int)
- ap*::ap_run_open_logs:open_logs-dispatch-complete(char *, int)
- ap*::ap_run_open_logs:open_logs-dispatch-invoke(char *)
- ap*::ap_run_open_logs:open_logs-entry()
- ap*::ap_run_open_logs:open_logs-return(int)
- ap*::ap_run_optional_fn_retrieve:optional_fn_retrieve-dispatch-complete(char *, int)
- ap*::ap_run_optional_fn_retrieve:optional_fn_retrieve-dispatch-invoke(char *)
- ap*::ap_run_optional_fn_retrieve:optional_fn_retrieve-entry()
- ap*::ap_run_optional_fn_retrieve:optional_fn_retrieve-return(int)
- ap*::ap_run_post_config:post_config-dispatch-complete(char *, int)
- ap*::ap_run_post_config:post_config-dispatch-invoke(char *)
- ap*::ap_run_post_config:post_config-entry()
- ap*::ap_run_post_config:post_config-return(int)
- ap*::ap_run_post_read_request:post_read_request-dispatch-complete(char *, int)
- ap*::ap_run_post_read_request:post_read_request-dispatch-invoke(char *)
- ap*::ap_run_post_read_request:post_read_request-entry()
- ap*::ap_run_post_read_request:post_read_request-return(int)
- ap*::proxy_run_post_request:post_request-dispatch-complete(char *, int)
- ap*::proxy_run_post_request:post_request-dispatch-invoke(char *)
- ap*::proxy_run_post_request:post_request-entry()
- ap*::proxy_run_post_request:post_request-return(int)
- ap*::ap_run_pre_config:pre_config-dispatch-complete(char *, int)
- ap*::ap_run_pre_config:pre_config-dispatch-invoke(char *)
- ap*::ap_run_pre_config:pre_config-entry()
- ap*::ap_run_pre_config:pre_config-return(int)
- ap*::ap_run_pre_connection:pre_connection-dispatch-complete(char *, int)
- ap*::ap_run_pre_connection:pre_connection-dispatch-invoke(char *)
- ap*::ap_run_pre_connection:pre_connection-entry()
- ap*::ap_run_pre_connection:pre_connection-return(int)
- ap*::ap_run_pre_mpm:pre_mpm-dispatch-complete(char *, int)
- ap*::ap_run_pre_mpm:pre_mpm-dispatch-invoke(char *)
- ap*::ap_run_pre_mpm:pre_mpm-entry()
- ap*::ap_run_pre_mpm:pre_mpm-return(int)
- ap*::proxy_run_pre_request:pre_request-dispatch-complete(char *, int)
- ap*::proxy_run_pre_request:pre_request-dispatch-invoke(char *)
- ap*::proxy_run_pre_request:pre_request-entry()
- ap*::proxy_run_pre_request:pre_request-return(int)
- ap*::ap_run_process_connection:process_connection-dispatch-complete(char *, int)
- ap*::ap_run_process_connection:process_connection-dispatch-invoke(char *)
- ap*::ap_run_process_connection:process_connection-entry()
- ap*::ap_run_process_connection:process_connection-return(int)
- ap*::ap_run_quick_handler:quick_handler-dispatch-complete(char *, int)
- ap*::ap_run_quick_handler:quick_handler-dispatch-invoke(char *)
- ap*::ap_run_quick_handler:quick_handler-entry()
- ap*::ap_run_quick_handler:quick_handler-return(int)
- ap*::proxy_run_scheme_handler:scheme_handler-dispatch-complete(char *, int)
- ap*::proxy_run_scheme_handler:scheme_handler-dispatch-invoke(char *)
- ap*::proxy_run_scheme_handler:scheme_handler-entry()
- ap*::proxy_run_scheme_handler:scheme_handler-return(int)
- ap*::ap_run_test_config:test_config-dispatch-complete(char *, int)
- ap*::ap_run_test_config:test_config-dispatch-invoke(char *)
- ap*::ap_run_test_config:test_config-entry()
- ap*::ap_run_test_config:test_config-return(int)
- ap*::ap_run_translate_name:translate_name-dispatch-complete(char *, int)
- ap*::ap_run_translate_name:translate_name-dispatch-invoke(char *)
- ap*::ap_run_translate_name:translate_name-entry()
- ap*::ap_run_translate_name:translate_name-return(int)
- ap*::ap_run_type_checker:type_checker-dispatch-complete(char *, int)
- ap*::ap_run_type_checker:type_checker-dispatch-invoke(char *)
- ap*::ap_run_type_checker:type_checker-entry()
- ap*::ap_run_type_checker:type_checker-return(int)
P
PostgreSQL
- postgresql*:::statement-start(const char *)
- Fires any time SQL is executed on the server. copyinstr(arg0) is the query.
- postgresql*:::mark-dirty(uint32_t)
- Fires when a buffer in the shared buffer pool is marked dirty for the first time. The first argument is the buffer (id).
- postgresql*:::local-mark-dirty(uint32_t)
- When a local buffer in the shared buffer pool is marked dirty for the first time. The first argument is the buffer (id).
- postgresql*:::slru-readpage-entry(uintptr_t, uint32_t, uint32_t, uint32_t)
- Fires on the entry to the slru SimpleLruReadPage function. arg0 is a pointer to the PostgreSQL SlruCtl. arg1 is the page number, arg2 is 0 or 1, indicating if the page needs to be writable. arg3 is the transaction id (xid).
- postgresql*:::slru-readpage-return(uint32_t)
- Fires when the slru SimpleLruReadPage function returns. arg0 is the slot number of the page returned.
- postgresql*:::slru-readpage-ro(uintptr_t, uint32_t, uint32_t)
- Fires when the slru SimpleLruReadPage_ReadOnly function is entered. arg0 is a pointer to the PostgreSQL SlruCtl. arg1 is the page number. arg2 is the transaction id (xid).
- postgresql*:::slru-writepage-entry(uintptr_t, uint32_t, uint32_t)
- Fires when the slru SimpleLruWritePage function is entered. arg0 is a pointer to the PostgreSQL SlruCtl. arg1 is the page number. arg2 is the slot number.
- postgresql*:::slru-writepage-return()
- Fires when the slru SimpleLruWritePage function returns.
- postgresql*:::slru-readpage-physical-entry(uintptr_t, char *, uint32_t, uint32_t)
- Fires when the slru SlruPhysicalReadPage function is entered. arg0 is a pointer to the PostgreSQL SlruCtl. copyinstr(arg1) is the pathname of the file being read. arg2 is the page number. arg3 is the slot number.
- postgresql*:::slru-readpage-physical-return(uint32_t, uint32_t, uint32_t)
- Fires when the slru SlruPhysicalReadPage function returns. arg0 is 0 or 1 indicating success. arg1 is the internal error cause (only valid if arg0 is 0). arg2 is the system errno (only valid if arg0 is 0).
- postgresql*:::slru-writepage-physical-entry(uintptr_t, uint32_t, uint32_t)
- Fires when the slru SlruPhysicalWritePage function is entered. arg0 is a pointer to the PostgreSQL SlruCtl. arg1 is the page number. arg2 is the slot number.
- postgresql*:::slru-writepage-physical-return(uint32_t, uint32_t, uint32_t)
- Fires when the slru SlruPhysicalWritePage function returns. arg0 is 0 or 1 indicating success. arg1 is the internal error cause (only valid if arg0 is 0). arg2 is the system errno (only valid if arg0 is 0).
- postgresql*:::xlog-insert(uint32_t, uint32_t)
- Fires when data is inserted in the XLog. arg0 is the resource manager (rmid) for the record. arg1 represents the info flags.
- postgresql*:::xlog-switch()
- Fires when an XLog switch is requested. This is always immediately proceeded by an firing of the xlog-insert probe.
- postgresql*:::xlog-checkpoint-entry(uint32_t, uint32_t)
- Fires when a checkpoint is started in PostgreSQL. arg0 is checkpoint the flag set. arg1 the next transaction id (xid).
- postgresql*:::xlog-checkpoint-return()
- Fires when the checkpoint has completed.
- postgresql*:::clog-checkpoint-entry()
- Fires when the CLOG portion of the checkpoint is started. The CLOG checkpoint involves flushing out an SLRU, see the slru-* probes.
- postgresql*:::clog-checkpoint-return()
- Fires when the CLOG portion of the checkpoint is complete.
- postgresql*:::multixact-checkpoint-entry()
- Fires when the MultiXact portion of the checkpoint is started. The MultiXact checkpoint involves flushing out an SLRU, see the slru-* probes.
- postgresql*:::multixact-checkpoint-return()
- Fires when the MultiXact portion of the checkpoint is complete.
- postgresql*:::subtrans-checkpoint-entry()
- Fires when the SUBTRANS portion of the checkpoint is started. The SUBTRANS checkpoint involves flushing out an SLRU, see the slru-* probes.
- postgresql*:::subtrans-checkpoint-return()
- Fires when the SUBTRANS portion of the checkpoint is complete.
- postgresql*:::buffers-checkpoint-entry(uint32_t)
- Fires when the shared buffers portion of the checkpoint is started. arg0 represents the flags passed to the checkpoint.
- postgresql*:::buffers-checkpoint-return()
- Fires when the shared buffers portion of the checkpoint is complete.
- postgresql*:::buffer-sync-entry(uint32_t, uint32_t)
- Fires when the buffer pool syncing is started. arg0 is the total number of buffers. arg1 is the number it intends to write.
- postgresql*:::buffer-sync-written(uint32_t)
- Fires when the buffer pool syncing is in progress and a buffer has been successfully written.
- postgresql*:::buffer-sync-return(uint32_t, uint32_t, uint32_t)
- Fires when the buffer pool syncing is complete. arg0 is the total number of buffers. arg1 is the number actually written. arg2 is the number it intended to write.
- postgresql*:::buffer-flush-entry(uint32_t, uint32_t, uint32_t, uint32_t)
- Fires when a buffer flush is started. arg0 is database Oid. arg1 is the tablespace Oid. arg2 is the relation Oid. arg3 is the block number.
- postgresql*:::buffer-flush-return(uint32_t, uint32_t, uint32_t, uint32_t)
- Fires when a buffer flush is complete. arg0 is database Oid. arg1 is the tablespace Oid. arg2 is the relation Oid. arg3 is the block number.
- postgresql*:::exec-scan(uintptr_t, uint32_t, uintptr_t);
- postgresql*:::exec-agg(uintptr_t, uint32_t);
- postgresql*:::exec-group(uintptr_t, uint32_t);
- postgresql*:::exec-hash-multi(uintptr_t);
- postgresql*:::exec-hashjoin(uintptr_t);
- postgresql*:::exec-limit(uintptr_t);
- postgresql*:::exec-material(uintptr_t);
- postgresql*:::exec-mergejoin(uintptr_t);
- postgresql*:::exec-nestloop(uintptr_t);
- postgresql*:::exec-setop(uintptr_t);
- postgresql*:::exec-sort(uintptr_t, uint32_t);
- postgresql*:::exec-subplan-hash(uintptr_t);
- postgresql*:::exec-subplan-scan(uintptr_t);
- postgresql*:::exec-unique(uintptr_t);
- postgresql*:::autovacuum-start(uint32_t, char *)
- Fires when a autovacuum process is started. arg0 is the database Oid. copyinstr(arg1) is the database name.
- postgresql*:::autovacuum-relation(uint32_t, char *, char *, char *)
- Fires when a relation is auto-vacuumed. arg0 is the relation Oid. copyinstr(arg1) is the database name. copyinstr(arg2) is the tablespace name. copyinstr(arg3) is the relation name.
