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

Function observer_handler

src/execute.rs:357–396  ·  view source on GitHub ↗
(
        execute_data: *mut sys::zend_execute_data,
    )

Source from the content-addressed store, hash-verified

355 Lazy::new(DashMap::new);
356
357 pub unsafe extern "C" fn observer_handler(
358 execute_data: *mut sys::zend_execute_data,
359 ) -> sys::zend_observer_fcall_handlers {
360 unsafe {
361 let Some(execute_data) = ExecuteData::try_from_mut_ptr(execute_data) else {
362 return Default::default();
363 };
364
365 let (function_name, class_name) = match get_function_and_class_name(execute_data) {
366 Ok(x) => x,
367 Err(err) => {
368 error!(?err, "get function and class name failed");
369 return Default::default();
370 }
371 };
372
373 trace!(
374 ?function_name,
375 ?class_name,
376 "observer_handler function and class name"
377 );
378
379 let Some(function_name) = function_name else {
380 return Default::default();
381 };
382
383 if function_name == HACK_SWOOLE_ON_REQUEST_FUNCTION_NAME {
384 return Default::default();
385 }
386
387 if select_plugin_hook(class_name.as_deref(), &function_name).is_none() {
388 return Default::default();
389 }
390
391 sys::zend_observer_fcall_handlers {
392 begin: Some(observer_begin),
393 end: Some(observer_end),
394 }
395 }
396 }
397
398 #[allow(static_mut_refs)]
399 unsafe extern "C" fn observer_begin(execute_data: *mut sys::zend_execute_data) {

Callers

nothing calls this directly

Calls 2

select_plugin_hookFunction · 0.85

Tested by

no test coverage detected