ark_api_ffi/ffi/
profiler_v0.rs1define_api_id!(0x8459_b1a3_a7d6_4155, "profiler-v0");
2
3use bytemuck::Pod;
4use bytemuck::Zeroable;
5
6#[derive(Clone, Copy, Debug, PartialEq, Eq, Pod, Zeroable)]
8#[repr(C)]
9pub struct StreamMeta {
10 pub num_scopes: u64,
11 pub depth: u64,
12 pub range_ns_min: i64,
13 pub range_ns_max: i64,
14}
15
16#[ark_api_macros::ark_bindgen(imports = "ark-profiler-v0")]
17mod profiler {
18 use super::StreamMeta;
19
20 extern "C" {
21 #[deprecated_infallible]
26 pub fn now_ns() -> i64;
27
28 #[deprecated(note = "Use `report_thread_stream_info` instead")] #[deprecated_infallible]
30 pub fn report_thread_stream(stream: &[u8]);
31
32 #[deprecated_infallible]
34 pub fn report_thread_stream_info(meta: &StreamMeta, stream: &[u8]);
35
36 pub fn is_active() -> bool;
41 }
42}
43
44pub use profiler::*;