MCPcopy Create free account
hub / github.com/apache/skywalking-php / infer_request_id

Function infer_request_id

src/execute.rs:308–333  ·  view source on GitHub ↗
(execute_data: &mut ExecuteData)

Source from the content-addressed store, hash-verified

306}
307
308fn infer_request_id(execute_data: &mut ExecuteData) -> Option<i64> {
309 if !IS_SWOOLE.load(Ordering::Relaxed) {
310 return None;
311 }
312
313 let mut prev_execute_data_ptr = execute_data.as_mut_ptr();
314 loop {
315 let prev_execute_data = (unsafe { ExecuteData::try_from_mut_ptr(prev_execute_data_ptr) })?;
316 let func_name = prev_execute_data.func().get_function_name();
317 if !func_name
318 .map(|s| s == &HACK_SWOOLE_ON_REQUEST_FUNCTION_NAME.as_bytes())
319 .unwrap_or_default()
320 {
321 prev_execute_data_ptr = unsafe { (*prev_execute_data_ptr).prev_execute_data };
322 continue;
323 }
324 let request = prev_execute_data.get_mut_parameter(0).as_mut_z_obj()?;
325 match request.get_mut_property("fd").as_long() {
326 Some(fd) => return Some(fd),
327 None => {
328 error!("infer request id failed");
329 return None;
330 }
331 }
332 }
333}
334
335pub fn register_observer_handlers() {
336 #[cfg(phper_major_version = "8")]

Callers 4

execute_internalFunction · 0.85
execute_exFunction · 0.85
observer_beginFunction · 0.85
observer_endFunction · 0.85

Calls 1

get_mut_parameterMethod · 0.80

Tested by

no test coverage detected