--- /dev/null
+provider ap {
+ /* Explicit, core */
+ probe internal__redirect(char *, char *);
+ probe process__request__entry(uintptr_t, char *);
+ probe process__request__return(uintptr_t, char *, uint32_t);
+ probe read__request__entry(uintptr_t, uintptr_t);
+ probe read__request__success(uintptr_t, char *, char *, char *, uint32_t);
+ probe read__request__failure(uintptr_t);
+
+ /* Explicit, modules */
+ probe rewrite__log(uintptr_t, int, int, char *, char *);
+ probe proxy__run(uintptr_t);
+ probe proxy__run__finished(uintptr_t);
+
+ /* Implicit, APR hooks */
+ probe translate_name__entry();
+ probe translate_name__dispatch__invoke(char *);
+ probe translate_name__dispatch__complete(char *, uint32_t);
+ probe translate_name__return(uint32_t);
+ probe map_to_storage__entry();
+ probe map_to_storage__dispatch__invoke(char *);
+ probe map_to_storage__dispatch__complete(char *, uint32_t);
+ probe map_to_storage__return(uint32_t);
+ probe check_user_id__entry();
+ probe check_user_id__dispatch__invoke(char *);
+ probe check_user_id__dispatch__complete(char *, uint32_t);
+ probe check_user_id__return(uint32_t);
+ probe fixups__entry();
+ probe fixups__dispatch__invoke(char *);
+ probe fixups__dispatch__complete(char *, uint32_t);
+ probe fixups__return(uint32_t);
+ probe type_checker__entry();
+ probe type_checker__dispatch__invoke(char *);
+ probe type_checker__dispatch__complete(char *, uint32_t);
+ probe type_checker__return(uint32_t);
+ probe access_checker__entry();
+ probe access_checker__dispatch__invoke(char *);
+ probe access_checker__dispatch__complete(char *, uint32_t);
+ probe access_checker__return(uint32_t);
+ probe auth_checker__entry();
+ probe auth_checker__dispatch__invoke(char *);
+ probe auth_checker__dispatch__complete(char *, uint32_t);
+ probe auth_checker__return(uint32_t);
+ probe insert_filter__entry();
+ probe insert_filter__dispatch__invoke(char *);
+ probe insert_filter__dispatch__complete(char *, uint32_t);
+ probe insert_filter__return(uint32_t);
+ probe create_connection__entry();
+ probe create_connection__dispatch__invoke(char *);
+ probe create_connection__dispatch__complete(char *, uint32_t);
+ probe create_connection__return(uint32_t);
+ probe pre_connection__entry();
+ probe pre_connection__dispatch__invoke(char *);
+ probe pre_connection__dispatch__complete(char *, uint32_t);
+ probe pre_connection__return(uint32_t);
+ probe process_connection__entry();
+ probe process_connection__dispatch__invoke(char *);
+ probe process_connection__dispatch__complete(char *, uint32_t);
+ probe process_connection__return(uint32_t);
+ probe create_request__entry();
+ probe create_request__dispatch__invoke(char *);
+ probe create_request__dispatch__complete(char *, uint32_t);
+ probe create_request__return(uint32_t);
+ probe header_parser__entry();
+ probe header_parser__dispatch__invoke(char *);
+ probe header_parser__dispatch__complete(char *, uint32_t);
+ probe header_parser__return(uint32_t);
+ probe pre_config__entry();
+ probe pre_config__dispatch__invoke(char *);
+ probe pre_config__dispatch__complete(char *, uint32_t);
+ probe pre_config__return(uint32_t);
+ probe test_config__entry();
+ probe test_config__dispatch__invoke(char *);
+ probe test_config__dispatch__complete(char *, uint32_t);
+ probe test_config__return(uint32_t);
+ probe post_config__entry();
+ probe post_config__dispatch__invoke(char *);
+ probe post_config__dispatch__complete(char *, uint32_t);
+ probe post_config__return(uint32_t);
+ probe open_logs__entry();
+ probe open_logs__dispatch__invoke(char *);
+ probe open_logs__dispatch__complete(char *, uint32_t);
+ probe open_logs__return(uint32_t);
+ probe child_init__entry();
+ probe child_init__dispatch__invoke(char *);
+ probe child_init__dispatch__complete(char *, uint32_t);
+ probe child_init__return(uint32_t);
+ probe handler__entry();
+ probe handler__dispatch__invoke(char *);
+ probe handler__dispatch__complete(char *, uint32_t);
+ probe handler__return(uint32_t);
+ probe quick_handler__entry();
+ probe quick_handler__dispatch__invoke(char *);
+ probe quick_handler__dispatch__complete(char *, uint32_t);
+ probe quick_handler__return(uint32_t);
+ probe optional_fn_retrieve__entry();
+ probe optional_fn_retrieve__dispatch__invoke(char *);
+ probe optional_fn_retrieve__dispatch__complete(char *, uint32_t);
+ probe optional_fn_retrieve__return(uint32_t);
+ probe get_mgmt_items__entry();
+ probe get_mgmt_items__dispatch__invoke(char *);
+ probe get_mgmt_items__dispatch__complete(char *, uint32_t);
+ probe get_mgmt_items__return(uint32_t);
+ probe pre_mpm__entry();
+ probe pre_mpm__dispatch__invoke(char *);
+ probe pre_mpm__dispatch__complete(char *, uint32_t);
+ probe pre_mpm__return(uint32_t);
+ probe default_port__entry();
+ probe default_port__dispatch__invoke(char *);
+ probe default_port__dispatch__complete(char *, uint32_t);
+ probe default_port__return(uint32_t);
+ probe http_scheme__entry();
+ probe http_scheme__dispatch__invoke(char *);
+ probe http_scheme__dispatch__complete(char *, uint32_t);
+ probe http_scheme__return(uint32_t);
+ probe error_log__entry();
+ probe error_log__dispatch__invoke(char *);
+ probe error_log__dispatch__complete(char *, uint32_t);
+ probe error_log__return(uint32_t);
+ probe log_transaction__entry();
+ probe log_transaction__dispatch__invoke(char *);
+ probe log_transaction__dispatch__complete(char *, uint32_t);
+ probe log_transaction__return(uint32_t);
+ probe monitor__entry();
+ probe monitor__dispatch__invoke(char *);
+ probe monitor__dispatch__complete(char *, uint32_t);
+ probe monitor__return(uint32_t);
+ probe post_read_request__entry();
+ probe post_read_request__dispatch__invoke(char *);
+ probe post_read_request__dispatch__complete(char *, uint32_t);
+ probe post_read_request__return(uint32_t);
+ probe get_suexec_identity__entry();
+ probe get_suexec_identity__dispatch__invoke(char *);
+ probe get_suexec_identity__dispatch__complete(char *, uint32_t);
+ probe get_suexec_identity__return(uint32_t);
+ probe insert_error_filter__entry();
+ probe insert_error_filter__dispatch__invoke(char *);
+ probe insert_error_filter__dispatch__complete(char *, uint32_t);
+ probe insert_error_filter__return(uint32_t);
+
+ /* Implicit, APR hooks for proxy */
+ probe scheme_handler__entry();
+ probe scheme_handler__dispatch__invoke(char *);
+ probe scheme_handler__dispatch__complete(char *, uint32_t);
+ probe scheme_handler__return(uint32_t);
+ probe canon_handler__entry();
+ probe canon_handler__dispatch__invoke(char *);
+ probe canon_handler__dispatch__complete(char *, uint32_t);
+ probe canon_handler__return(uint32_t);
+ probe pre_request__entry();
+ probe pre_request__dispatch__invoke(char *);
+ probe pre_request__dispatch__complete(char *, uint32_t);
+ probe pre_request__return(uint32_t);
+ probe post_request__entry();
+ probe post_request__dispatch__invoke(char *);
+ probe post_request__dispatch__complete(char *, uint32_t);
+ probe post_request__return(uint32_t);
+
+ /* Implicit, APR hooks for dav */
+ probe gather_propsets__entry();
+ probe gather_propsets__dispatch__invoke(char *);
+ probe gather_propsets__dispatch__complete(char *, uint32_t);
+ probe gather_propsets__return(uint32_t);
+ probe find_liveprop__entry();
+ probe find_liveprop__dispatch__invoke(char *);
+ probe find_liveprop__dispatch__complete(char *, uint32_t);
+ probe find_liveprop__return(uint32_t);
+ probe insert_all_liveprops__entry();
+ probe insert_all_liveprops__dispatch__invoke(char *);
+ probe insert_all_liveprops__dispatch__complete(char *, uint32_t);
+ probe insert_all_liveprops__return(uint32_t);
+};
apr_socket_t *csd;
apr_interval_time_t cur_timeout;
+
apr_pool_create(&p, conn->pool);
apr_pool_tag(p, "request");
r = apr_pcalloc(p, sizeof(request_rec));
+ AP_READ_REQUEST_ENTRY((intptr_t)r, (uintptr_t)conn);
r->pool = p;
r->connection = conn;
r->server = conn->base_server;
ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r);
ap_run_log_transaction(r);
apr_brigade_destroy(tmp_bb);
- return r;
+ goto traceout;
}
apr_brigade_destroy(tmp_bb);
- return NULL;
+ r = NULL;
+ goto traceout;
}
/* We may have been in keep_alive_timeout mode, so toggle back
ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r);
ap_run_log_transaction(r);
apr_brigade_destroy(tmp_bb);
- return r;
+ goto traceout;
}
if (apr_table_get(r->headers_in, "Transfer-Encoding")
ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r);
ap_run_log_transaction(r);
apr_brigade_destroy(tmp_bb);
- return r;
+ goto traceout;
}
}
ap_send_error_response(r, 0);
ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r);
ap_run_log_transaction(r);
- return r;
+ goto traceout;
}
if ((access_status = ap_run_post_read_request(r))) {
ap_die(access_status, r);
ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r);
ap_run_log_transaction(r);
- return NULL;
+ r = NULL;
+ goto traceout;
}
if (((expect = apr_table_get(r->headers_in, "Expect")) != NULL)
ap_send_error_response(r, 0);
ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r);
ap_run_log_transaction(r);
- return r;
+ goto traceout;
}
}
+ AP_READ_REQUEST_SUCCESS((uintptr_t)r, (char *)r->method, (char *)r->uri, (char *)r->server->defn_name, r->status);
+ return r;
+ traceout:
+ AP_READ_REQUEST_FAILURE((uintptr_t)r);
return r;
}