(vm: &VirtualMachine)
| 330 | #[cfg(all(unix, feature = "threading"))] |
| 331 | #[pyfunction] |
| 332 | fn _stop_the_world_stats(vm: &VirtualMachine) -> PyResult<PyDictRef> { |
| 333 | let stats = vm.state.stop_the_world.stats_snapshot(); |
| 334 | let d = vm.ctx.new_dict(); |
| 335 | d.set_item("stop_calls", vm.ctx.new_int(stats.stop_calls).into(), vm)?; |
| 336 | d.set_item( |
| 337 | "last_wait_ns", |
| 338 | vm.ctx.new_int(stats.last_wait_ns).into(), |
| 339 | vm, |
| 340 | )?; |
| 341 | d.set_item( |
| 342 | "total_wait_ns", |
| 343 | vm.ctx.new_int(stats.total_wait_ns).into(), |
| 344 | vm, |
| 345 | )?; |
| 346 | d.set_item("max_wait_ns", vm.ctx.new_int(stats.max_wait_ns).into(), vm)?; |
| 347 | d.set_item("poll_loops", vm.ctx.new_int(stats.poll_loops).into(), vm)?; |
| 348 | d.set_item( |
| 349 | "attached_seen", |
| 350 | vm.ctx.new_int(stats.attached_seen).into(), |
| 351 | vm, |
| 352 | )?; |
| 353 | d.set_item( |
| 354 | "forced_parks", |
| 355 | vm.ctx.new_int(stats.forced_parks).into(), |
| 356 | vm, |
| 357 | )?; |
| 358 | d.set_item( |
| 359 | "suspend_notifications", |
| 360 | vm.ctx.new_int(stats.suspend_notifications).into(), |
| 361 | vm, |
| 362 | )?; |
| 363 | d.set_item( |
| 364 | "attach_wait_yields", |
| 365 | vm.ctx.new_int(stats.attach_wait_yields).into(), |
| 366 | vm, |
| 367 | )?; |
| 368 | d.set_item( |
| 369 | "suspend_wait_yields", |
| 370 | vm.ctx.new_int(stats.suspend_wait_yields).into(), |
| 371 | vm, |
| 372 | )?; |
| 373 | d.set_item( |
| 374 | "world_stopped", |
| 375 | vm.ctx.new_bool(stats.world_stopped).into(), |
| 376 | vm, |
| 377 | )?; |
| 378 | Ok(d) |
| 379 | } |
| 380 | |
| 381 | #[cfg(all(unix, feature = "threading"))] |
| 382 | #[pyfunction] |
nothing calls this directly
no test coverage detected