From e579e2aa9066fe32c9b75415b5f32bdcebcd4760 Mon Sep 17 00:00:00 2001 From: erhant Date: Fri, 16 Aug 2024 18:21:47 +0300 Subject: [PATCH] flamegraphs, use None validation, kademlia cfgs --- .gitignore | 10 +- Cargo.lock | 27 +- Cargo.toml | 5 + Makefile | 14 +- README.md | 14 + benchmarks/flamegraph_none.svg | 491 +++++++++++++++++++++++++++ benchmarks/flamegraph_permissive.svg | 491 +++++++++++++++++++++++++++ src/main.rs | 5 +- src/node.rs | 35 +- src/p2p/behaviour.rs | 27 +- src/p2p/client.rs | 2 + 11 files changed, 1086 insertions(+), 35 deletions(-) create mode 100644 benchmarks/flamegraph_none.svg create mode 100644 benchmarks/flamegraph_permissive.svg diff --git a/.gitignore b/.gitignore index d1a9e7e..2ee6387 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,10 @@ /target -.env* -!.env.example .vscode .DS_Store -/qdrant_storage + +# ignore all env except example +.env* +!.env.example + + +flamegraph.svg diff --git a/Cargo.lock b/Cargo.lock index 2dab201..66188a7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -787,7 +787,7 @@ dependencies = [ "cssparser-macros", "dtoa-short", "itoa 1.0.11", - "phf 0.8.0", + "phf 0.11.2", "smallvec", ] @@ -1116,6 +1116,7 @@ dependencies = [ "async-trait", "base64 0.22.1", "colored", + "dotenvy", "ecies", "env_logger 0.11.3", "fastbloom-rs", @@ -1161,6 +1162,12 @@ version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + [[package]] name = "dtoa" version = "1.0.9" @@ -2088,7 +2095,7 @@ dependencies = [ "httpdate 1.0.3", "itoa 1.0.11", "pin-project-lite 0.2.14", - "socket2 0.4.10", + "socket2 0.5.7", "tokio 1.38.0", "tower-service", "tracing", @@ -3768,7 +3775,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" dependencies = [ - "phf_macros", + "phf_macros 0.8.0", "phf_shared 0.8.0", "proc-macro-hack", ] @@ -3788,6 +3795,7 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" dependencies = [ + "phf_macros 0.11.2", "phf_shared 0.11.2", ] @@ -3865,6 +3873,19 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "phf_macros" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +dependencies = [ + "phf_generator 0.11.2", + "phf_shared 0.11.2", + "proc-macro2", + "quote", + "syn 2.0.68", +] + [[package]] name = "phf_shared" version = "0.8.0" diff --git a/Cargo.toml b/Cargo.toml index 3628953..b73d854 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,6 +5,10 @@ edition = "2021" license = "Apache-2.0" readme = "README.md" +[profile.profiling] +inherits = "release" +debug = true + [dependencies] tokio-util = { version = "0.7.10", features = ["rt"] } tokio = { version = "1", features = ["macros", "rt-multi-thread", "signal"] } @@ -58,6 +62,7 @@ libp2p-identity = { version = "0.2.9", features = ["secp256k1", "ed25519"] } tracing = { version = "0.1.40" } tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } public-ip = "0.2.2" +dotenvy = "0.15.7" [dev-dependencies] diff --git a/Makefile b/Makefile index 82d969e..e85da79 100644 --- a/Makefile +++ b/Makefile @@ -5,17 +5,17 @@ ifneq (,$(wildcard ./.env)) endif ############################################################################### -.PHONY: launch # | Run with INFO log-level & release mode +.PHONY: launch # | Run with INFO log-level in release mode launch: - RUST_LOG=info cargo run --release - + RUST_LOG=warn,dkn_compute=info cargo run --release + .PHONY: run # | Run with INFO log-level run: - RUST_LOG=none,dkn_compute=info cargo run + RUST_LOG=warn,dkn_compute=info cargo run .PHONY: debug # | Run with DEBUG log-level with INFO log-level workflows debug: - RUST_LOG=none,dkn_compute=debug,ollama_workflows=info cargo run + RUST_LOG=warn,dkn_compute=debug,ollama_workflows=info cargo run .PHONY: trace # | Run with crate-level TRACE logging trace: @@ -25,6 +25,10 @@ trace: build: cargo build +.PHONY: profile # | Profile with flamegraph at dev level +profile: + cargo flamegraph --root --profile=profiling + .PHONY: version # | Print version version: @cargo pkgid | cut -d@ -f2 diff --git a/README.md b/README.md index 2fa3ecc..a44ef13 100644 --- a/README.md +++ b/README.md @@ -336,6 +336,20 @@ make lint # clippy make format # rustfmt ``` +### Profiling + +To create a flamegraph of the application, do: + +```sh +make profile +``` + +This will create a profiling build that inherits `release` mode, except with debug information. + +> [!NOTE] +> +> Profiling requires superuser access. + ## License This project is licensed under the [Apache License 2.0](https://opensource.org/license/Apache-2.0). diff --git a/benchmarks/flamegraph_none.svg b/benchmarks/flamegraph_none.svg new file mode 100644 index 0000000..04c5677 --- /dev/null +++ b/benchmarks/flamegraph_none.svg @@ -0,0 +1,491 @@ +Flame Graph Reset ZoomSearch dkn-compute`<tokio_util::sync::cancellation_token::WaitForCancellationFuture as core::future::future::Future>::poll (4 samples, 0.01%)dkn-compute`<libp2p_core::transport::map::Map<T,F> as libp2p_core::transport::Transport>::poll (6 samples, 0.02%)dkn-compute`<libp2p_core::transport::choice::OrTransport<A,B> as libp2p_core::transport::Transport>::poll (8 samples, 0.02%)dkn-compute`<libp2p_core::transport::map::Map<T,F> as libp2p_core::transport::Transport>::poll (5 samples, 0.01%)dkn-compute`<libp2p_relay::priv_client::transport::Transport as libp2p_core::transport::Transport>::poll (5 samples, 0.01%)dkn-compute`<libp2p_core::transport::choice::OrTransport<A,B> as libp2p_core::transport::Transport>::poll (16 samples, 0.04%)dkn-compute`<T as libp2p_core::transport::boxed::Abstract<O>>::poll (17 samples, 0.05%)dkn-compute`<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (5 samples, 0.01%)dkn-compute`<dkn_compute::p2p::behaviour::DriaBehaviour as libp2p_swarm::behaviour::NetworkBehaviour>::on_connection_handler_event (6 samples, 0.02%)dkn-compute`<libp2p_kad::behaviour::Behaviour<TStore> as libp2p_swarm::behaviour::NetworkBehaviour>::on_connection_handler_event (6 samples, 0.02%)dkn-compute`<dkn_compute::p2p::behaviour::DriaBehaviour as libp2p_swarm::behaviour::NetworkBehaviour>::on_swarm_event (6 samples, 0.02%)dkn-compute`<futures_ticker::Ticker as futures_core::stream::Stream>::poll_next (4 samples, 0.01%)dkn-compute`<libp2p_request_response::Behaviour<TCodec> as libp2p_swarm::behaviour::NetworkBehaviour>::poll (5 samples, 0.01%)dkn-compute`<libp2p_autonat::behaviour::Behaviour as libp2p_swarm::behaviour::NetworkBehaviour>::poll (14 samples, 0.04%)dkn-compute`<futures_ticker::Ticker as futures_core::stream::Stream>::poll_next (5 samples, 0.01%)dkn-compute`<futures_timer::native::delay::Delay as core::future::future::Future>::poll (5 samples, 0.01%)dkn-compute`core::ops::function::impls::_<impl core::ops::function::FnMut<A> for &mut F>::call_mut (11 samples, 0.03%)dkn-compute`libp2p_gossipsub::mcache::MessageCache::get_gossip_message_ids (14 samples, 0.04%)dkn-compute`<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (14 samples, 0.04%)dkn-compute`libp2p_gossipsub::behaviour::Behaviour<D,F>::heartbeat (24 samples, 0.07%)dkn-compute`<libp2p_gossipsub::behaviour::Behaviour<C,F> as libp2p_swarm::behaviour::NetworkBehaviour>::poll (43 samples, 0.12%)dkn-compute`libp2p_kad::query::QueryPool<TInner>::poll (65 samples, 0.18%)dkn-compute`libp2p_kad::query::peers::closest::ClosestPeersIter::next (52 samples, 0.14%)dkn-compute`<alloc::collections::btree::map::ValuesMut<K,V> as core::iter::traits::iterator::Iterator>::next (28 samples, 0.08%)dkn-compute`tracing::span::Span::log (4 samples, 0.01%)dkn-compute`<libp2p_kad::behaviour::Behaviour<TStore> as libp2p_swarm::behaviour::NetworkBehaviour>::poll (88 samples, 0.24%)dkn-compute`futures_channel::mpsc::Receiver<T>::next_message (4 samples, 0.01%)dkn-compute`<futures_channel::mpsc::Receiver<T> as futures_core::stream::Stream>::poll_next (5 samples, 0.01%)dkn-compute`<libp2p_relay::priv_client::Behaviour as libp2p_swarm::behaviour::NetworkBehaviour>::poll (15 samples, 0.04%)dkn-compute`<dkn_compute::p2p::behaviour::DriaBehaviour as libp2p_swarm::behaviour::NetworkBehaviour>::poll (178 samples, 0.49%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (14 samples, 0.04%)libsystem_malloc.dylib`szone_malloc_should_clear (9 samples, 0.02%)libsystem_malloc.dylib`tiny_malloc_should_clear (9 samples, 0.02%)libsystem_malloc.dylib`tiny_malloc_from_free_list (6 samples, 0.02%)dkn-compute`<libp2p_gossipsub::types::RawMessage as core::clone::Clone>::clone (21 samples, 0.06%)dkn-compute`<alloc::string::String as core::fmt::Write>::write_str (4 samples, 0.01%)dkn-compute`dkn_compute::p2p::behaviour::create_gossipsub_behavior::_{{closure}} (10 samples, 0.03%)dkn-compute`core::fmt::num::imp::_<impl core::fmt::Display for u64>::fmt (9 samples, 0.02%)dkn-compute`<libp2p_gossipsub::types::RawMessage as core::clone::Clone>::clone (4 samples, 0.01%)libsystem_malloc.dylib`free_tiny (4 samples, 0.01%)dkn-compute`libp2p_gossipsub::behaviour::Behaviour<D,F>::forward_msg (27 samples, 0.07%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::get_mut (10 samples, 0.03%)dkn-compute`libp2p_gossipsub::mcache::MessageCache::observe_duplicate (12 samples, 0.03%)dkn-compute`libp2p_gossipsub::mcache::MessageCache::put (9 samples, 0.02%)dkn-compute`hashbrown::rustc_entry::_<impl hashbrown::map::HashMap<K,V,S,A>>::rustc_entry (4 samples, 0.01%)dkn-compute`hashbrown::rustc_entry::_<impl hashbrown::map::HashMap<K,V,S,A>>::rustc_entry (17 samples, 0.05%)dkn-compute`hashbrown::raw::RawTable<T,A>::reserve_rehash (6 samples, 0.02%)dkn-compute`libp2p_gossipsub::time_cache::DuplicateCache<Key>::insert (22 samples, 0.06%)libsystem_malloc.dylib`_nanov2_free (5 samples, 0.01%)libsystem_malloc.dylib`nanov2_malloc (7 samples, 0.02%)dkn-compute`<libp2p_gossipsub::behaviour::Behaviour<C,F> as libp2p_swarm::behaviour::NetworkBehaviour>::on_connection_handler_event (158 samples, 0.43%)dkn-compute`libp2p_tcp::Transport<T>::create_socket (6 samples, 0.02%)libsystem_kernel.dylib`socket (5 samples, 0.01%)dkn-compute`<libp2p_core::transport::choice::OrTransport<A,B> as libp2p_core::transport::Transport>::dial (9 samples, 0.02%)dkn-compute`<libp2p_core::transport::choice::OrTransport<A,B> as libp2p_core::transport::Transport>::dial (9 samples, 0.02%)dkn-compute`<libp2p_core::transport::map::Map<T,F> as libp2p_core::transport::Transport>::dial (9 samples, 0.02%)dkn-compute`<libp2p_tcp::Transport<T> as libp2p_core::transport::Transport>::dial (9 samples, 0.02%)dkn-compute`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (10 samples, 0.03%)dkn-compute`<T as libp2p_core::transport::boxed::Abstract<O>>::dial (10 samples, 0.03%)dkn-compute`alloc::vec::in_place_collect::_<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter (11 samples, 0.03%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::_<impl tokio::runtime::task::Schedule for alloc::sync::Arc<tokio::runtime::scheduler::multi_thread::handle::Handle>>::schedule (5 samples, 0.01%)dkn-compute`tokio::runtime::context::with_scheduler (5 samples, 0.01%)dkn-compute`futures_channel::mpsc::Sender<T>::try_send (6 samples, 0.02%)dkn-compute`tokio::runtime::task::waker::wake_by_val (6 samples, 0.02%)dkn-compute`libp2p_swarm::connection::pool::Pool<THandler>::iter_established_connections_of_peer (9 samples, 0.02%)libsystem_malloc.dylib`tiny_free_no_lock (7 samples, 0.02%)dkn-compute`futures_channel::mpsc::queue::Queue<T>::pop_spin (18 samples, 0.05%)libsystem_malloc.dylib`free_tiny (13 samples, 0.04%)dkn-compute`futures_channel::mpsc::Receiver<T>::next_message (30 samples, 0.08%)libsystem_platform.dylib`_platform_memmove (4 samples, 0.01%)dkn-compute`futures_util::stream::stream::StreamExt::poll_next_unpin (34 samples, 0.09%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (43 samples, 0.12%)dkn-compute`<futures_util::stream::select_all::SelectAll<St> as futures_core::stream::Stream>::poll_next (45 samples, 0.12%)dkn-compute`libp2p_swarm::connection::pool::Pool<THandler>::poll (59 samples, 0.16%)libsystem_platform.dylib`_platform_memmove (5 samples, 0.01%)dkn-compute`tracing::span::Span::log (6 samples, 0.02%)dkn-compute`libp2p_swarm::Swarm<TBehaviour>::poll_next_event (499 samples, 1.37%)dkn-compute`tokio::signal::unix::Signal::recv::_{{closure}} (4 samples, 0.01%)dkn-compute`dkn_compute::main::_{{closure}} (539 samples, 1.48%)dkn-compute`<tokio::future::poll_fn::PollFn<F> as core::future::future::Future>::poll (536 samples, 1.47%)libsystem_kernel.dylib`__psynch_cvwait (40 samples, 0.11%)dkn-compute`tokio::runtime::park::Inner::park (43 samples, 0.12%)dkn-compute`parking_lot::condvar::Condvar::wait_until_internal (43 samples, 0.12%)dkn-compute`tokio::runtime::context::runtime::enter_runtime (584 samples, 1.60%)dkn-compute`tokio::runtime::park::CachedParkThread::block_on (584 samples, 1.60%)dkn-compute`<tokio::sync::notify::Notified as core::ops::drop::Drop>::drop (5 samples, 0.01%)dkn-compute`tokio::sync::notify::Notified::poll_notified (7 samples, 0.02%)dkn-compute`tokio_util::sync::cancellation_token::tree_node::is_cancelled (12 samples, 0.03%)dkn-compute`<tokio_util::sync::cancellation_token::WaitForCancellationFuture as core::future::future::Future>::poll (20 samples, 0.05%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (4 samples, 0.01%)dkn-compute`<libp2p_core::transport::map::Map<T,F> as libp2p_core::transport::Transport>::poll (28 samples, 0.08%)dkn-compute`tracing::span::Span::record_all (6 samples, 0.02%)dkn-compute`<futures_util::stream::select_all::SelectAll<St> as futures_core::stream::Stream>::poll_next (7 samples, 0.02%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (4 samples, 0.01%)dkn-compute`<libp2p_quic::transport::GenTransport<P> as libp2p_core::transport::Transport>::poll (8 samples, 0.02%)dkn-compute`<libp2p_core::transport::choice::OrTransport<A,B> as libp2p_core::transport::Transport>::poll (43 samples, 0.12%)dkn-compute`<futures_util::stream::select_all::SelectAll<St> as futures_core::stream::Stream>::poll_next (4 samples, 0.01%)dkn-compute`<libp2p_core::transport::choice::OrTransport<A,B> as libp2p_core::transport::Transport>::poll (69 samples, 0.19%)dkn-compute`<libp2p_core::transport::map::Map<T,F> as libp2p_core::transport::Transport>::poll (21 samples, 0.06%)dkn-compute`<libp2p_relay::priv_client::transport::Transport as libp2p_core::transport::Transport>::poll (11 samples, 0.03%)dkn-compute`<futures_util::stream::select_all::SelectAll<St> as futures_core::stream::Stream>::poll_next (5 samples, 0.01%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (4 samples, 0.01%)dkn-compute`<T as libp2p_core::transport::boxed::Abstract<O>>::poll (76 samples, 0.21%)dkn-compute`<libp2p_core::transport::map::Map<T,F> as libp2p_core::transport::Transport>::poll (6 samples, 0.02%)dkn-compute`<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (4 samples, 0.01%)dkn-compute`<dkn_compute::p2p::behaviour::DriaBehaviour as libp2p_swarm::behaviour::NetworkBehaviour>::handle_pending_outbound_connection (4 samples, 0.01%)dkn-compute`<libp2p_kad::kbucket::ClosestIter<TTarget,TKey,TVal,TMap,TOut> as core::iter::traits::iterator::Iterator>::next (13 samples, 0.04%)dkn-compute`libp2p_kad::kbucket::bucket::KBucket<TKey,TVal>::apply_pending (6 samples, 0.02%)dkn-compute`<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (39 samples, 0.11%)libsystem_platform.dylib`_platform_memmove (25 samples, 0.07%)dkn-compute`libp2p_kad::behaviour::Behaviour<TStore>::discovered (4 samples, 0.01%)dkn-compute`<dkn_compute::p2p::behaviour::DriaBehaviour as libp2p_swarm::behaviour::NetworkBehaviour>::on_connection_handler_event (66 samples, 0.18%)dkn-compute`<libp2p_kad::behaviour::Behaviour<TStore> as libp2p_swarm::behaviour::NetworkBehaviour>::on_connection_handler_event (45 samples, 0.12%)dkn-compute`libp2p_kad::behaviour::Behaviour<TStore>::address_failed (5 samples, 0.01%)dkn-compute`<libp2p_kad::behaviour::Behaviour<TStore> as libp2p_swarm::behaviour::NetworkBehaviour>::on_swarm_event (9 samples, 0.02%)dkn-compute`libp2p_kad::query::peers::closest::ClosestPeersIter::on_failure (4 samples, 0.01%)dkn-compute`<dkn_compute::p2p::behaviour::DriaBehaviour as libp2p_swarm::behaviour::NetworkBehaviour>::on_swarm_event (13 samples, 0.04%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (14 samples, 0.04%)dkn-compute`tracing::span::Span::log (16 samples, 0.04%)dkn-compute`tracing::span::Span::record_all (18 samples, 0.05%)dkn-compute`<libp2p_request_response::Behaviour<TCodec> as libp2p_swarm::behaviour::NetworkBehaviour>::poll (83 samples, 0.23%)dkn-compute`tracing_core::span::Record::is_empty (6 samples, 0.02%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (15 samples, 0.04%)dkn-compute`<futures_timer::native::delay::Delay as core::future::future::Future>::poll (24 samples, 0.07%)dkn-compute`tokio::runtime::park::drop_waker (4 samples, 0.01%)dkn-compute`libp2p_autonat::behaviour::as_client::AsClient::poll_auto_probe (28 samples, 0.08%)dkn-compute`tracing::span::Span::log (18 samples, 0.05%)dkn-compute`tracing::span::Span::record_all (11 samples, 0.03%)dkn-compute`tracing::span::Span::log (4 samples, 0.01%)dkn-compute`<libp2p_autonat::behaviour::Behaviour as libp2p_swarm::behaviour::NetworkBehaviour>::poll (188 samples, 0.52%)dkn-compute`tracing_core::span::Record::is_empty (4 samples, 0.01%)dkn-compute`<futures_timer::native::delay::Delay as core::future::future::Future>::poll (24 samples, 0.07%)dkn-compute`tokio::runtime::park::clone (5 samples, 0.01%)dkn-compute`<futures_ticker::Ticker as futures_core::stream::Stream>::poll_next (30 samples, 0.08%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (29 samples, 0.08%)dkn-compute`tracing::span::Span::log (10 samples, 0.03%)dkn-compute`core::hash::BuildHasher::hash_one (11 samples, 0.03%)dkn-compute`core::ops::function::impls::_<impl core::ops::function::FnMut<A> for &mut F>::call_mut (86 samples, 0.24%)libsystem_malloc.dylib`nanov2_malloc (5 samples, 0.01%)libsystem_platform.dylib`_platform_memcmp (47 samples, 0.13%)dkn-compute`<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (144 samples, 0.39%)dkn-compute`libp2p_gossipsub::mcache::MessageCache::get_gossip_message_ids (147 samples, 0.40%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (10 samples, 0.03%)dkn-compute`hashbrown::raw::RawTable<T,A>::remove_entry (15 samples, 0.04%)libsystem_malloc.dylib`_nanov2_free (20 samples, 0.05%)libsystem_malloc.dylib`tiny_free_list_add_ptr (4 samples, 0.01%)libsystem_malloc.dylib`free_tiny (25 samples, 0.07%)libsystem_malloc.dylib`tiny_free_no_lock (16 samples, 0.04%)libsystem_platform.dylib`_platform_memcmp (4 samples, 0.01%)dkn-compute`libp2p_gossipsub::mcache::MessageCache::shift (100 samples, 0.27%)libsystem_platform.dylib`_platform_memset (4 samples, 0.01%)libsystem_malloc.dylib`_nanov2_free (7 samples, 0.02%)dkn-compute`libp2p_gossipsub::behaviour::Behaviour<D,F>::heartbeat (262 samples, 0.72%)dkn-compute`tracing::span::Span::log (34 samples, 0.09%)dkn-compute`tracing::span::Span::record_all (21 samples, 0.06%)dkn-compute`tracing::span::Span::log (10 samples, 0.03%)dkn-compute`tracing_core::span::Record::is_empty (11 samples, 0.03%)dkn-compute`<libp2p_gossipsub::behaviour::Behaviour<C,F> as libp2p_swarm::behaviour::NetworkBehaviour>::poll (437 samples, 1.20%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (11 samples, 0.03%)dkn-compute`tracing::span::Span::log (5 samples, 0.01%)dkn-compute`tracing::span::Span::log (22 samples, 0.06%)dkn-compute`tracing::span::Span::record_all (11 samples, 0.03%)dkn-compute`<libp2p_identify::behaviour::Behaviour as libp2p_swarm::behaviour::NetworkBehaviour>::poll (75 samples, 0.21%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (10 samples, 0.03%)dkn-compute`<futures_timer::native::delay::Delay as core::future::future::Future>::poll (12 samples, 0.03%)dkn-compute`libp2p_kad::jobs::AddProviderJob::poll (22 samples, 0.06%)dkn-compute`libp2p_kad::jobs::PutRecordJob::poll (44 samples, 0.12%)dkn-compute`<futures_timer::native::delay::Delay as core::future::future::Future>::poll (28 samples, 0.08%)dkn-compute`tokio::runtime::park::drop_waker (8 samples, 0.02%)dkn-compute`<alloc::collections::btree::map::ValuesMut<K,V> as core::iter::traits::iterator::Iterator>::next (39 samples, 0.11%)dkn-compute`<std::time::Instant as core::ops::arith::Sub>::sub (36 samples, 0.10%)dkn-compute`std::sys::pal::unix::time::Timespec::sub_timespec (28 samples, 0.08%)dkn-compute`libp2p_kad::query::QueryPool<TInner>::poll (815 samples, 2.23%)d..dkn-compute`libp2p_kad::query::peers::closest::ClosestPeersIter::next (661 samples, 1.81%)d..dkn-compute`<alloc::collections::btree::map::ValuesMut<K,V> as core::iter::traits::iterator::Iterator>::next (315 samples, 0.86%)dkn-compute`libp2p_kad::query::peers::closest::ClosestPeersIter::next (6 samples, 0.02%)libsystem_c.dylib`clock_gettime_nsec_np (10 samples, 0.03%)libsystem_kernel.dylib`mach_timebase_info (5 samples, 0.01%)libsystem_kernel.dylib`mach_absolute_time (13 samples, 0.04%)dkn-compute`std::sys::pal::unix::time::Timespec::now (52 samples, 0.14%)libsystem_c.dylib`clock_gettime (47 samples, 0.13%)libsystem_kernel.dylib`mach_timebase_info (5 samples, 0.01%)dkn-compute`tracing::span::Span::log (16 samples, 0.04%)dkn-compute`tracing::span::Span::record_all (29 samples, 0.08%)dkn-compute`tracing::span::Span::log (5 samples, 0.01%)dkn-compute`<libp2p_kad::behaviour::Behaviour<TStore> as libp2p_swarm::behaviour::NetworkBehaviour>::poll (1,120 samples, 3.07%)dkn..dkn-compute`tracing_core::span::Record::is_empty (15 samples, 0.04%)dkn-compute`futures_channel::mpsc::Receiver<T>::next_message (36 samples, 0.10%)dkn-compute`futures_channel::mpsc::queue::Queue<T>::pop_spin (23 samples, 0.06%)dkn-compute`<futures_channel::mpsc::Receiver<T> as futures_core::stream::Stream>::poll_next (78 samples, 0.21%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (33 samples, 0.09%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (27 samples, 0.07%)dkn-compute`tracing::span::Span::log (10 samples, 0.03%)dkn-compute`futures_channel::mpsc::Receiver<T>::next_message (9 samples, 0.02%)dkn-compute`tracing::span::Span::log (34 samples, 0.09%)dkn-compute`tracing::span::Span::record_all (37 samples, 0.10%)dkn-compute`tracing::span::Span::log (9 samples, 0.02%)dkn-compute`<libp2p_relay::priv_client::Behaviour as libp2p_swarm::behaviour::NetworkBehaviour>::poll (272 samples, 0.75%)dkn-compute`tracing_core::span::Record::is_empty (12 samples, 0.03%)dkn-compute`core::ptr::drop_in_place<core::option::Option<libp2p_swarm::behaviour::ToSwarm<libp2p_identify::behaviour::Event,libp2p_identify::handler::InEvent>>> (4 samples, 0.01%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (8 samples, 0.02%)dkn-compute`libp2p_autonat::behaviour::as_client::AsClient::poll_auto_probe (4 samples, 0.01%)dkn-compute`libp2p_kad::jobs::AddProviderJob::poll (6 samples, 0.02%)dkn-compute`std::sys::pal::unix::time::Timespec::now (5 samples, 0.01%)dkn-compute`tokio::runtime::park::clone (8 samples, 0.02%)dkn-compute`tracing::span::Span::log (37 samples, 0.10%)dkn-compute`tracing::span::Span::record_all (10 samples, 0.03%)dkn-compute`<dkn_compute::p2p::behaviour::DriaBehaviour as libp2p_swarm::behaviour::NetworkBehaviour>::poll (2,233 samples, 6.12%)dkn-comp..libsystem_platform.dylib`_platform_memmove (6 samples, 0.02%)dkn-compute`<futures_channel::mpsc::Receiver<T> as futures_core::stream::Stream>::poll_next (4 samples, 0.01%)dkn-compute`<libp2p_autonat::behaviour::Behaviour as libp2p_swarm::behaviour::NetworkBehaviour>::poll (6 samples, 0.02%)dkn-compute`<libp2p_dcutr::behaviour::Behaviour as libp2p_swarm::behaviour::NetworkBehaviour>::poll (5 samples, 0.01%)dkn-compute`<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (12 samples, 0.03%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (223 samples, 0.61%)libsystem_malloc.dylib`_nanov2_free (22 samples, 0.06%)dkn-compute`<libp2p_gossipsub::transform::IdentityTransform as libp2p_gossipsub::transform::DataTransform>::inbound_transform (42 samples, 0.12%)dkn-compute`<alloc::string::String as core::clone::Clone>::clone (11 samples, 0.03%)libsystem_malloc.dylib`nanov2_allocate_outlined (11 samples, 0.03%)libsystem_malloc.dylib`nanov2_find_block_and_allocate (9 samples, 0.02%)libsystem_malloc.dylib`nanov2_malloc (36 samples, 0.10%)libsystem_malloc.dylib`small_malloc_should_clear (5 samples, 0.01%)libsystem_malloc.dylib`small_malloc_from_free_list (4 samples, 0.01%)libsystem_malloc.dylib`set_tiny_meta_header_in_use (5 samples, 0.01%)libsystem_malloc.dylib`_tiny_check_and_zero_inline_meta_from_freelist (10 samples, 0.03%)libsystem_malloc.dylib`szone_malloc_should_clear (112 samples, 0.31%)libsystem_malloc.dylib`tiny_malloc_should_clear (95 samples, 0.26%)libsystem_malloc.dylib`tiny_malloc_from_free_list (75 samples, 0.21%)libsystem_malloc.dylib`tiny_free_list_add_ptr (5 samples, 0.01%)dkn-compute`<libp2p_gossipsub::types::RawMessage as core::clone::Clone>::clone (216 samples, 0.59%)libsystem_platform.dylib`_platform_memmove (6 samples, 0.02%)dkn-compute`DYLD-STUB$$free (15 samples, 0.04%)dkn-compute`core::hash::BuildHasher::hash_one (5 samples, 0.01%)dkn-compute`<alloc::string::String as core::fmt::Write>::write_str (7 samples, 0.02%)dkn-compute`core::fmt::Formatter::pad_integral (5 samples, 0.01%)libsystem_malloc.dylib`_malloc_zone_malloc (6 samples, 0.02%)dkn-compute`alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (29 samples, 0.08%)libsystem_malloc.dylib`nanov2_malloc (17 samples, 0.05%)dkn-compute`<alloc::string::String as core::fmt::Write>::write_str (36 samples, 0.10%)dkn-compute`alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (5 samples, 0.01%)dkn-compute`core::fmt::Formatter::pad_integral (4 samples, 0.01%)dkn-compute`dkn_compute::p2p::behaviour::create_gossipsub_behavior::_{{closure}} (97 samples, 0.27%)dkn-compute`core::fmt::num::imp::_<impl core::fmt::Display for u64>::fmt (77 samples, 0.21%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::contains_key (11 samples, 0.03%)dkn-compute`hashbrown::rustc_entry::_<impl hashbrown::map::HashMap<K,V,S,A>>::rustc_entry (4 samples, 0.01%)dkn-compute`<alloc::collections::btree::map::Keys<K,V> as core::iter::traits::iterator::Iterator>::next (6 samples, 0.02%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (60 samples, 0.16%)dkn-compute`<alloc::string::String as core::clone::Clone>::clone (14 samples, 0.04%)libsystem_malloc.dylib`nanov2_allocate_outlined (10 samples, 0.03%)libsystem_malloc.dylib`nanov2_find_block_and_allocate (7 samples, 0.02%)dkn-compute`DYLD-STUB$$memcpy (7 samples, 0.02%)libsystem_malloc.dylib`nanov2_allocate_outlined (40 samples, 0.11%)libsystem_malloc.dylib`nanov2_find_block_and_allocate (30 samples, 0.08%)libsystem_malloc.dylib`nanov2_allocate_from_block (12 samples, 0.03%)libsystem_malloc.dylib`nanov2_malloc (57 samples, 0.16%)libsystem_malloc.dylib`small_malloc_should_clear (4 samples, 0.01%)libsystem_malloc.dylib`set_tiny_meta_header_in_use (16 samples, 0.04%)libsystem_malloc.dylib`_tiny_check_and_zero_inline_meta_from_freelist (40 samples, 0.11%)libsystem_malloc.dylib`szone_malloc_should_clear (149 samples, 0.41%)libsystem_malloc.dylib`tiny_malloc_should_clear (140 samples, 0.38%)libsystem_malloc.dylib`tiny_malloc_from_free_list (96 samples, 0.26%)libsystem_malloc.dylib`tiny_free_list_add_ptr (19 samples, 0.05%)dkn-compute`<libp2p_gossipsub::types::RawMessage as core::clone::Clone>::clone (307 samples, 0.84%)libsystem_platform.dylib`_platform_memmove (6 samples, 0.02%)dkn-compute`core::hash::BuildHasher::hash_one (8 samples, 0.02%)libsystem_malloc.dylib`_nanov2_free (7 samples, 0.02%)libsystem_malloc.dylib`free_tiny (8 samples, 0.02%)libsystem_malloc.dylib`tiny_free_no_lock (5 samples, 0.01%)dkn-compute`core::ptr::drop_in_place<libp2p_gossipsub::types::RpcOut> (17 samples, 0.05%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (47 samples, 0.13%)dkn-compute`core::hash::BuildHasher::hash_one (11 samples, 0.03%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (58 samples, 0.16%)dkn-compute`core::hash::BuildHasher::hash_one (6 samples, 0.02%)libsystem_malloc.dylib`tiny_free_list_add_ptr (4 samples, 0.01%)libsystem_malloc.dylib`free_tiny (17 samples, 0.05%)libsystem_malloc.dylib`tiny_free_no_lock (14 samples, 0.04%)libsystem_malloc.dylib`small_malloc_should_clear (9 samples, 0.02%)libsystem_malloc.dylib`small_malloc_from_free_list (6 samples, 0.02%)libsystem_malloc.dylib`small_free_list_remove_ptr_no_clear (5 samples, 0.01%)libsystem_malloc.dylib`_tiny_check_and_zero_inline_meta_from_freelist (5 samples, 0.01%)libsystem_malloc.dylib`szone_malloc_should_clear (33 samples, 0.09%)libsystem_malloc.dylib`tiny_malloc_should_clear (23 samples, 0.06%)libsystem_malloc.dylib`tiny_malloc_from_free_list (20 samples, 0.05%)libsystem_malloc.dylib`tiny_free_list_add_ptr (4 samples, 0.01%)dkn-compute`hashbrown::raw::RawTable<T,A>::reserve_rehash (152 samples, 0.42%)libsystem_malloc.dylib`free (4 samples, 0.01%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::insert (268 samples, 0.73%)libsystem_platform.dylib`_platform_memset (7 samples, 0.02%)libsystem_malloc.dylib`_malloc_zone_malloc (4 samples, 0.01%)libsystem_malloc.dylib`_nanov2_free (5 samples, 0.01%)libsystem_malloc.dylib`_szone_free (4 samples, 0.01%)libsystem_malloc.dylib`free (4 samples, 0.01%)libsystem_malloc.dylib`free_tiny (11 samples, 0.03%)libsystem_malloc.dylib`tiny_free_no_lock (6 samples, 0.02%)libsystem_malloc.dylib`nanov2_malloc (65 samples, 0.18%)libsystem_platform.dylib`_platform_memmove (59 samples, 0.16%)dkn-compute`libp2p_gossipsub::behaviour::Behaviour<D,F>::forward_msg (1,025 samples, 2.81%)dk..dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (28 samples, 0.08%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::get_mut (232 samples, 0.64%)dkn-compute`core::hash::BuildHasher::hash_one (6 samples, 0.02%)dkn-compute`libp2p_gossipsub::mcache::MessageCache::observe_duplicate (323 samples, 0.89%)libsystem_platform.dylib`_platform_memcmp (84 samples, 0.23%)dkn-compute`hashbrown::raw::RawTable<T,A>::reserve_rehash (7 samples, 0.02%)dkn-compute`core::hash::BuildHasher::hash_one (6 samples, 0.02%)dkn-compute`hashbrown::rustc_entry::_<impl hashbrown::map::HashMap<K,V,S,A>>::rustc_entry (24 samples, 0.07%)libsystem_malloc.dylib`nanov2_allocate_outlined (4 samples, 0.01%)libsystem_malloc.dylib`nanov2_malloc (8 samples, 0.02%)dkn-compute`libp2p_gossipsub::mcache::MessageCache::put (47 samples, 0.13%)dkn-compute`hashbrown::rustc_entry::_<impl hashbrown::map::HashMap<K,V,S,A>>::rustc_entry (274 samples, 0.75%)dkn-compute`hashbrown::raw::RawTable<T,A>::reserve_rehash (4 samples, 0.01%)libsystem_c.dylib`clock_gettime_nsec_np (8 samples, 0.02%)libsystem_kernel.dylib`mach_absolute_time (10 samples, 0.03%)libsystem_c.dylib`clock_gettime (39 samples, 0.11%)libsystem_kernel.dylib`mach_timebase_info (8 samples, 0.02%)dkn-compute`std::sys::pal::unix::time::Timespec::now (42 samples, 0.12%)dkn-compute`std::time::Instant::now (9 samples, 0.02%)libsystem_malloc.dylib`_nanov2_free (28 samples, 0.08%)libsystem_platform.dylib`_platform_memcmp (117 samples, 0.32%)dkn-compute`libp2p_gossipsub::time_cache::DuplicateCache<Key>::insert (492 samples, 1.35%)dkn-compute`std::sys::pal::unix::time::Timespec::now (4 samples, 0.01%)libdyld.dylib`tlv_get_addr (4 samples, 0.01%)libsystem_kernel.dylib`__ulock_wake (8 samples, 0.02%)libsystem_malloc.dylib`_malloc_zone_malloc (11 samples, 0.03%)libsystem_malloc.dylib`_nanov2_free (113 samples, 0.31%)libsystem_malloc.dylib`_szone_free (16 samples, 0.04%)libsystem_malloc.dylib`free (15 samples, 0.04%)libsystem_malloc.dylib`free_small (4 samples, 0.01%)libsystem_kernel.dylib`__ulock_wait (12 samples, 0.03%)libsystem_malloc.dylib`get_tiny_previous_free_msize (7 samples, 0.02%)libsystem_malloc.dylib`tiny_free_list_add_ptr (46 samples, 0.13%)libsystem_malloc.dylib`tiny_free_no_lock (87 samples, 0.24%)libsystem_malloc.dylib`tiny_free_list_remove_ptr (10 samples, 0.03%)libsystem_malloc.dylib`free_tiny (136 samples, 0.37%)libsystem_malloc.dylib`nanov2_malloc (44 samples, 0.12%)libsystem_malloc.dylib`szone_malloc (4 samples, 0.01%)libsystem_platform.dylib`__bzero (6 samples, 0.02%)libsystem_platform.dylib`_platform_memcmp (54 samples, 0.15%)libsystem_platform.dylib`_platform_memmove (61 samples, 0.17%)libsystem_platform.dylib`_platform_memset (19 samples, 0.05%)dkn-compute`<libp2p_gossipsub::behaviour::Behaviour<C,F> as libp2p_swarm::behaviour::NetworkBehaviour>::on_connection_handler_event (3,197 samples, 8.76%)dkn-compute`..dkn-compute`<libp2p_identify::behaviour::Behaviour as libp2p_swarm::behaviour::NetworkBehaviour>::poll (7 samples, 0.02%)dkn-compute`<smallvec::SmallVec<A> as core::iter::traits::collect::Extend<<A as smallvec::Array>::Item>>::extend (10 samples, 0.03%)dkn-compute`DYLD-STUB$$free (4 samples, 0.01%)libsystem_kernel.dylib`__fcntl (4 samples, 0.01%)dkn-compute`socket2::socket::Socket::new (5 samples, 0.01%)dkn-compute`libp2p_tcp::Transport<T>::create_socket (32 samples, 0.09%)libsystem_kernel.dylib`socket (24 samples, 0.07%)dkn-compute`<libp2p_tcp::Transport<T> as libp2p_core::transport::Transport>::dial (47 samples, 0.13%)libsystem_kernel.dylib`__bind (10 samples, 0.03%)dkn-compute`<libp2p_core::transport::choice::OrTransport<A,B> as libp2p_core::transport::Transport>::dial (48 samples, 0.13%)dkn-compute`<libp2p_core::transport::map::Map<T,F> as libp2p_core::transport::Transport>::dial (48 samples, 0.13%)dkn-compute`<libp2p_core::transport::choice::OrTransport<A,B> as libp2p_core::transport::Transport>::dial (52 samples, 0.14%)dkn-compute`<libp2p_core::transport::map::Map<T,F> as libp2p_core::transport::Transport>::dial (4 samples, 0.01%)dkn-compute`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (62 samples, 0.17%)dkn-compute`<T as libp2p_core::transport::boxed::Abstract<O>>::dial (60 samples, 0.16%)dkn-compute`futures_timer::native::delay::Delay::new_handle (7 samples, 0.02%)dkn-compute`futures_timer::native::global::raw_wake (7 samples, 0.02%)libdispatch.dylib`_dispatch_semaphore_signal_slow (6 samples, 0.02%)libsystem_kernel.dylib`semaphore_signal_trap (6 samples, 0.02%)dkn-compute`alloc::vec::in_place_collect::_<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter (63 samples, 0.17%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (5 samples, 0.01%)dkn-compute`dkn_compute::p2p::behaviour::create_gossipsub_behavior::_{{closure}} (8 samples, 0.02%)dkn-compute`futures_channel::mpsc::BoundedSenderInner<T>::poll_unparked (11 samples, 0.03%)dkn-compute`tokio::runtime::task::raw::schedule (4 samples, 0.01%)dkn-compute`parking_lot::condvar::Condvar::notify_one_slow (67 samples, 0.18%)libsystem_kernel.dylib`__psynch_cvsignal (66 samples, 0.18%)dkn-compute`tokio::runtime::driver::Handle::unpark (15 samples, 0.04%)libsystem_kernel.dylib`kevent (15 samples, 0.04%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::_<impl tokio::runtime::scheduler::multi_thread::handle::Handle>::notify_parked_remote (10 samples, 0.03%)dkn-compute`tokio::runtime::context::with_scheduler (125 samples, 0.34%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::_<impl tokio::runtime::scheduler::multi_thread::handle::Handle>::push_remote_task (25 samples, 0.07%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::_<impl tokio::runtime::task::Schedule for alloc::sync::Arc<tokio::runtime::scheduler::multi_thread::handle::Handle>>::schedule (130 samples, 0.36%)dkn-compute`futures_channel::mpsc::Sender<T>::try_send (191 samples, 0.52%)dkn-compute`tokio::runtime::task::waker::wake_by_val (151 samples, 0.41%)dkn-compute`tokio::runtime::task::state::State::transition_to_notified_by_val (19 samples, 0.05%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::wake (29 samples, 0.08%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::contains_key (9 samples, 0.02%)dkn-compute`libp2p_gossipsub::behaviour::Behaviour<D,F>::forward_msg (4 samples, 0.01%)dkn-compute`libp2p_swarm::behaviour::ToSwarm<TOutEvent,TInEventOld>::map_in (17 samples, 0.05%)dkn-compute`libp2p_swarm::connection::pool::Pool<THandler>::add_outgoing (4 samples, 0.01%)dkn-compute`libp2p_swarm::connection::pool::Pool<THandler>::iter_established_connections_of_peer (97 samples, 0.27%)dkn-compute`futures_channel::mpsc::Receiver<T>::next_message (10 samples, 0.03%)dkn-compute`futures_channel::mpsc::queue::Queue<T>::pop_spin (5 samples, 0.01%)dkn-compute`<futures_channel::mpsc::Receiver<T> as futures_core::stream::Stream>::poll_next (14 samples, 0.04%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (9 samples, 0.02%)dkn-compute`alloc::sync::Arc<T,A>::drop_slow (4 samples, 0.01%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (27 samples, 0.07%)dkn-compute`alloc::sync::Arc<T,A>::drop_slow (5 samples, 0.01%)libsystem_malloc.dylib`_nanov2_free (23 samples, 0.06%)dkn-compute`futures_util::stream::futures_unordered::FuturesUnordered<Fut>::release_task (43 samples, 0.12%)dkn-compute`DYLD-STUB$$free (10 samples, 0.03%)dkn-compute`__rdl_dealloc (14 samples, 0.04%)libsystem_kernel.dylib`__ulock_wake (5 samples, 0.01%)libsystem_malloc.dylib`_nanov2_free (4 samples, 0.01%)libsystem_malloc.dylib`_szone_free (18 samples, 0.05%)libsystem_kernel.dylib`__ulock_wait (11 samples, 0.03%)libsystem_malloc.dylib`tiny_free_list_add_ptr (4 samples, 0.01%)libsystem_malloc.dylib`tiny_free_list_add_ptr (35 samples, 0.10%)libsystem_malloc.dylib`tiny_free_no_lock (83 samples, 0.23%)libsystem_malloc.dylib`tiny_free_list_remove_ptr (13 samples, 0.04%)libsystem_malloc.dylib`free_tiny (133 samples, 0.36%)dkn-compute`futures_channel::mpsc::queue::Queue<T>::pop_spin (251 samples, 0.69%)libsystem_platform.dylib`_platform_memset (10 samples, 0.03%)libsystem_kernel.dylib`__psynch_cvsignal (68 samples, 0.19%)dkn-compute`parking_lot::condvar::Condvar::notify_one_slow (82 samples, 0.22%)dkn-compute`tokio::runtime::driver::Handle::unpark (10 samples, 0.03%)libsystem_kernel.dylib`kevent (10 samples, 0.03%)dkn-compute`tokio::runtime::context::with_scheduler (107 samples, 0.29%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::_<impl tokio::runtime::scheduler::multi_thread::handle::Handle>::push_remote_task (7 samples, 0.02%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::_<impl tokio::runtime::task::Schedule for alloc::sync::Arc<tokio::runtime::scheduler::multi_thread::handle::Handle>>::schedule (111 samples, 0.30%)dkn-compute`tokio::runtime::task::waker::wake_by_val (112 samples, 0.31%)libsystem_malloc.dylib`_nanov2_free (6 samples, 0.02%)libsystem_malloc.dylib`free (15 samples, 0.04%)libsystem_malloc.dylib`szone_try_free_default (7 samples, 0.02%)libsystem_platform.dylib`_platform_memmove (35 samples, 0.10%)libsystem_pthread.dylib`_pthread_mutex_firstfit_unlock_slow (6 samples, 0.02%)libsystem_kernel.dylib`__psynch_mutexdrop (6 samples, 0.02%)libsystem_pthread.dylib`pthread_mutex_lock (4 samples, 0.01%)dkn-compute`futures_channel::mpsc::Receiver<T>::next_message (476 samples, 1.30%)dkn-compute`futures_channel::mpsc::queue::Queue<T>::pop_spin (4 samples, 0.01%)dkn-compute`futures_util::stream::stream::StreamExt::poll_next_unpin (519 samples, 1.42%)libsystem_platform.dylib`_platform_memmove (18 samples, 0.05%)libsystem_malloc.dylib`free (11 samples, 0.03%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (692 samples, 1.90%)d..libsystem_platform.dylib`_platform_memmove (18 samples, 0.05%)dkn-compute`futures_util::stream::futures_unordered::FuturesUnordered<Fut>::push (17 samples, 0.05%)libsystem_malloc.dylib`_malloc_zone_malloc (6 samples, 0.02%)libsystem_malloc.dylib`nanov2_malloc (24 samples, 0.07%)dkn-compute`<futures_util::stream::select_all::SelectAll<St> as futures_core::stream::Stream>::poll_next (776 samples, 2.13%)d..libsystem_platform.dylib`_platform_memmove (21 samples, 0.06%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (7 samples, 0.02%)dkn-compute`tracing::span::Span::log (23 samples, 0.06%)dkn-compute`tracing::span::Span::record_all (12 samples, 0.03%)dkn-compute`tracing::span::Span::log (4 samples, 0.01%)dkn-compute`tracing_core::span::Record::is_empty (4 samples, 0.01%)dkn-compute`libp2p_swarm::connection::pool::Pool<THandler>::poll (921 samples, 2.52%)dk..libsystem_platform.dylib`_platform_memmove (30 samples, 0.08%)dkn-compute`tracing::span::Span::log (21 samples, 0.06%)dkn-compute`tracing::span::Span::record_all (8 samples, 0.02%)dkn-compute`tracing::span::Span::log (7 samples, 0.02%)libsystem_malloc.dylib`_nanov2_free (15 samples, 0.04%)libsystem_malloc.dylib`_szone_free (11 samples, 0.03%)libsystem_malloc.dylib`free (51 samples, 0.14%)libsystem_malloc.dylib`nanov2_malloc (69 samples, 0.19%)libsystem_platform.dylib`_platform_memcmp (16 samples, 0.04%)dkn-compute`libp2p_swarm::Swarm<TBehaviour>::poll_next_event (7,554 samples, 20.70%)dkn-compute`libp2p_swarm::Swarm<T..libsystem_platform.dylib`_platform_memmove (15 samples, 0.04%)dkn-compute`libp2p_swarm::connection::pool::Pool<THandler>::poll (5 samples, 0.01%)dkn-compute`tokio::macros::support::thread_rng_n (4 samples, 0.01%)dkn-compute`tokio::signal::make_future::_{{closure}} (12 samples, 0.03%)dkn-compute`tokio::sync::notify::Notified::poll_notified (5 samples, 0.01%)dkn-compute`tokio::signal::RxFuture::poll_recv (14 samples, 0.04%)dkn-compute`tokio::signal::unix::Signal::recv::_{{closure}} (21 samples, 0.06%)dkn-compute`tokio::signal::make_future::_{{closure}} (4 samples, 0.01%)dkn-compute`std::sys::pal::unix::time::Timespec::now (11 samples, 0.03%)libsystem_c.dylib`clock_gettime (10 samples, 0.03%)dkn-compute`tokio::time::instant::Instant::elapsed (14 samples, 0.04%)libdyld.dylib`tlv_get_addr (4 samples, 0.01%)libsystem_malloc.dylib`_nanov2_free (4 samples, 0.01%)libsystem_malloc.dylib`free_tiny (7 samples, 0.02%)libsystem_platform.dylib`_platform_memmove (17 samples, 0.05%)dkn-compute`<tokio::future::poll_fn::PollFn<F> as core::future::future::Future>::poll (7,719 samples, 21.16%)dkn-compute`<tokio::future::poll_..Security`SecTrustCopyPublicKey (4 samples, 0.01%)Security`SecCertificateCopyPublicKey$LEGACYMAC (4 samples, 0.01%)Security`Security::KeychainCore::Certificate::publicKey (4 samples, 0.01%)Security`Security::KeychainCore::Certificate::copyFirstFieldValue (4 samples, 0.01%)Security`Security::KeychainCore::Certificate::clHandle (4 samples, 0.01%)Security`Security::CssmClient::AttachmentImpl::activate (4 samples, 0.01%)Security`Security::CssmClient::ModuleImpl::activate (4 samples, 0.01%)Security`CSSM_ModuleLoad (4 samples, 0.01%)Security`Security::CssmClient::Table<Security::MDSClient::Common>::fetch (4 samples, 0.01%)Security`Security::CssmClient::Table<Security::MDSClient::Common>::startQuery (4 samples, 0.01%)Security`Security::MDSClient::Directory::dlGetFirst (4 samples, 0.01%)Security`Security::MDSClient::Directory::cdsa (4 samples, 0.01%)Security`mds_DbOpen(long, char const*, cssm_net_address const*, unsigned int, cssm_access_credentials const*, void const*, long*) (4 samples, 0.01%)Security`Security::MDSSession::DbOpen (4 samples, 0.01%)Security`SSLHandshake (6 samples, 0.02%)Security`SSLHandshakeProceed (6 samples, 0.02%)libcoretls.dylib`tls_handshake_process (5 samples, 0.01%)libcoretls.dylib`SSLProcessHandshakeRecordInner (5 samples, 0.01%)Security`tls_handshake_message_callback (5 samples, 0.01%)libcoretls_cfhelpers.dylib`tls_helper_set_peer_pubkey (5 samples, 0.01%)dkn-compute`<tokio_native_tls::MidHandshake<S> as core::future::future::Future>::poll (7 samples, 0.02%)dkn-compute`native_tls::imp::MidHandshakeTlsStream<S>::handshake (7 samples, 0.02%)dkn-compute`security_framework::secure_transport::MidHandshakeClientBuilder<S>::handshake (7 samples, 0.02%)dkn-compute`<reqwest::async_impl::client::PendingRequest as core::future::future::Future>::poll (8 samples, 0.02%)dkn-compute`hyper_util::client::legacy::client::Client<C,B>::send_request::_{{closure}} (8 samples, 0.02%)dkn-compute`<futures_util::future::select::Select<A,B> as core::future::future::Future>::poll (8 samples, 0.02%)dkn-compute`<futures_util::future::try_future::try_flatten::TryFlatten<Fut,<Fut as futures_core::future::TryFuture>::Ok> as core::future::future::Future>::poll (8 samples, 0.02%)dkn-compute`<futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll (8 samples, 0.02%)dkn-compute`<futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll (8 samples, 0.02%)dkn-compute`<tower::util::oneshot::Oneshot<S,Req> as core::future::future::Future>::poll (8 samples, 0.02%)dkn-compute`reqwest::connect::with_timeout::_{{closure}} (8 samples, 0.02%)dkn-compute`reqwest::connect::Connector::connect_with_maybe_proxy::_{{closure}} (8 samples, 0.02%)dkn-compute`<hyper_tls::client::HttpsConnector<T> as tower_service::Service<http::uri::Uri>>::call::_{{closure}} (8 samples, 0.02%)dkn-compute`dkn_compute::p2p::available_nodes::AvailableNodes::get_available_nodes::_{{closure}} (11 samples, 0.03%)dkn-compute`dkn_compute::p2p::client::P2PClient::new (7 samples, 0.02%)libsystem_malloc.dylib`free (4 samples, 0.01%)dkn-compute`dkn_compute::main::_{{closure}} (7,774 samples, 21.31%)dkn-compute`dkn_compute::main::_{{..libsystem_platform.dylib`_platform_memmove (7 samples, 0.02%)libsystem_kernel.dylib`__psynch_cvwait (422 samples, 1.16%)libsystem_pthread.dylib`_pthread_cond_wait (25 samples, 0.07%)libsystem_pthread.dylib`pthread_testcancel (6 samples, 0.02%)dkn-compute`parking_lot::condvar::Condvar::wait_until_internal (467 samples, 1.28%)dkn-compute`tokio::runtime::park::Inner::park (476 samples, 1.30%)dkn-compute`tokio::runtime::park::CachedParkThread::block_on (8,266 samples, 22.65%)dkn-compute`tokio::runtime::park::Ca..libdyld.dylib`tlv_get_addr (4 samples, 0.01%)dyld`start (8,275 samples, 22.68%)dyld`startdkn-compute`main (8,275 samples, 22.68%)dkn-compute`maindkn-compute`std::rt::lang_start_internal (8,275 samples, 22.68%)dkn-compute`std::rt::lang_start_inte..dkn-compute`std::rt::lang_start::_{{closure}} (8,274 samples, 22.68%)dkn-compute`std::rt::lang_start::_{{..dkn-compute`std::sys_common::backtrace::__rust_begin_short_backtrace (8,274 samples, 22.68%)dkn-compute`std::sys_common::backtra..dkn-compute`dkn_compute::main (8,274 samples, 22.68%)dkn-compute`dkn_compute::maindkn-compute`tokio::runtime::runtime::Runtime::block_on (8,274 samples, 22.68%)dkn-compute`tokio::runtime::runtime:..dkn-compute`tokio::runtime::context::runtime::enter_runtime (8,274 samples, 22.68%)dkn-compute`tokio::runtime::context:..libdyld.dylib`tlv_get_addr (8 samples, 0.02%)dkn-compute`alloc::sync::Arc<T,A>::drop_slow (8 samples, 0.02%)dkn-compute`<futures_timer::native::timer::Timer as core::future::future::Future>::poll (21 samples, 0.06%)libdispatch.dylib`_dispatch_semaphore_wait_slow (50 samples, 0.14%)libsystem_kernel.dylib`semaphore_timedwait_trap (49 samples, 0.13%)dkn-compute`std::thread::park_timeout (52 samples, 0.14%)dkn-compute`futures_timer::native::global::run (81 samples, 0.22%)dkn-compute`__floatuntidf (6 samples, 0.02%)dkn-compute`tokio::runtime::scheduler::multi_thread::idle::Idle::transition_worker_to_parked (7 samples, 0.02%)dkn-compute`tokio::runtime::scheduler::multi_thread::queue::Steal<T>::steal_into (7 samples, 0.02%)dkn-compute`<std::time::Instant as core::ops::arith::Sub>::sub (6 samples, 0.02%)dkn-compute`std::sys::pal::unix::time::Timespec::sub_timespec (4 samples, 0.01%)dkn-compute`parking_lot::raw_mutex::RawMutex::lock_slow (8 samples, 0.02%)libsystem_kernel.dylib`swtch_pri (4 samples, 0.01%)libsystem_c.dylib`clock_gettime_nsec_np (13 samples, 0.04%)libsystem_kernel.dylib`mach_timebase_info (8 samples, 0.02%)libsystem_kernel.dylib`mach_absolute_time (17 samples, 0.05%)dkn-compute`std::sys::pal::unix::time::Timespec::now (92 samples, 0.25%)libsystem_c.dylib`clock_gettime (79 samples, 0.22%)libsystem_kernel.dylib`mach_timebase_info (14 samples, 0.04%)dkn-compute`tokio::runtime::scheduler::multi_thread::idle::Idle::transition_worker_to_parked (20 samples, 0.05%)dkn-compute`tokio::runtime::scheduler::multi_thread::idle::Idle::unpark_worker_by_id (7 samples, 0.02%)dkn-compute`tokio::runtime::scheduler::multi_thread::queue::Steal<T>::steal_into (63 samples, 0.17%)libsystem_kernel.dylib`__psynch_cvsignal (19 samples, 0.05%)dkn-compute`parking_lot::condvar::Condvar::notify_one_slow (22 samples, 0.06%)libsystem_kernel.dylib`__psynch_cvwait (1,585 samples, 4.34%)libsy..libsystem_pthread.dylib`_pthread_mutex_droplock (4 samples, 0.01%)libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_slow (9 samples, 0.02%)libsystem_kernel.dylib`__psynch_mutexwait (9 samples, 0.02%)libsystem_pthread.dylib`pthread_mutex_lock (8 samples, 0.02%)libsystem_pthread.dylib`_pthread_cond_wait (76 samples, 0.21%)libsystem_pthread.dylib`pthread_testcancel (21 samples, 0.06%)libsystem_pthread.dylib`pthread_mutex_lock (4 samples, 0.01%)dkn-compute`parking_lot::condvar::Condvar::wait_until_internal (1,720 samples, 4.71%)dkn-c..libsystem_pthread.dylib`pthread_testcancel (4 samples, 0.01%)dkn-compute`<mio::event::events::Iter as core::iter::traits::iterator::Iterator>::next (5 samples, 0.01%)dkn-compute`mio::poll::Poll::poll (6 samples, 0.02%)dkn-compute`std::sys::pal::unix::time::Timespec::now (8 samples, 0.02%)dkn-compute`std::time::Instant::now (5 samples, 0.01%)dkn-compute`tokio::process::imp::orphan::OrphanQueueImpl<T>::reap_orphans (12 samples, 0.03%)dkn-compute`DYLD-STUB$$kevent (6 samples, 0.02%)dkn-compute`mio::poll::Poll::poll (34 samples, 0.09%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::_<impl tokio::runtime::task::Schedule for alloc::sync::Arc<tokio::runtime::scheduler::multi_thread::handle::Handle>>::schedule (6 samples, 0.02%)dkn-compute`tokio::runtime::task::raw::schedule (6 samples, 0.02%)dkn-compute`tokio::runtime::context::with_scheduler (4 samples, 0.01%)dkn-compute`tokio::runtime::context::with_scheduler (23 samples, 0.06%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::_<impl tokio::runtime::scheduler::multi_thread::handle::Handle>::schedule_local (5 samples, 0.01%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::_<impl tokio::runtime::task::Schedule for alloc::sync::Arc<tokio::runtime::scheduler::multi_thread::handle::Handle>>::schedule (38 samples, 0.10%)libdyld.dylib`tlv_get_addr (15 samples, 0.04%)dkn-compute`tokio::runtime::io::scheduled_io::ScheduledIo::wake (81 samples, 0.22%)dkn-compute`tokio::runtime::task::waker::wake_by_val (60 samples, 0.16%)dkn-compute`tokio::runtime::task::state::State::transition_to_notified_by_val (14 samples, 0.04%)dkn-compute`tokio::runtime::task::waker::wake_by_val (10 samples, 0.03%)dkn-compute`tokio::runtime::io::driver::Driver::turn (1,463 samples, 4.01%)dkn-..libsystem_kernel.dylib`kevent (1,301 samples, 3.57%)libs..dkn-compute`DYLD-STUB$$clock_gettime (7 samples, 0.02%)libsystem_c.dylib`clock_gettime_nsec_np (11 samples, 0.03%)libsystem_kernel.dylib`mach_timebase_info (9 samples, 0.02%)libsystem_kernel.dylib`mach_absolute_time (11 samples, 0.03%)dkn-compute`std::sys::pal::unix::time::Timespec::now (48 samples, 0.13%)libsystem_c.dylib`clock_gettime (48 samples, 0.13%)libsystem_kernel.dylib`mach_timebase_info (13 samples, 0.04%)dkn-compute`std::time::Instant::duration_since (11 samples, 0.03%)dkn-compute`std::sys::pal::unix::time::Timespec::sub_timespec (10 samples, 0.03%)dkn-compute`tokio::runtime::time::wheel::Wheel::next_expiration (22 samples, 0.06%)dkn-compute`tokio::runtime::time::_<impl tokio::runtime::time::handle::Handle>::process_at_sharded_time (167 samples, 0.46%)dkn-compute`tokio::runtime::time::wheel::Wheel::poll (101 samples, 0.28%)dkn-compute`tokio::runtime::time::wheel::Wheel::next_expiration (94 samples, 0.26%)dkn-compute`tokio::runtime::time::_<impl tokio::runtime::time::handle::Handle>::process (260 samples, 0.71%)libsystem_c.dylib`clock_gettime (6 samples, 0.02%)dkn-compute`tokio::runtime::time::_<impl tokio::runtime::time::handle::Handle>::process_at_sharded_time (9 samples, 0.02%)dkn-compute`tokio::runtime::time::wheel::Wheel::next_expiration (49 samples, 0.13%)libdyld.dylib`tlv_get_addr (5 samples, 0.01%)dkn-compute`tokio::runtime::time::Driver::park_internal (1,869 samples, 5.12%)dkn-co..libdyld.dylib`tlv_get_addr (4 samples, 0.01%)dkn-compute`tokio::runtime::scheduler::multi_thread::park::Parker::park (3,674 samples, 10.07%)dkn-compute`tok..libsystem_pthread.dylib`pthread_mutex_unlock (10 samples, 0.03%)dkn-compute`tokio::runtime::io::driver::Driver::turn (48 samples, 0.13%)libsystem_kernel.dylib`kevent (48 samples, 0.13%)dkn-compute`tokio::runtime::time::_<impl tokio::runtime::time::handle::Handle>::process (6 samples, 0.02%)dkn-compute`tokio::runtime::time::_<impl tokio::runtime::time::handle::Handle>::process_at_sharded_time (4 samples, 0.01%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout (3,798 samples, 10.41%)dkn-compute`tok..dkn-compute`tokio::runtime::time::Driver::park_internal (61 samples, 0.17%)dkn-compute`parking_lot_core::parking_lot::lock_bucket_pair (12 samples, 0.03%)dkn-compute`std::sys::pal::unix::time::Timespec::now (10 samples, 0.03%)libsystem_c.dylib`clock_gettime (8 samples, 0.02%)libsystem_kernel.dylib`__psynch_cvsignal (312 samples, 0.86%)libsystem_pthread.dylib`_pthread_mutex_firstfit_unlock_slow (4 samples, 0.01%)libsystem_kernel.dylib`__psynch_mutexdrop (4 samples, 0.01%)libsystem_pthread.dylib`pthread_cond_signal (6 samples, 0.02%)dkn-compute`parking_lot::condvar::Condvar::notify_one_slow (365 samples, 1.00%)dkn-compute`tokio::runtime::driver::Handle::unpark (124 samples, 0.34%)libsystem_kernel.dylib`kevent (122 samples, 0.33%)dkn-compute`tokio::runtime::scheduler::multi_thread::park::Unparker::unpark (8 samples, 0.02%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::_<impl tokio::runtime::scheduler::multi_thread::handle::Handle>::transition_worker_from_searching (16 samples, 0.04%)dkn-compute`tokio::runtime::task::core::Core<T,S>::poll (8 samples, 0.02%)dkn-compute`<tracing::instrument::Instrumented<T> as core::future::future::Future>::poll (18 samples, 0.05%)dkn-compute`parking_lot_core::parking_lot::lock_bucket_pair (10 samples, 0.03%)libsystem_c.dylib`clock_gettime_nsec_np (4 samples, 0.01%)libsystem_kernel.dylib`mach_timebase_info (4 samples, 0.01%)dkn-compute`std::sys::pal::unix::time::Timespec::now (12 samples, 0.03%)libsystem_c.dylib`clock_gettime (10 samples, 0.03%)libsystem_kernel.dylib`__psynch_cvsignal (246 samples, 0.67%)libsystem_pthread.dylib`_pthread_cond_updateval (4 samples, 0.01%)dkn-compute`parking_lot::condvar::Condvar::notify_one_slow (285 samples, 0.78%)dkn-compute`tokio::runtime::driver::Handle::unpark (116 samples, 0.32%)libsystem_kernel.dylib`kevent (116 samples, 0.32%)dkn-compute`tokio::runtime::scheduler::multi_thread::park::Unparker::unpark (6 samples, 0.02%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::_<impl tokio::runtime::scheduler::multi_thread::handle::Handle>::schedule_local (34 samples, 0.09%)libsystem_pthread.dylib`pthread_cond_signal (4 samples, 0.01%)dkn-compute`tokio::runtime::context::with_scheduler (465 samples, 1.27%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::_<impl tokio::runtime::task::Schedule for alloc::sync::Arc<tokio::runtime::scheduler::multi_thread::handle::Handle>>::yield_now (471 samples, 1.29%)dkn-compute`<futures_util::future::select::Select<A,B> as core::future::future::Future>::poll (7 samples, 0.02%)dkn-compute`<alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::next (4 samples, 0.01%)dkn-compute`<futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll (4 samples, 0.01%)dkn-compute`<libp2p_core::transport::map::MapFuture<T,F> as core::future::future::Future>::poll (4 samples, 0.01%)dkn-compute`<libp2p_core::upgrade::apply::InboundUpgradeApply<C,U> as core::future::future::Future>::poll (4 samples, 0.01%)dkn-compute`<libp2p_noise::Config as libp2p_core::upgrade::InboundConnectionUpgrade<T>>::upgrade_inbound::_{{closure}} (4 samples, 0.01%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (15 samples, 0.04%)dkn-compute`<libp2p_core::muxing::boxed::Wrap<T> as libp2p_core::muxing::StreamMuxer>::poll (13 samples, 0.04%)dkn-compute`<libp2p_core::muxing::boxed::Wrap<T> as libp2p_core::muxing::StreamMuxer>::poll_inbound (8 samples, 0.02%)dkn-compute`<libp2p_noise::io::framed::Codec<snow::handshakestate::HandshakeState> as asynchronous_codec::encoder::Encoder>::encode (8 samples, 0.02%)dkn-compute`snow::handshakestate::HandshakeState::write_message (8 samples, 0.02%)dkn-compute`<libp2p_noise::protocol::Keypair as snow::types::Dh>::generate (8 samples, 0.02%)dkn-compute`x25519_dalek::x25519::x25519 (7 samples, 0.02%)dkn-compute`curve25519_dalek::montgomery::MontgomeryPoint::mul_clamped (7 samples, 0.02%)dkn-compute`<&curve25519_dalek::montgomery::MontgomeryPoint as core::ops::arith::Mul<&curve25519_dalek::scalar::Scalar>>::mul (7 samples, 0.02%)dkn-compute`libsecp256k1_core::ecmult::ECMultContext::ecmult (10 samples, 0.03%)dkn-compute`libsecp256k1_core::field::Field::sqr_in_place (7 samples, 0.02%)dkn-compute`libp2p_identity::keypair::PublicKey::verify (14 samples, 0.04%)dkn-compute`libsecp256k1_core::ecdsa::_<impl libsecp256k1_core::ecmult::ECMultContext>::verify_raw (14 samples, 0.04%)dkn-compute`libp2p_noise::io::handshake::State<T>::finish (15 samples, 0.04%)dkn-compute`<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul (5 samples, 0.01%)dkn-compute`curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k (6 samples, 0.02%)dkn-compute`<libp2p_noise::io::framed::Codec<snow::handshakestate::HandshakeState> as asynchronous_codec::decoder::Decoder>::decode (13 samples, 0.04%)dkn-compute`snow::handshakestate::HandshakeState::read_message (13 samples, 0.04%)dkn-compute`<libp2p_noise::protocol::Keypair as snow::types::Dh>::dh (13 samples, 0.04%)dkn-compute`x25519_dalek::x25519::x25519 (13 samples, 0.04%)dkn-compute`curve25519_dalek::montgomery::MontgomeryPoint::mul_clamped (13 samples, 0.04%)dkn-compute`<&curve25519_dalek::montgomery::MontgomeryPoint as core::ops::arith::Mul<&curve25519_dalek::scalar::Scalar>>::mul (13 samples, 0.04%)dkn-compute`libp2p_noise::io::handshake::recv_identity::_{{closure}} (15 samples, 0.04%)dkn-compute`futures_util::stream::stream::StreamExt::poll_next_unpin (15 samples, 0.04%)dkn-compute`<asynchronous_codec::framed::Framed<T,U> as futures_sink::Sink<<U as asynchronous_codec::encoder::Encoder>::Item>>::poll_flush (4 samples, 0.01%)dkn-compute`tokio::net::tcp::stream::TcpStream::poll_write_priv (4 samples, 0.01%)dkn-compute`<&mio::net::tcp::stream::TcpStream as std::io::Write>::write (4 samples, 0.01%)libsystem_kernel.dylib`__sendto (4 samples, 0.01%)dkn-compute`libp2p_noise::io::handshake::send_identity::_{{closure}} (10 samples, 0.03%)dkn-compute`<libp2p_noise::io::framed::Codec<snow::handshakestate::HandshakeState> as asynchronous_codec::encoder::Encoder>::encode (6 samples, 0.02%)dkn-compute`snow::handshakestate::HandshakeState::write_message (6 samples, 0.02%)dkn-compute`<libp2p_noise::protocol::Keypair as snow::types::Dh>::dh (6 samples, 0.02%)dkn-compute`x25519_dalek::x25519::x25519 (6 samples, 0.02%)dkn-compute`curve25519_dalek::montgomery::MontgomeryPoint::mul_clamped (6 samples, 0.02%)dkn-compute`<&curve25519_dalek::montgomery::MontgomeryPoint as core::ops::arith::Mul<&curve25519_dalek::scalar::Scalar>>::mul (6 samples, 0.02%)dkn-compute`<libp2p_noise::protocol::Keypair as snow::types::Dh>::set (5 samples, 0.01%)dkn-compute`x25519_dalek::x25519::x25519 (5 samples, 0.01%)dkn-compute`curve25519_dalek::montgomery::MontgomeryPoint::mul_clamped (5 samples, 0.01%)dkn-compute`<&curve25519_dalek::montgomery::MontgomeryPoint as core::ops::arith::Mul<&curve25519_dalek::scalar::Scalar>>::mul (5 samples, 0.01%)dkn-compute`<libp2p_noise::Config as libp2p_core::upgrade::OutboundConnectionUpgrade<T>>::upgrade_outbound::_{{closure}} (55 samples, 0.15%)dkn-compute`snow::builder::Builder::build (7 samples, 0.02%)dkn-compute`<libp2p_core::upgrade::apply::OutboundUpgradeApply<C,U> as core::future::future::Future>::poll (57 samples, 0.16%)dkn-compute`<tokio::net::tcp::stream::TcpStream as core::convert::TryFrom<std::net::tcp::TcpStream>>::try_from (4 samples, 0.01%)dkn-compute`tokio::io::poll_evented::PollEvented<E>::new_with_interest (4 samples, 0.01%)dkn-compute`tokio::runtime::io::registration::Registration::new_with_interest_and_handle (4 samples, 0.01%)dkn-compute`tokio::runtime::io::driver::Handle::add_source (4 samples, 0.01%)libsystem_kernel.dylib`kevent (4 samples, 0.01%)dkn-compute`<libp2p_tcp::provider::tokio::Tcp as libp2p_tcp::provider::Provider>::new_stream::_{{closure}} (5 samples, 0.01%)dkn-compute`<libp2p_tcp::Transport<T> as libp2p_core::transport::Transport>::dial::_{{closure}} (96 samples, 0.26%)libsystem_kernel.dylib`__connect (89 samples, 0.24%)dkn-compute`<libp2p_core::transport::map::MapFuture<T,F> as core::future::future::Future>::poll (159 samples, 0.44%)libsystem_kernel.dylib`close (5 samples, 0.01%)dkn-compute`<futures_util::sink::send::Send<Si,Item> as core::future::future::Future>::poll (4 samples, 0.01%)dkn-compute`<libp2p_relay::priv_client::transport::Transport as libp2p_core::transport::Transport>::dial::_{{closure}} (6 samples, 0.02%)dkn-compute`<libp2p_core::transport::map::MapFuture<T,F> as core::future::future::Future>::poll (173 samples, 0.47%)dkn-compute`core::ptr::drop_in_place<core::option::Option<(libp2p_core::transport::upgrade::Builder<libp2p_relay::priv_client::transport::Transport>::authenticate<libp2p_relay::priv_client::Connection,libp2p_noise::io::Output<multistream_select::negotiated::Negotiated<libp2p_relay::priv_client::Connection>>,libp2p_noise::Config,libp2p_noise::Error>::{{closure}},libp2p_core::connection::ConnectedPoint)>> (6 samples, 0.02%)dkn-compute`<tokio::io::poll_evented::PollEvented<E> as core::ops::drop::Drop>::drop (4 samples, 0.01%)dkn-compute`tokio::runtime::io::driver::Handle::deregister_source (4 samples, 0.01%)libsystem_kernel.dylib`kevent (4 samples, 0.01%)dkn-compute`core::ptr::drop_in_place<<libp2p_tcp::Transport<libp2p_tcp::provider::tokio::Tcp> as libp2p_core::transport::Transport>::dial::{{closure}}> (13 samples, 0.04%)dkn-compute`core::ptr::drop_in_place<<libp2p_tcp::provider::tokio::Tcp as libp2p_tcp::provider::Provider>::new_stream::{{closure}}> (13 samples, 0.04%)libsystem_kernel.dylib`close (9 samples, 0.02%)dkn-compute`core::ptr::drop_in_place<either::Either<core::pin::Pin<alloc::boxed::Box<core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future+Output = core::result::Result<libp2p_tcp::provider::tokio::TcpStream,std::io::error::Error>+core::marker::Send>>>>,core::pin::Pin<alloc::boxed::Box<libp2p_core::transport::upgrade::Authenticate<libp2p_tcp::provider::tokio::TcpStream,libp2p_noise::Config>>>>> (14 samples, 0.04%)dkn-compute`core::ptr::drop_in_place$LT$libp2p_core..transport..map..MapFuture$LT$libp2p_core..either..EitherFuture$LT$libp2p_core..transport..map..MapFuture$LT$libp2p_core..transport..and_then..AndThenFuture$LT$libp2p_core..transport..and_then..AndThenFuture$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$core..future..future..Future$u2b$Output$u20$$u3d$$u20$core..result..Result$LT$libp2p_relay..priv_client..Connection$C$libp2p_relay..priv_client..transport..Error$GT$$u2b$core..marker..Send$GT$$GT$$C$libp2p_core..transport..upgrade..Builder$LT$libp2p_relay..priv_client..transport..Transport$GT$..authenticate$LT$libp2p_relay..priv_client..Connection$C$libp2p_noise..io..Output$LT$multistream_select..negotiated..Negotiated$LT$libp2p_relay..priv_client..Connection$GT$$GT$$C$libp2p_noise..Config$C$libp2p_noise..Error$GT$..$u7b$$u7b$closure$u7d$$u7d$$C$libp2p_core..transport..upgrade..Authenticate$LT$libp2p_relay..priv_client..Connection$C$libp2p_noise..Config$GT$$GT$$C$libp2p_core..transport..upgrade..Authenticated$LT$libp2 (24 samples, 0.07%)dkn-compute`core::ptr::drop_in_place$LT$futures_util..future..try_future..into_future..IntoFuture$LT$libp2p_core..transport..timeout..Timeout$LT$libp2p_core..transport..map..MapFuture$LT$libp2p_core..either..EitherFuture$LT$libp2p_core..transport..map..MapFuture$LT$libp2p_core..transport..and_then..AndThenFuture$LT$libp2p_core..transport..and_then..AndThenFuture$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$core..future..future..Future$u2b$Output$u20$$u3d$$u20$core..result..Result$LT$libp2p_relay..priv_client..Connection$C$libp2p_relay..priv_client..transport..Error$GT$$u2b$core..marker..Send$GT$$GT$$C$libp2p_core..transport..upgrade..Builder$LT$libp2p_relay..priv_client..transport..Transport$GT$..authenticate$LT$libp2p_relay..priv_client..Connection$C$libp2p_noise..io..Output$LT$multistream_select..negotiated..Negotiated$LT$libp2p_relay..priv_client..Connection$GT$$GT$$C$libp2p_noise..Config$C$libp2p_noise..Error$GT$..$u7b$$u7b$closure$u7d$$u7d$$C$libp2p_core..transport..upgrade..Authenticate$LT$libp2p_relay..priv_c2 (28 samples, 0.08%)dkn-compute`<futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll (204 samples, 0.56%)dkn-compute`<tracing::instrument::Instrumented<T> as core::future::future::Future>::poll (210 samples, 0.58%)dkn-compute`<futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll (207 samples, 0.57%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (212 samples, 0.58%)dkn-compute`<libp2p_swarm::connection::pool::concurrent_dial::ConcurrentDial as core::future::future::Future>::poll (213 samples, 0.58%)dkn-compute`alloc::sync::Arc<T,A>::drop_slow (14 samples, 0.04%)dkn-compute`futures_channel::mpsc::Receiver<T>::next_message (19 samples, 0.05%)dkn-compute`futures_channel::mpsc::queue::Queue<T>::pop_spin (5 samples, 0.01%)dkn-compute`futures_channel::mpsc::queue::Queue<T>::pop_spin (5 samples, 0.01%)dkn-compute`<T as libp2p_swarm::upgrade::UpgradeInfoSend>::protocol_info (5 samples, 0.01%)dkn-compute`<T as libp2p_swarm::upgrade::InboundUpgradeSend>::upgrade_inbound (4 samples, 0.01%)dkn-compute`<T as libp2p_swarm::upgrade::InboundUpgradeSend>::upgrade_inbound (4 samples, 0.01%)dkn-compute`<core::iter::adapters::chain::Chain<A,B> as core::iter::traits::iterator::Iterator>::try_fold (4 samples, 0.01%)dkn-compute`libp2p_swarm::connection::StreamUpgrade<UserData,TOk,TErr>::new_inbound::_{{closure}} (13 samples, 0.04%)dkn-compute`multistream_select::listener_select::listener_select_proto (5 samples, 0.01%)dkn-compute`<core::iter::adapters::filter_map::FilterMap<I,F> as core::iter::traits::iterator::Iterator>::next (5 samples, 0.01%)dkn-compute`<multistream_select::dialer_select::DialerSelectFuture<R,I> as core::future::future::Future>::poll (17 samples, 0.05%)dkn-compute`<libp2p_swarm::connection::StreamUpgrade<UserData,TOk,TErr> as core::future::future::Future>::poll (50 samples, 0.14%)dkn-compute`libp2p_swarm::connection::StreamUpgrade<UserData,TOk,TErr>::new_outbound::_{{closure}} (30 samples, 0.08%)dkn-compute`<futures_timer::native::delay::Delay as core::ops::drop::Drop>::drop (9 samples, 0.02%)dkn-compute`futures_timer::native::global::raw_wake (9 samples, 0.02%)libdispatch.dylib`_dispatch_semaphore_signal_slow (9 samples, 0.02%)libsystem_kernel.dylib`semaphore_signal_trap (9 samples, 0.02%)dkn-compute`core::ptr::drop_in_place$LT$core..option..Option$LT$libp2p_swarm..connection..StreamUpgrade$LT$either..Either$LT$either..Either$LT$either..Either$LT$either..Either$LT$either..Either$LT$either..Either$LT$$LP$$RP$$C$void..Void$GT$$C$$LP$$RP$$GT$$C$$LP$$RP$$GT$$C$$LP$$RP$$GT$$C$$LP$$RP$$GT$$C$either..Either$LT$$LP$$RP$$C$void..Void$GT$$GT$$C$futures_util..future..either..Either$LT$futures_util..future..either..Either$LT$futures_util..future..either..Either$LT$futures_util..future..either..Either$LT$futures_util..future..either..Either$LT$futures_util..future..either..Either$LT$libp2p_swarm..stream..Stream$C$void..Void$GT$$C$$LP$asynchronous_codec..framed..Framed$LT$libp2p_swarm..stream..Stream$C$libp2p_gossipsub..protocol..GossipsubCodec$GT$$C$libp2p_gossipsub..types..PeerKind$RP$$GT$$C$asynchronous_codec..framed..Framed$LT$libp2p_swarm..stream..Stream$C$libp2p_kad..protocol..Codec$LT$libp2p_kad..protocol..KadRequestMsg$C$libp2p_kad..protocol..KadResponseMsg$GT$$GT$$GT$$C$futures_util..future..either..Either$LT$2 (10 samples, 0.03%)dkn-compute`core::ptr::drop_in_place$LT$$LT$futures_util..stream..futures_unordered..FuturesUnordered$LT$Fut$GT$$u20$as$u20$futures_core..stream..Stream$GT$..poll_next..Bomb$LT$libp2p_swarm..connection..StreamUpgrade$LT$either..Either$LT$either..Either$LT$either..Either$LT$either..Either$LT$either..Either$LT$either..Either$LT$$LP$$RP$$C$void..Void$GT$$C$$LP$$RP$$GT$$C$$LP$$RP$$GT$$C$$LP$$RP$$GT$$C$$LP$$RP$$GT$$C$either..Either$LT$$LP$$RP$$C$void..Void$GT$$GT$$C$futures_util..future..either..Either$LT$futures_util..future..either..Either$LT$futures_util..future..either..Either$LT$futures_util..future..either..Either$LT$futures_util..future..either..Either$LT$futures_util..future..either..Either$LT$libp2p_swarm..stream..Stream$C$void..Void$GT$$C$$LP$asynchronous_codec..framed..Framed$LT$libp2p_swarm..stream..Stream$C$libp2p_gossipsub..protocol..GossipsubCodec$GT$$C$libp2p_gossipsub..types..PeerKind$RP$$GT$$C$asynchronous_codec..framed..Framed$LT$libp2p_swarm..stream..Stream$C$libp2p_kad..protocol..Codec$LT$libp2p_kad..prot2 (11 samples, 0.03%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (232 samples, 0.64%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (123 samples, 0.34%)dkn-compute`<hashbrown::map::HashMap<K,V,S,A> as core::iter::traits::collect::Extend<(K,V)>>::extend (7 samples, 0.02%)dkn-compute`<futures_util::stream::select_all::SelectAll<St> as futures_core::stream::Stream>::poll_next (4 samples, 0.01%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncWrite>::poll_flush (5 samples, 0.01%)dkn-compute`<yamux::frame::io::Io<T> as futures_core::stream::Stream>::poll_next (7 samples, 0.02%)dkn-compute`<yamux::frame::io::Io<T> as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_flush (4 samples, 0.01%)dkn-compute`<yamux::frame::io::Io<T> as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_ready (6 samples, 0.02%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (14 samples, 0.04%)dkn-compute`tracing::span::Span::log (5 samples, 0.01%)dkn-compute`tracing::span::Span::log (25 samples, 0.07%)dkn-compute`tracing::span::Span::record_all (14 samples, 0.04%)dkn-compute`tracing::span::Span::log (5 samples, 0.01%)dkn-compute`tracing_core::span::Record::is_empty (5 samples, 0.01%)libsystem_malloc.dylib`_nanov2_free (6 samples, 0.02%)dkn-compute`futures_channel::mpsc::queue::Queue<T>::pop_spin (26 samples, 0.07%)dkn-compute`futures_channel::mpsc::Receiver<T>::next_message (35 samples, 0.10%)dkn-compute`futures_channel::mpsc::queue::Queue<T>::pop_spin (4 samples, 0.01%)dkn-compute`<futures_channel::mpsc::Receiver<T> as futures_core::stream::Stream>::poll_next (45 samples, 0.12%)dkn-compute`<futures_util::stream::stream::into_future::StreamFuture<St> as core::future::future::Future>::poll (59 samples, 0.16%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (17 samples, 0.05%)dkn-compute`futures_util::stream::futures_unordered::FuturesUnordered<Fut>::push (9 samples, 0.02%)dkn-compute`futures_util::stream::futures_unordered::FuturesUnordered<Fut>::release_task (26 samples, 0.07%)libsystem_malloc.dylib`_nanov2_free (17 samples, 0.05%)dkn-compute`<futures_util::stream::select_all::SelectAll<St> as futures_core::stream::Stream>::poll_next (180 samples, 0.49%)libsystem_malloc.dylib`nanov2_malloc (8 samples, 0.02%)dkn-compute`<&mio::net::tcp::stream::TcpStream as std::io::Write>::write (20 samples, 0.05%)libsystem_kernel.dylib`__sendto (20 samples, 0.05%)dkn-compute`tokio::runtime::io::registration::Registration::poll_ready (10 samples, 0.03%)dkn-compute`tokio::runtime::io::scheduled_io::ScheduledIo::poll_readiness (5 samples, 0.01%)dkn-compute`<asynchronous_codec::framed::Framed<T,U> as futures_sink::Sink<<U as asynchronous_codec::encoder::Encoder>::Item>>::poll_ready (38 samples, 0.10%)dkn-compute`tokio::net::tcp::stream::TcpStream::poll_write_priv (36 samples, 0.10%)libdyld.dylib`tlv_get_addr (5 samples, 0.01%)dkn-compute`<&mio::net::tcp::stream::TcpStream as std::io::Write>::write (393 samples, 1.08%)libsystem_kernel.dylib`__sendto (392 samples, 1.07%)dkn-compute`tokio::runtime::io::registration::Registration::poll_ready (8 samples, 0.02%)dkn-compute`<asynchronous_codec::framed_write::FramedWrite2<T> as futures_sink::Sink<<T as asynchronous_codec::encoder::Encoder>::Item>>::poll_flush (411 samples, 1.13%)dkn-compute`tokio::net::tcp::stream::TcpStream::poll_write_priv (405 samples, 1.11%)dkn-compute`<snow::resolvers::ring::CipherChaChaPoly as snow::types::Cipher>::encrypt (106 samples, 0.29%)dkn-compute`ring::aead::chacha20_poly1305::chacha20_poly1305_seal (102 samples, 0.28%)dkn-compute`ring_core_0_17_8_chacha20_poly1305_seal (100 samples, 0.27%)dkn-compute`snow::transportstate::TransportState::write_message (112 samples, 0.31%)dkn-compute`<libp2p_noise::io::framed::Codec<snow::transportstate::TransportState> as asynchronous_codec::encoder::Encoder>::encode (122 samples, 0.33%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncWrite>::poll_flush (581 samples, 1.59%)dkn-compute`tokio::net::tcp::stream::TcpStream::poll_write_priv (4 samples, 0.01%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncWrite>::poll_write (17 samples, 0.05%)dkn-compute`<multistream_select::negotiated::Negotiated<TInner> as futures_io::if_std::AsyncRead>::poll_read (6 samples, 0.02%)dkn-compute`<multistream_select::negotiated::Negotiated<TInner> as futures_io::if_std::AsyncWrite>::poll_write (14 samples, 0.04%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncRead>::poll_read (9 samples, 0.02%)dkn-compute`<asynchronous_codec::framed_read::FramedRead2<T> as futures_core::stream::Stream>::poll_next (7 samples, 0.02%)dkn-compute`<bytes::bytes_mut::BytesMut as core::ops::drop::Drop>::drop (4 samples, 0.01%)dkn-compute`<snow::resolvers::ring::CipherChaChaPoly as snow::types::Cipher>::decrypt (9 samples, 0.02%)dkn-compute`bytes::bytes_mut::BytesMut::advance_unchecked (6 samples, 0.02%)dkn-compute`bytes::bytes_mut::BytesMut::split_to (8 samples, 0.02%)libsystem_malloc.dylib`small_free_list_remove_ptr (5 samples, 0.01%)libsystem_malloc.dylib`small_malloc_should_clear (11 samples, 0.03%)libsystem_malloc.dylib`small_malloc_from_free_list (11 samples, 0.03%)libsystem_malloc.dylib`set_tiny_meta_header_in_use (6 samples, 0.02%)libsystem_malloc.dylib`_tiny_check_and_zero_inline_meta_from_freelist (4 samples, 0.01%)libsystem_malloc.dylib`tiny_malloc_should_clear (85 samples, 0.23%)libsystem_malloc.dylib`tiny_malloc_from_free_list (70 samples, 0.19%)libsystem_malloc.dylib`tiny_free_list_add_ptr (28 samples, 0.08%)libsystem_platform.dylib`__bzero (5 samples, 0.01%)libsystem_malloc.dylib`szone_malloc_should_clear (126 samples, 0.35%)libsystem_platform.dylib`_platform_memset (13 samples, 0.04%)dkn-compute`bytes::bytes_mut::BytesMut::zeroed (147 samples, 0.40%)dkn-compute`bytes::bytes_mut::shared_v_drop (4 samples, 0.01%)dkn-compute`bytes::bytes_mut::BytesMut::advance_unchecked (6 samples, 0.02%)dkn-compute`libp2p_noise::io::framed::decode_length_prefixed (83 samples, 0.23%)dkn-compute`bytes::bytes_mut::BytesMut::split_to (20 samples, 0.05%)dkn-compute`ring::aead::chacha20_poly1305::chacha20_poly1305_open (14 samples, 0.04%)dkn-compute`0x0000000103492600 (4 samples, 0.01%)dkn-compute`ring::aead::chacha20_poly1305::chacha20_poly1305_open (1,231 samples, 3.37%)dkn..dkn-compute`ring_core_0_17_8_chacha20_poly1305_open (1,213 samples, 3.32%)dkn..dkn-compute`ring::aead::less_safe_key::open_within_ (1,260 samples, 3.45%)dkn..dkn-compute`<snow::resolvers::ring::CipherChaChaPoly as snow::types::Cipher>::decrypt (1,303 samples, 3.57%)dkn-..dkn-compute`ring_core_0_17_8_CRYPTO_memcmp (9 samples, 0.02%)dkn-compute`snow::transportstate::TransportState::read_message (1,351 samples, 3.70%)dkn-..libsystem_platform.dylib`_platform_memmove (38 samples, 0.10%)libsystem_malloc.dylib`_malloc_zone_calloc (16 samples, 0.04%)libsystem_malloc.dylib`_malloc_zone_malloc (6 samples, 0.02%)libsystem_malloc.dylib`nanov2_malloc (20 samples, 0.05%)libsystem_malloc.dylib`szone_calloc (10 samples, 0.03%)dkn-compute`<libp2p_noise::io::framed::Codec<snow::transportstate::TransportState> as asynchronous_codec::decoder::Decoder>::decode (1,715 samples, 4.70%)dkn-c..dkn-compute`<libp2p_tcp::provider::tokio::TcpStream as futures_io::if_std::AsyncRead>::poll_read (4 samples, 0.01%)dkn-compute`<&mio::net::tcp::stream::TcpStream as std::io::Read>::read (2,663 samples, 7.30%)dkn-comput..libsystem_kernel.dylib`__recvfrom (2,653 samples, 7.27%)libsystem_..dkn-compute`tokio::runtime::io::scheduled_io::ScheduledIo::poll_readiness (28 samples, 0.08%)dkn-compute`tokio::runtime::io::registration::Registration::poll_ready (51 samples, 0.14%)dkn-compute`tokio::net::tcp::stream::TcpStream::poll_read_priv (2,758 samples, 7.56%)dkn-comput..libdyld.dylib`tlv_get_addr (17 samples, 0.05%)dkn-compute`<libp2p_tcp::provider::tokio::TcpStream as futures_io::if_std::AsyncRead>::poll_read (2,771 samples, 7.59%)dkn-comput..dkn-compute`<multistream_select::negotiated::Negotiated<TInner> as futures_io::if_std::AsyncRead>::poll_read (2,809 samples, 7.70%)dkn-compute..dkn-compute`tokio::net::tcp::stream::TcpStream::poll_read_priv (7 samples, 0.02%)dkn-compute`bytes::bytes_mut::shared_v_drop (8 samples, 0.02%)dkn-compute`snow::transportstate::TransportState::read_message (11 samples, 0.03%)dkn-compute`<asynchronous_codec::framed_read::FramedRead2<T> as futures_core::stream::Stream>::poll_next (4,588 samples, 12.57%)dkn-compute`<asynch..libsystem_platform.dylib`_platform_memmove (4 samples, 0.01%)dkn-compute`<libp2p_noise::io::framed::Codec<snow::transportstate::TransportState> as asynchronous_codec::decoder::Decoder>::decode (7 samples, 0.02%)dkn-compute`<multistream_select::negotiated::Negotiated<TInner> as futures_io::if_std::AsyncRead>::poll_read (5 samples, 0.01%)dkn-compute`DYLD-STUB$$free (8 samples, 0.02%)dkn-compute`__rdl_dealloc (10 samples, 0.03%)libsystem_malloc.dylib`_nanov2_free (4 samples, 0.01%)libsystem_malloc.dylib`_szone_free (11 samples, 0.03%)libsystem_malloc.dylib`free_small (6 samples, 0.02%)libsystem_malloc.dylib`get_tiny_previous_free_msize (6 samples, 0.02%)libsystem_malloc.dylib`tiny_free_list_add_ptr (16 samples, 0.04%)libsystem_malloc.dylib`free_tiny (62 samples, 0.17%)libsystem_malloc.dylib`tiny_free_no_lock (40 samples, 0.11%)libsystem_malloc.dylib`tiny_free_list_remove_ptr (6 samples, 0.02%)dkn-compute`bytes::bytes_mut::shared_v_drop (142 samples, 0.39%)libsystem_platform.dylib`_platform_memset (6 samples, 0.02%)libsystem_malloc.dylib`_nanov2_free (23 samples, 0.06%)libsystem_malloc.dylib`_szone_free (4 samples, 0.01%)libsystem_malloc.dylib`free (10 samples, 0.03%)libsystem_platform.dylib`__bzero (4 samples, 0.01%)libsystem_platform.dylib`_platform_memmove (82 samples, 0.22%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncRead>::poll_read (5,354 samples, 14.67%)dkn-compute`<libp2p_no..libsystem_platform.dylib`_platform_memset (421 samples, 1.15%)dkn-compute`DYLD-STUB$$free (5 samples, 0.01%)dkn-compute`bytes::bytes::static_drop (5 samples, 0.01%)libsystem_malloc.dylib`free (5 samples, 0.01%)dkn-compute`<multistream_select::negotiated::Negotiated<TInner> as futures_io::if_std::AsyncRead>::poll_read (5,438 samples, 14.90%)dkn-compute`<multistrea..libsystem_platform.dylib`_platform_memmove (38 samples, 0.10%)libsystem_malloc.dylib`small_malloc_should_clear (7 samples, 0.02%)libsystem_malloc.dylib`small_malloc_from_free_list (6 samples, 0.02%)libsystem_malloc.dylib`set_tiny_meta_header_in_use (10 samples, 0.03%)libsystem_malloc.dylib`_tiny_check_and_zero_inline_meta_from_freelist (25 samples, 0.07%)libsystem_malloc.dylib`tiny_malloc_should_clear (146 samples, 0.40%)libsystem_malloc.dylib`tiny_malloc_from_free_list (118 samples, 0.32%)libsystem_malloc.dylib`tiny_free_list_add_ptr (21 samples, 0.06%)libsystem_malloc.dylib`szone_malloc_should_clear (171 samples, 0.47%)libsystem_platform.dylib`_platform_memset (15 samples, 0.04%)dkn-compute`<yamux::frame::io::Io<T> as futures_core::stream::Stream>::poll_next (5,742 samples, 15.74%)dkn-compute`<yamux::fram..dkn-compute`tokio::runtime::io::registration::Registration::poll_ready (31 samples, 0.08%)dkn-compute`tokio::runtime::io::scheduled_io::ScheduledIo::poll_readiness (9 samples, 0.02%)dkn-compute`tokio::net::tcp::stream::TcpStream::poll_write_priv (56 samples, 0.15%)libdyld.dylib`tlv_get_addr (21 samples, 0.06%)dkn-compute`<asynchronous_codec::framed::Framed<T,U> as futures_sink::Sink<<U as asynchronous_codec::encoder::Encoder>::Item>>::poll_ready (68 samples, 0.19%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncWrite>::poll_write (76 samples, 0.21%)dkn-compute`<yamux::frame::io::Io<T> as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_flush (115 samples, 0.32%)dkn-compute`<yamux::frame::io::Io<T> as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_ready (103 samples, 0.28%)dkn-compute`<multistream_select::negotiated::Negotiated<TInner> as futures_io::if_std::AsyncWrite>::poll_write (4 samples, 0.01%)dkn-compute`<asynchronous_codec::framed::Framed<T,U> as futures_sink::Sink<<U as asynchronous_codec::encoder::Encoder>::Item>>::poll_ready (9 samples, 0.02%)dkn-compute`<&mio::net::tcp::stream::TcpStream as std::io::Write>::write (407 samples, 1.12%)libsystem_kernel.dylib`__sendto (407 samples, 1.12%)dkn-compute`tokio::runtime::io::scheduled_io::ScheduledIo::poll_readiness (32 samples, 0.09%)dkn-compute`tokio::runtime::io::registration::Registration::poll_ready (55 samples, 0.15%)dkn-compute`tokio::net::tcp::stream::TcpStream::poll_write_priv (495 samples, 1.36%)libdyld.dylib`tlv_get_addr (20 samples, 0.05%)dkn-compute`<asynchronous_codec::framed::Framed<T,U> as futures_sink::Sink<<U as asynchronous_codec::encoder::Encoder>::Item>>::poll_ready (514 samples, 1.41%)dkn-compute`tokio::runtime::io::registration::Registration::poll_ready (4 samples, 0.01%)dkn-compute`<snow::resolvers::ring::CipherChaChaPoly as snow::types::Cipher>::encrypt (424 samples, 1.16%)dkn-compute`ring::aead::chacha20_poly1305::chacha20_poly1305_seal (423 samples, 1.16%)dkn-compute`ring_core_0_17_8_chacha20_poly1305_seal (422 samples, 1.16%)dkn-compute`snow::transportstate::TransportState::write_message (444 samples, 1.22%)libsystem_platform.dylib`_platform_memmove (19 samples, 0.05%)dkn-compute`<libp2p_noise::io::framed::Codec<snow::transportstate::TransportState> as asynchronous_codec::encoder::Encoder>::encode (457 samples, 1.25%)libsystem_platform.dylib`_platform_memmove (7 samples, 0.02%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncWrite>::poll_write (1,024 samples, 2.81%)dk..dkn-compute`tokio::net::tcp::stream::TcpStream::poll_write_priv (4 samples, 0.01%)dkn-compute`<multistream_select::negotiated::Negotiated<TInner> as futures_io::if_std::AsyncWrite>::poll_write (19 samples, 0.05%)libsystem_malloc.dylib`_szone_free (9 samples, 0.02%)libsystem_malloc.dylib`tiny_free_list_add_ptr (17 samples, 0.05%)libsystem_malloc.dylib`free_tiny (53 samples, 0.15%)libsystem_malloc.dylib`tiny_free_no_lock (33 samples, 0.09%)libsystem_malloc.dylib`tiny_free_list_remove_ptr (6 samples, 0.02%)libsystem_platform.dylib`_platform_memmove (25 samples, 0.07%)dkn-compute`<yamux::frame::io::Io<T> as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_ready (1,220 samples, 3.34%)dkn..libsystem_platform.dylib`_platform_memset (15 samples, 0.04%)dkn-compute`yamux::chunks::Chunks::push (6 samples, 0.02%)libsystem_c.dylib`clock_gettime_nsec_np (10 samples, 0.03%)libsystem_kernel.dylib`mach_absolute_time (6 samples, 0.02%)dkn-compute`std::sys::pal::unix::time::Timespec::now (58 samples, 0.16%)libsystem_c.dylib`clock_gettime (49 samples, 0.13%)libsystem_kernel.dylib`mach_timebase_info (4 samples, 0.01%)dkn-compute`yamux::connection::rtt::Rtt::next_ping (79 samples, 0.22%)libsystem_malloc.dylib`_nanov2_free (4 samples, 0.01%)libsystem_malloc.dylib`free (6 samples, 0.02%)dkn-compute`yamux::connection::Connection<T>::poll_next_inbound (8,165 samples, 22.38%)dkn-compute`yamux::connection::Conn..dkn-compute`<libp2p_yamux::Muxer<C> as libp2p_core::muxing::StreamMuxer>::poll (8,477 samples, 23.23%)dkn-compute`<libp2p_yamux::Muxer<C> a..libsystem_platform.dylib`_platform_memmove (129 samples, 0.35%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (5 samples, 0.01%)dkn-compute`tracing::span::Span::log (11 samples, 0.03%)dkn-compute`<libp2p_core::muxing::boxed::Wrap<T> as libp2p_core::muxing::StreamMuxer>::poll (8,503 samples, 23.30%)dkn-compute`<libp2p_core::muxing::box..dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (22 samples, 0.06%)dkn-compute`tracing::span::Span::log (10 samples, 0.03%)dkn-compute`tracing::span::Span::log (22 samples, 0.06%)dkn-compute`tracing::span::Span::record_all (25 samples, 0.07%)dkn-compute`tracing::span::Span::log (10 samples, 0.03%)dkn-compute`tracing_core::span::Record::is_empty (5 samples, 0.01%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncWrite>::poll_flush (7 samples, 0.02%)dkn-compute`libp2p_noise::io::framed::decode_length_prefixed (13 samples, 0.04%)dkn-compute`<libp2p_noise::io::framed::Codec<snow::transportstate::TransportState> as asynchronous_codec::decoder::Decoder>::decode (23 samples, 0.06%)dkn-compute`<&mio::net::tcp::stream::TcpStream as std::io::Read>::read (5 samples, 0.01%)libsystem_kernel.dylib`__recvfrom (5 samples, 0.01%)dkn-compute`tokio::runtime::io::registration::Registration::poll_ready (21 samples, 0.06%)dkn-compute`tokio::runtime::io::scheduled_io::ScheduledIo::poll_readiness (5 samples, 0.01%)dkn-compute`tokio::net::tcp::stream::TcpStream::poll_read_priv (40 samples, 0.11%)libdyld.dylib`tlv_get_addr (12 samples, 0.03%)dkn-compute`<libp2p_tcp::provider::tokio::TcpStream as futures_io::if_std::AsyncRead>::poll_read (43 samples, 0.12%)dkn-compute`<multistream_select::negotiated::Negotiated<TInner> as futures_io::if_std::AsyncRead>::poll_read (64 samples, 0.18%)dkn-compute`<asynchronous_codec::framed_read::FramedRead2<T> as futures_core::stream::Stream>::poll_next (104 samples, 0.29%)dkn-compute`<yamux::frame::io::Io<T> as futures_core::stream::Stream>::poll_next (416 samples, 1.14%)dkn-compute`<multistream_select::negotiated::Negotiated<TInner> as futures_io::if_std::AsyncRead>::poll_read (409 samples, 1.12%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncRead>::poll_read (398 samples, 1.09%)libsystem_platform.dylib`_platform_memset (284 samples, 0.78%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncWrite>::poll_write (4 samples, 0.01%)dkn-compute`tokio::runtime::io::registration::Registration::poll_ready (13 samples, 0.04%)dkn-compute`tokio::runtime::io::scheduled_io::ScheduledIo::poll_readiness (6 samples, 0.02%)dkn-compute`<asynchronous_codec::framed::Framed<T,U> as futures_sink::Sink<<U as asynchronous_codec::encoder::Encoder>::Item>>::poll_ready (25 samples, 0.07%)dkn-compute`tokio::net::tcp::stream::TcpStream::poll_write_priv (23 samples, 0.06%)libdyld.dylib`tlv_get_addr (7 samples, 0.02%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncWrite>::poll_write (32 samples, 0.09%)dkn-compute`<yamux::frame::io::Io<T> as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_flush (59 samples, 0.16%)dkn-compute`<yamux::frame::io::Io<T> as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_ready (51 samples, 0.14%)dkn-compute`tokio::runtime::io::registration::Registration::poll_ready (19 samples, 0.05%)dkn-compute`tokio::runtime::io::scheduled_io::ScheduledIo::poll_readiness (6 samples, 0.02%)dkn-compute`tokio::net::tcp::stream::TcpStream::poll_write_priv (29 samples, 0.08%)libdyld.dylib`tlv_get_addr (7 samples, 0.02%)dkn-compute`<asynchronous_codec::framed::Framed<T,U> as futures_sink::Sink<<U as asynchronous_codec::encoder::Encoder>::Item>>::poll_ready (34 samples, 0.09%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncWrite>::poll_write (39 samples, 0.11%)dkn-compute`<yamux::frame::io::Io<T> as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_ready (55 samples, 0.15%)dkn-compute`<multistream_select::negotiated::Negotiated<TInner> as futures_io::if_std::AsyncWrite>::poll_write (4 samples, 0.01%)dkn-compute`yamux::connection::Connection<T>::poll_next_inbound (599 samples, 1.64%)dkn-compute`yamux::connection::rtt::Rtt::next_ping (11 samples, 0.03%)dkn-compute`std::sys::pal::unix::time::Timespec::now (11 samples, 0.03%)libsystem_c.dylib`clock_gettime (11 samples, 0.03%)dkn-compute`<libp2p_yamux::Muxer<C> as libp2p_core::muxing::StreamMuxer>::poll_inbound (821 samples, 2.25%)d..libsystem_platform.dylib`_platform_memmove (94 samples, 0.26%)dkn-compute`tokio::runtime::task::waker::clone_waker (5 samples, 0.01%)dkn-compute`tokio::runtime::task::waker::drop_waker (13 samples, 0.04%)dkn-compute`tracing::span::Span::record_all (4 samples, 0.01%)dkn-compute`<libp2p_core::muxing::boxed::Wrap<T> as libp2p_core::muxing::StreamMuxer>::poll_inbound (850 samples, 2.33%)d..dkn-compute`yamux::connection::Connection<T>::poll_new_outbound (8 samples, 0.02%)dkn-compute`<libp2p_yamux::Muxer<C> as libp2p_core::muxing::StreamMuxer>::poll_outbound (10 samples, 0.03%)dkn-compute`<libp2p_core::muxing::boxed::Wrap<T> as libp2p_core::muxing::StreamMuxer>::poll_outbound (12 samples, 0.03%)dkn-compute`<libp2p_gossipsub::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::poll (5 samples, 0.01%)dkn-compute`<libp2p_kad::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::poll (8 samples, 0.02%)dkn-compute`<libp2p_request_response::handler::Handler<TCodec> as libp2p_swarm::handler::ConnectionHandler>::poll (5 samples, 0.01%)dkn-compute`<libp2p_swarm::handler::select::ConnectionHandlerSelect<TProto1,TProto2> as libp2p_swarm::handler::ConnectionHandler>::listen_protocol (4 samples, 0.01%)dkn-compute`<libp2p_swarm::handler::select::ConnectionHandlerSelect<TProto1,TProto2> as libp2p_swarm::handler::ConnectionHandler>::on_connection_event (9 samples, 0.02%)dkn-compute`<libp2p_swarm::handler::select::ConnectionHandlerSelect<TProto1,TProto2> as libp2p_swarm::handler::ConnectionHandler>::on_connection_event (7 samples, 0.02%)dkn-compute`<libp2p_swarm::handler::select::ConnectionHandlerSelect<TProto1,TProto2> as libp2p_swarm::handler::ConnectionHandler>::on_connection_event (4 samples, 0.01%)dkn-compute`<libp2p_swarm::handler::select::ConnectionHandlerSelect<TProto1,TProto2> as libp2p_swarm::handler::ConnectionHandler>::on_connection_event (4 samples, 0.01%)dkn-compute`<futures_timer::native::delay::Delay as core::future::future::Future>::poll (5 samples, 0.01%)dkn-compute`<asynchronous_codec::framed_read::FramedRead2<T> as futures_core::stream::Stream>::poll_next (5 samples, 0.01%)dkn-compute`<asynchronous_codec::framed_write::FramedWrite2<T> as futures_sink::Sink<<T as asynchronous_codec::encoder::Encoder>::Item>>::poll_flush (6 samples, 0.02%)dkn-compute`core::ptr::drop_in_place<core::option::Option<libp2p_gossipsub::handler::OutboundSubstreamState>> (5 samples, 0.01%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (22 samples, 0.06%)dkn-compute`tracing::span::Span::log (11 samples, 0.03%)dkn-compute`<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (4 samples, 0.01%)dkn-compute`<bytes::bytes_mut::BytesMut as core::ops::drop::Drop>::drop (4 samples, 0.01%)dkn-compute`quick_protobuf::reader::BytesReader::read_bytes (38 samples, 0.10%)dkn-compute`quick_protobuf::reader::BytesReader::read_string (33 samples, 0.09%)dkn-compute`core::str::converts::from_utf8 (15 samples, 0.04%)dkn-compute`quick_protobuf::reader::BytesReader::read_varint32 (15 samples, 0.04%)libsystem_malloc.dylib`nanov2_allocate_outlined (39 samples, 0.11%)libsystem_malloc.dylib`nanov2_find_block_and_allocate (35 samples, 0.10%)libsystem_kernel.dylib`__ulock_wait (4 samples, 0.01%)libsystem_kernel.dylib`__ulock_wake (7 samples, 0.02%)libsystem_malloc.dylib`set_tiny_meta_header_in_use (6 samples, 0.02%)libsystem_malloc.dylib`_tiny_check_and_zero_inline_meta_from_freelist (17 samples, 0.05%)libsystem_malloc.dylib`tiny_malloc_from_free_list (56 samples, 0.15%)libsystem_malloc.dylib`tiny_free_list_add_ptr (7 samples, 0.02%)libsystem_malloc.dylib`tiny_malloc_should_clear (87 samples, 0.24%)libsystem_malloc.dylib`szone_malloc_should_clear (97 samples, 0.27%)dkn-compute`<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::Message as quick_protobuf::message::MessageRead>::from_reader (353 samples, 0.97%)dkn-compute`__rdl_alloc (6 samples, 0.02%)libsystem_kernel.dylib`__ulock_wait (15 samples, 0.04%)libsystem_malloc.dylib`set_tiny_meta_header_in_use (7 samples, 0.02%)libsystem_malloc.dylib`szone_malloc_should_clear (78 samples, 0.21%)libsystem_malloc.dylib`tiny_malloc_should_clear (74 samples, 0.20%)libsystem_malloc.dylib`tiny_malloc_from_free_list (36 samples, 0.10%)libsystem_malloc.dylib`tiny_free_list_add_ptr (11 samples, 0.03%)dkn-compute`alloc::raw_vec::finish_grow (89 samples, 0.24%)libsystem_malloc.dylib`_malloc_zone_malloc (5 samples, 0.01%)dkn-compute`alloc::raw_vec::RawVec<T,A>::grow_one (103 samples, 0.28%)dkn-compute`quick_protobuf::reader::BytesReader::read_bytes (4 samples, 0.01%)dkn-compute`quick_protobuf::reader::BytesReader::read_varint32 (9 samples, 0.02%)libsystem_malloc.dylib`_malloc_zone_malloc (21 samples, 0.06%)libsystem_malloc.dylib`malloc (5 samples, 0.01%)libsystem_malloc.dylib`nanov2_malloc (136 samples, 0.37%)dkn-compute`<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::RPC as quick_protobuf::message::MessageRead>::from_reader (768 samples, 2.10%)d..libsystem_platform.dylib`_platform_memmove (54 samples, 0.15%)dkn-compute`bytes::bytes_mut::BytesMut::advance_unchecked (6 samples, 0.02%)dkn-compute`bytes::bytes_mut::BytesMut::split_to (14 samples, 0.04%)dkn-compute`quick_protobuf::reader::BytesReader::read_uint32 (5 samples, 0.01%)dkn-compute`<quick_protobuf_codec::Codec<In,Out> as asynchronous_codec::decoder::Decoder>::decode (856 samples, 2.35%)d..dkn-compute`quick_protobuf::reader::BytesReader::read_varint32 (6 samples, 0.02%)dkn-compute`__rdl_dealloc (4 samples, 0.01%)dkn-compute`alloc::vec::in_place_collect::from_iter_in_place (10 samples, 0.03%)libsystem_malloc.dylib`_nanov2_free (35 samples, 0.10%)libsystem_malloc.dylib`_szone_free (6 samples, 0.02%)libsystem_malloc.dylib`get_tiny_previous_free_msize (8 samples, 0.02%)libsystem_malloc.dylib`tiny_free_list_add_ptr (14 samples, 0.04%)libsystem_malloc.dylib`free_tiny (87 samples, 0.24%)libsystem_malloc.dylib`tiny_free_no_lock (53 samples, 0.15%)libsystem_malloc.dylib`tiny_free_list_remove_ptr (6 samples, 0.02%)dkn-compute`<libp2p_gossipsub::protocol::GossipsubCodec as asynchronous_codec::decoder::Decoder>::decode (1,130 samples, 3.10%)dkn..libsystem_platform.dylib`_platform_memset (16 samples, 0.04%)dkn-compute`futures_channel::mpsc::BoundedSenderInner<T>::poll_unparked (4 samples, 0.01%)dkn-compute`yamux::connection::stream::Stream::send_window_update (48 samples, 0.13%)libsystem_malloc.dylib`_szone_free (14 samples, 0.04%)libsystem_kernel.dylib`__ulock_wait (4 samples, 0.01%)libsystem_malloc.dylib`get_tiny_previous_free_msize (5 samples, 0.01%)libsystem_malloc.dylib`tiny_free_list_add_ptr (6 samples, 0.02%)libsystem_malloc.dylib`tiny_free_list_add_ptr (22 samples, 0.06%)libsystem_malloc.dylib`free_tiny (109 samples, 0.30%)libsystem_malloc.dylib`tiny_free_no_lock (75 samples, 0.21%)libsystem_malloc.dylib`tiny_free_list_remove_ptr (14 samples, 0.04%)dkn-compute`<yamux::connection::stream::Stream as futures_io::if_std::AsyncRead>::poll_read (270 samples, 0.74%)dkn-compute`tokio::runtime::task::waker::drop_waker (8 samples, 0.02%)libsystem_malloc.dylib`_szone_free (7 samples, 0.02%)libsystem_malloc.dylib`free (9 samples, 0.02%)dkn-compute`<libp2p_swarm::stream::Stream as futures_io::if_std::AsyncRead>::poll_read (343 samples, 0.94%)libsystem_platform.dylib`_platform_memmove (32 samples, 0.09%)dkn-compute`<libp2p_yamux::Stream as futures_io::if_std::AsyncRead>::poll_read (39 samples, 0.11%)dkn-compute`<quick_protobuf_codec::Codec<In,Out> as asynchronous_codec::decoder::Decoder>::decode (12 samples, 0.03%)dkn-compute`DYLD-STUB$$free (10 samples, 0.03%)libsystem_malloc.dylib`_nanov2_free (5 samples, 0.01%)libsystem_malloc.dylib`_szone_free (9 samples, 0.02%)libsystem_malloc.dylib`free (25 samples, 0.07%)dkn-compute`<asynchronous_codec::framed_read::FramedRead2<T> as futures_core::stream::Stream>::poll_next (1,668 samples, 4.57%)dkn-c..libsystem_malloc.dylib`nanov2_malloc (41 samples, 0.11%)dkn-compute`<libp2p_swarm::stream::Stream as futures_io::if_std::AsyncWrite>::poll_flush (28 samples, 0.08%)dkn-compute`<libp2p_swarm::stream::Stream as futures_io::if_std::AsyncWrite>::poll_write (5 samples, 0.01%)libsystem_pthread.dylib`pthread_mutex_lock (16 samples, 0.04%)dkn-compute`futures_channel::mpsc::BoundedSenderInner<T>::poll_unparked (35 samples, 0.10%)libsystem_pthread.dylib`pthread_mutex_unlock (4 samples, 0.01%)dkn-compute`tokio::runtime::task::waker::drop_waker (16 samples, 0.04%)libsystem_pthread.dylib`pthread_mutex_lock (5 samples, 0.01%)dkn-compute`<yamux::connection::stream::Stream as futures_io::if_std::AsyncWrite>::poll_flush (63 samples, 0.17%)dkn-compute`futures_channel::mpsc::BoundedSenderInner<T>::poll_unparked (8 samples, 0.02%)dkn-compute`futures_channel::mpsc::BoundedSenderInner<T>::poll_unparked (5 samples, 0.01%)dkn-compute`futures_channel::mpsc::Sender<T>::start_send (23 samples, 0.06%)libsystem_malloc.dylib`nanov2_malloc (13 samples, 0.04%)libsystem_malloc.dylib`set_tiny_meta_header_in_use (4 samples, 0.01%)libsystem_malloc.dylib`_tiny_check_and_zero_inline_meta_from_freelist (7 samples, 0.02%)dkn-compute`<yamux::connection::stream::Stream as futures_io::if_std::AsyncWrite>::poll_write (127 samples, 0.35%)libsystem_malloc.dylib`szone_malloc_should_clear (62 samples, 0.17%)libsystem_malloc.dylib`tiny_malloc_should_clear (57 samples, 0.16%)libsystem_malloc.dylib`tiny_malloc_from_free_list (45 samples, 0.12%)libsystem_malloc.dylib`tiny_free_list_add_ptr (15 samples, 0.04%)dkn-compute`futures_channel::mpsc::BoundedSenderInner<T>::poll_unparked (6 samples, 0.02%)dkn-compute`<asynchronous_codec::framed_write::FramedWrite2<T> as futures_sink::Sink<<T as asynchronous_codec::encoder::Encoder>::Item>>::poll_flush (272 samples, 0.75%)libsystem_platform.dylib`_platform_memmove (14 samples, 0.04%)dkn-compute`<asynchronous_codec::framed_write::FramedWrite2<T> as futures_sink::Sink<<T as asynchronous_codec::encoder::Encoder>::Item>>::poll_ready (4 samples, 0.01%)dkn-compute`<libp2p_core::muxing::boxed::SubstreamBox as futures_io::if_std::AsyncWrite>::poll_flush (4 samples, 0.01%)dkn-compute`<libp2p_core::muxing::boxed::SubstreamBox as futures_io::if_std::AsyncWrite>::poll_write (4 samples, 0.01%)dkn-compute`<libp2p_gossipsub::protocol::GossipsubCodec as asynchronous_codec::decoder::Decoder>::decode (16 samples, 0.04%)dkn-compute`<libp2p_swarm::stream::Stream as futures_io::if_std::AsyncRead>::poll_read (4 samples, 0.01%)dkn-compute`<libp2p_yamux::Stream as futures_io::if_std::AsyncWrite>::poll_flush (32 samples, 0.09%)dkn-compute`<libp2p_yamux::Stream as futures_io::if_std::AsyncWrite>::poll_write (5 samples, 0.01%)dkn-compute`<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::Message as quick_protobuf::message::MessageWrite>::get_size (76 samples, 0.21%)dkn-compute`<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::RPC as quick_protobuf::message::MessageWrite>::get_size (86 samples, 0.24%)dkn-compute`quick_protobuf::sizeofs::sizeof_len (5 samples, 0.01%)dkn-compute`<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::ControlMessage as quick_protobuf::message::MessageWrite>::write_message (5 samples, 0.01%)dkn-compute`quick_protobuf::writer::Writer<W>::write_with_tag (5 samples, 0.01%)dkn-compute`<bytes::bytes_mut::BytesMut as bytes::buf::buf_mut::BufMut>::put_slice (12 samples, 0.03%)dkn-compute`<quick_protobuf_codec::BytesMutWriterBackend as quick_protobuf::writer::WriterBackend>::pb_write_all (108 samples, 0.30%)libsystem_platform.dylib`_platform_memmove (61 samples, 0.17%)dkn-compute`<bytes::bytes_mut::BytesMut as bytes::buf::buf_mut::BufMut>::put_slice (7 samples, 0.02%)dkn-compute`<bytes::bytes_mut::BytesMut as bytes::buf::buf_mut::BufMut>::put_slice (13 samples, 0.04%)dkn-compute`<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::Message as quick_protobuf::message::MessageWrite>::write_message (242 samples, 0.66%)dkn-compute`quick_protobuf::writer::Writer<W>::write_with_tag (107 samples, 0.29%)dkn-compute`<quick_protobuf_codec::BytesMutWriterBackend as quick_protobuf::writer::WriterBackend>::pb_write_u8 (28 samples, 0.08%)libsystem_platform.dylib`_platform_memmove (12 samples, 0.03%)dkn-compute`<bytes::bytes_mut::BytesMut as bytes::buf::buf_mut::BufMut>::put_slice (5 samples, 0.01%)dkn-compute`<quick_protobuf_codec::BytesMutWriterBackend as quick_protobuf::writer::WriterBackend>::pb_write_u8 (11 samples, 0.03%)libsystem_platform.dylib`_platform_memmove (5 samples, 0.01%)dkn-compute`<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::RPC as quick_protobuf::message::MessageWrite>::write_message (285 samples, 0.78%)dkn-compute`quick_protobuf::writer::Writer<W>::write_with_tag (32 samples, 0.09%)dkn-compute`core::ptr::drop_in_place<core::option::Option<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::ControlMessage>> (6 samples, 0.02%)dkn-compute`DYLD-STUB$$free (15 samples, 0.04%)libsystem_malloc.dylib`_nanov2_free (39 samples, 0.11%)libsystem_malloc.dylib`_szone_free (5 samples, 0.01%)libsystem_malloc.dylib`free_small (8 samples, 0.02%)libsystem_malloc.dylib`small_free_list_remove_ptr_no_clear (5 samples, 0.01%)libsystem_malloc.dylib`tiny_free_list_add_ptr (9 samples, 0.02%)libsystem_malloc.dylib`tiny_free_list_add_ptr (23 samples, 0.06%)libsystem_malloc.dylib`tiny_free_list_remove_ptr (28 samples, 0.08%)libsystem_malloc.dylib`free_tiny (154 samples, 0.42%)libsystem_malloc.dylib`tiny_free_no_lock (85 samples, 0.23%)dkn-compute`core::ptr::drop_in_place<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::Message> (222 samples, 0.61%)libsystem_malloc.dylib`_nanov2_free (41 samples, 0.11%)libsystem_malloc.dylib`_szone_free (7 samples, 0.02%)libsystem_malloc.dylib`free (52 samples, 0.14%)dkn-compute`core::ptr::drop_in_place<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::RPC> (343 samples, 0.94%)dkn-compute`<quick_protobuf_codec::Codec<In,Out> as asynchronous_codec::encoder::Encoder>::encode (732 samples, 2.01%)d..libsystem_malloc.dylib`free (4 samples, 0.01%)dkn-compute`<yamux::connection::stream::Stream as futures_io::if_std::AsyncWrite>::poll_flush (20 samples, 0.05%)dkn-compute`core::ptr::drop_in_place<core::option::Option<libp2p_gossipsub::handler::OutboundSubstreamState>> (16 samples, 0.04%)libsystem_malloc.dylib`malloc_zone_realloc (17 samples, 0.05%)libsystem_malloc.dylib`szone_realloc (13 samples, 0.04%)libsystem_malloc.dylib`medium_size (6 samples, 0.02%)libsystem_malloc.dylib`nanov2_realloc (9 samples, 0.02%)dkn-compute`smallvec::SmallVec<A>::shrink_to_fit (55 samples, 0.15%)dkn-compute`smallvec::SmallVec<A>::try_grow (55 samples, 0.15%)libsystem_malloc.dylib`realloc (52 samples, 0.14%)libsystem_malloc.dylib`szone_size (14 samples, 0.04%)libsystem_malloc.dylib`tiny_size (7 samples, 0.02%)libsystem_c.dylib`clock_gettime_nsec_np (16 samples, 0.04%)libsystem_kernel.dylib`mach_timebase_info (6 samples, 0.02%)libsystem_kernel.dylib`mach_absolute_time (17 samples, 0.05%)libsystem_c.dylib`clock_gettime (74 samples, 0.20%)libsystem_kernel.dylib`mach_timebase_info (6 samples, 0.02%)dkn-compute`std::sys::pal::unix::time::Timespec::now (87 samples, 0.24%)libsystem_platform.dylib`__bzero (7 samples, 0.02%)libsystem_platform.dylib`_platform_memmove (87 samples, 0.24%)dkn-compute`libp2p_gossipsub::handler::EnabledHandler::poll (3,704 samples, 10.15%)dkn-compute`lib..libsystem_platform.dylib`_platform_memset (446 samples, 1.22%)dkn-compute`tracing::span::Span::log (31 samples, 0.08%)dkn-compute`tracing::span::Span::record_all (35 samples, 0.10%)dkn-compute`tracing::span::Span::log (14 samples, 0.04%)dkn-compute`tracing_core::span::Record::is_empty (9 samples, 0.02%)dkn-compute`<libp2p_gossipsub::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::poll (3,962 samples, 10.86%)dkn-compute`<lib..libsystem_platform.dylib`_platform_memmove (59 samples, 0.16%)dkn-compute`<futures_timer::native::delay::Delay as core::future::future::Future>::poll (27 samples, 0.07%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (4 samples, 0.01%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (20 samples, 0.05%)dkn-compute`tracing::span::Span::log (4 samples, 0.01%)dkn-compute`futures_bounded::futures_map::FuturesMap<ID,O>::poll_unpin (53 samples, 0.15%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (50 samples, 0.14%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (36 samples, 0.10%)dkn-compute`tokio::runtime::task::waker::clone_waker (7 samples, 0.02%)dkn-compute`tokio::runtime::task::waker::drop_waker (45 samples, 0.12%)dkn-compute`tracing::span::Span::log (19 samples, 0.05%)dkn-compute`tracing::span::Span::record_all (20 samples, 0.05%)dkn-compute`tracing::span::Span::log (12 samples, 0.03%)dkn-compute`tracing_core::span::Record::is_empty (4 samples, 0.01%)dkn-compute`<libp2p_identify::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::poll (249 samples, 0.68%)libsystem_platform.dylib`_platform_memmove (7 samples, 0.02%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (15 samples, 0.04%)dkn-compute`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (8 samples, 0.02%)libsystem_malloc.dylib`nanov2_malloc (6 samples, 0.02%)dkn-compute`alloc::vec::in_place_collect::_<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter (10 samples, 0.03%)dkn-compute`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold (12 samples, 0.03%)dkn-compute`<futures_util::stream::stream::into_future::StreamFuture<St> as core::future::future::Future>::poll (22 samples, 0.06%)dkn-compute`<libp2p_kad::handler::InboundSubstreamState as futures_core::stream::Stream>::poll_next (22 samples, 0.06%)dkn-compute`libp2p_kad::protocol::resp_msg_to_proto (13 samples, 0.04%)dkn-compute`alloc::vec::in_place_collect::from_iter_in_place (13 samples, 0.04%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (23 samples, 0.06%)dkn-compute`<futures_util::stream::select_all::SelectAll<St> as futures_core::stream::Stream>::poll_next (85 samples, 0.23%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (77 samples, 0.21%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (17 samples, 0.05%)dkn-compute`tracing::span::Span::log (8 samples, 0.02%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (33 samples, 0.09%)dkn-compute`<multiaddr::Multiaddr as core::convert::TryFrom<alloc::vec::Vec<u8>>>::try_from (7 samples, 0.02%)dkn-compute`multiaddr::protocol::Protocol::from_bytes (4 samples, 0.01%)dkn-compute`multiaddr::Multiaddr::with_p2p (7 samples, 0.02%)dkn-compute`multiaddr::protocol::Protocol::from_bytes (6 samples, 0.02%)dkn-compute`<libp2p_kad::protocol::KadResponseMsg as core::convert::TryFrom<libp2p_kad::proto::dht::pb::Message>>::try_from (17 samples, 0.05%)dkn-compute`alloc::vec::in_place_collect::_<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter (17 samples, 0.05%)dkn-compute`<libp2p_kad::protocol::KadPeer as core::convert::TryFrom<libp2p_kad::proto::dht::pb::mod_Message::Peer>>::try_from (17 samples, 0.05%)dkn-compute`<libp2p_kad::proto::dht::pb::mod_Message::Peer as quick_protobuf::message::MessageRead>::from_reader (4 samples, 0.01%)dkn-compute`<asynchronous_codec::framed_read::FramedRead2<T> as futures_core::stream::Stream>::poll_next (26 samples, 0.07%)dkn-compute`<quick_protobuf_codec::Codec<In,Out> as asynchronous_codec::decoder::Decoder>::decode (9 samples, 0.02%)dkn-compute`<libp2p_kad::proto::dht::pb::Message as quick_protobuf::message::MessageRead>::from_reader (9 samples, 0.02%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (94 samples, 0.26%)dkn-compute`libp2p_kad::handler::Handler::queue_new_stream::_{{closure}} (28 samples, 0.08%)dkn-compute`futures_bounded::futures_tuple_set::FuturesTupleSet<O,D>::poll_unpin (103 samples, 0.28%)dkn-compute`tokio::runtime::task::waker::clone_waker (8 samples, 0.02%)dkn-compute`tokio::runtime::task::waker::drop_waker (18 samples, 0.05%)dkn-compute`tracing::span::Span::log (11 samples, 0.03%)dkn-compute`tracing::span::Span::record_all (24 samples, 0.07%)dkn-compute`tracing::span::Span::log (13 samples, 0.04%)dkn-compute`<libp2p_kad::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::poll (358 samples, 0.98%)libsystem_platform.dylib`_platform_memmove (13 samples, 0.04%)dkn-compute`<libp2p_relay::priv_client::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::poll (10 samples, 0.03%)dkn-compute`futures_channel::mpsc::Receiver<T>::next_message (53 samples, 0.15%)dkn-compute`futures_channel::mpsc::queue::Queue<T>::pop_spin (44 samples, 0.12%)dkn-compute`<futures_channel::mpsc::Receiver<T> as futures_core::stream::Stream>::poll_next (77 samples, 0.21%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (21 samples, 0.06%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (50 samples, 0.14%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (26 samples, 0.07%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (17 samples, 0.05%)dkn-compute`tracing::span::Span::log (5 samples, 0.01%)dkn-compute`futures_channel::mpsc::Receiver<T>::next_message (4 samples, 0.01%)dkn-compute`tracing::span::Span::log (31 samples, 0.08%)dkn-compute`tracing::span::Span::record_all (14 samples, 0.04%)dkn-compute`tracing::span::Span::log (4 samples, 0.01%)dkn-compute`<libp2p_request_response::handler::Handler<TCodec> as libp2p_swarm::handler::ConnectionHandler>::poll (234 samples, 0.64%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (21 samples, 0.06%)dkn-compute`futures_bounded::futures_map::FuturesMap<ID,O>::poll_unpin (4 samples, 0.01%)dkn-compute`futures_bounded::futures_tuple_set::FuturesTupleSet<O,D>::poll_unpin (5 samples, 0.01%)dkn-compute`libp2p_gossipsub::handler::EnabledHandler::poll (5 samples, 0.01%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (5 samples, 0.01%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (94 samples, 0.26%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (55 samples, 0.15%)dkn-compute`core::ptr::drop_in_place<libp2p_relay::priv_client::handler::Reservation> (20 samples, 0.05%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (43 samples, 0.12%)dkn-compute`tracing::span::Span::log (10 samples, 0.03%)dkn-compute`futures_bounded::futures_set::FuturesSet<O>::poll_unpin (95 samples, 0.26%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (88 samples, 0.24%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (69 samples, 0.19%)dkn-compute`<futures_timer::native::delay::Delay as core::ops::drop::Drop>::drop (6 samples, 0.02%)dkn-compute`futures_timer::native::global::raw_wake (5 samples, 0.01%)libdispatch.dylib`_dispatch_semaphore_signal_slow (5 samples, 0.01%)libsystem_kernel.dylib`semaphore_signal_trap (5 samples, 0.01%)dkn-compute`core::ptr::drop_in_place<<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next::Bomb<futures_bounded::futures_map::TaggedFuture<u32,futures_bounded::futures_map::TimeoutFuture<core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future+Output = core::result::Result<libp2p_relay::protocol::outbound_hop::Circuit,libp2p_relay::protocol::outbound_hop::ConnectError>+core::marker::Send>>>>>> (7 samples, 0.02%)dkn-compute`core::ptr::drop_in_place<core::option::Option<futures_bounded::futures_map::TaggedFuture<u32,futures_bounded::futures_map::TimeoutFuture<core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future+Output = core::result::Result<(),libp2p_relay::protocol::inbound_stop::Error>+core::marker::Send>>>>>> (7 samples, 0.02%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (136 samples, 0.37%)dkn-compute`<asynchronous_codec::framed_read::FramedRead2<T> as futures_core::stream::Stream>::poll_next (6 samples, 0.02%)libsystem_platform.dylib`_platform_memmove (4 samples, 0.01%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (219 samples, 0.60%)dkn-compute`libp2p_relay::priv_client::handler::Handler::establish_new_circuit::_{{closure}} (26 samples, 0.07%)dkn-compute`futures_bounded::futures_tuple_set::FuturesTupleSet<O,D>::poll_unpin (240 samples, 0.66%)dkn-compute`tokio::runtime::task::waker::clone_waker (39 samples, 0.11%)dkn-compute`tokio::runtime::task::waker::drop_waker (86 samples, 0.24%)dkn-compute`tracing::span::Span::log (50 samples, 0.14%)dkn-compute`tracing::span::Span::record_all (66 samples, 0.18%)dkn-compute`tracing::span::Span::log (19 samples, 0.05%)dkn-compute`tracing_core::span::Record::is_empty (12 samples, 0.03%)dkn-compute`<libp2p_relay::priv_client::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::poll (861 samples, 2.36%)d..libsystem_platform.dylib`_platform_memmove (25 samples, 0.07%)dkn-compute`core::ptr::drop_in_place<libp2p_relay::priv_client::handler::Reservation> (6 samples, 0.02%)dkn-compute`futures_bounded::futures_set::FuturesSet<O>::poll_unpin (7 samples, 0.02%)dkn-compute`futures_bounded::futures_tuple_set::FuturesTupleSet<O,D>::poll_unpin (12 samples, 0.03%)dkn-compute`tokio::runtime::task::waker::clone_waker (4 samples, 0.01%)dkn-compute`tokio::runtime::task::waker::drop_waker (25 samples, 0.07%)dkn-compute`libp2p_swarm::handler::either::_<impl libp2p_swarm::handler::ConnectionHandler for either::Either<L,R>>::poll (948 samples, 2.60%)dk..dkn-compute`tracing::span::Span::log (6 samples, 0.02%)dkn-compute`tokio::runtime::task::waker::clone_waker (11 samples, 0.03%)dkn-compute`tokio::runtime::task::waker::drop_waker (11 samples, 0.03%)dkn-compute`tracing::span::Span::log (28 samples, 0.08%)dkn-compute`<libp2p_swarm::handler::select::ConnectionHandlerSelect<TProto1,TProto2> as libp2p_swarm::handler::ConnectionHandler>::poll (5,935 samples, 16.27%)dkn-compute`<libp2p_swarm..dkn-compute`<libp2p_yamux::Muxer<C> as libp2p_core::muxing::StreamMuxer>::poll_inbound (4 samples, 0.01%)dkn-compute`core::ptr::drop_in_place<tracing::span::Span> (23 samples, 0.06%)dkn-compute`tracing::span::Span::log (6 samples, 0.02%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::contains_key (14 samples, 0.04%)dkn-compute`<libp2p_gossipsub::protocol::ProtocolConfig as libp2p_core::upgrade::UpgradeInfo>::protocol_info (8 samples, 0.02%)dkn-compute`<libp2p_kad::protocol::ProtocolConfig as libp2p_core::upgrade::UpgradeInfo>::protocol_info (8 samples, 0.02%)libsystem_malloc.dylib`_malloc_zone_malloc (6 samples, 0.02%)dkn-compute`<T as libp2p_swarm::upgrade::UpgradeInfoSend>::protocol_info (96 samples, 0.26%)libsystem_malloc.dylib`nanov2_malloc (54 samples, 0.15%)dkn-compute`<libp2p_kad::protocol::ProtocolConfig as libp2p_core::upgrade::UpgradeInfo>::protocol_info (4 samples, 0.01%)dkn-compute`<T as libp2p_swarm::upgrade::UpgradeInfoSend>::protocol_info (161 samples, 0.44%)dkn-compute`<smallvec::SmallVec<A> as core::iter::traits::collect::Extend<<A as smallvec::Array>::Item>>::extend (14 samples, 0.04%)dkn-compute`<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (4 samples, 0.01%)dkn-compute`alloc::sync::arcinner_layout_for_value_layout (6 samples, 0.02%)dkn-compute`core::hash::BuildHasher::hash_one (11 samples, 0.03%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (103 samples, 0.28%)dkn-compute`core::hash::BuildHasher::hash_one (19 samples, 0.05%)dkn-compute`hashbrown::raw::RawTable<T,A>::reserve_rehash (26 samples, 0.07%)libsystem_malloc.dylib`_malloc_zone_malloc (6 samples, 0.02%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::insert (315 samples, 0.86%)libsystem_malloc.dylib`nanov2_malloc (44 samples, 0.12%)dkn-compute`hashbrown::raw::RawTable<T,A>::reserve_rehash (6 samples, 0.02%)libsystem_malloc.dylib`_nanov2_free (51 samples, 0.14%)dkn-compute`libp2p_swarm::stream_protocol::StreamProtocol::try_from_owned (87 samples, 0.24%)libsystem_malloc.dylib`_malloc_zone_malloc (32 samples, 0.09%)libsystem_malloc.dylib`_nanov2_free (5 samples, 0.01%)libsystem_malloc.dylib`free (29 samples, 0.08%)libsystem_malloc.dylib`malloc (5 samples, 0.01%)libsystem_malloc.dylib`nanov2_malloc (75 samples, 0.21%)dkn-compute`core::iter::adapters::filter_map::filter_map_fold::_{{closure}} (701 samples, 1.92%)d..libsystem_platform.dylib`_platform_memmove (10 samples, 0.03%)dkn-compute`core::ptr::drop_in_place<either::Either<either::Either<either::Either<either::Either<either::Either<either::Either<libp2p_swarm::stream_protocol::StreamProtocol,&str>,either::Either<libp2p_gossipsub::protocol::ProtocolId,&str>>,either::Either<libp2p_swarm::stream_protocol::StreamProtocol,&str>>,either::Either<libp2p_swarm::stream_protocol::StreamProtocol,libp2p_swarm::stream_protocol::StreamProtocol>>,libp2p_swarm::stream_protocol::StreamProtocol>,either::Either<either::Either<libp2p_swarm::stream_protocol::StreamProtocol,&str>,&str>>> (10 samples, 0.03%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::insert (8 samples, 0.02%)dkn-compute`libp2p_swarm::stream_protocol::StreamProtocol::try_from_owned (10 samples, 0.03%)libsystem_malloc.dylib`_malloc_zone_malloc (4 samples, 0.01%)libsystem_malloc.dylib`_nanov2_free (12 samples, 0.03%)libsystem_malloc.dylib`nanov2_malloc (74 samples, 0.20%)libsystem_platform.dylib`_platform_memmove (13 samples, 0.04%)dkn-compute`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (889 samples, 2.44%)dk..dkn-compute`core::iter::adapters::filter_map::filter_map_fold::_{{closure}} (10 samples, 0.03%)dkn-compute`either::Either::Left (51 samples, 0.14%)dkn-compute`<core::iter::adapters::chain::Chain<A,B> as core::iter::traits::iterator::Iterator>::fold (987 samples, 2.71%)dk..libsystem_malloc.dylib`free (12 samples, 0.03%)dkn-compute`<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (4 samples, 0.01%)dkn-compute`DYLD-STUB$$free (4 samples, 0.01%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (33 samples, 0.09%)dkn-compute`core::hash::BuildHasher::hash_one (5 samples, 0.01%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (52 samples, 0.14%)dkn-compute`core::hash::BuildHasher::hash_one (22 samples, 0.06%)libsystem_malloc.dylib`_nanov2_free (24 samples, 0.07%)dkn-compute`hashbrown::raw::RawTable<T,A>::reserve_rehash (218 samples, 0.60%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::insert (332 samples, 0.91%)libsystem_malloc.dylib`nanov2_malloc (43 samples, 0.12%)libsystem_malloc.dylib`_nanov2_free (22 samples, 0.06%)dkn-compute`libp2p_swarm::stream_protocol::StreamProtocol::try_from_owned (42 samples, 0.12%)libsystem_malloc.dylib`_malloc_zone_malloc (5 samples, 0.01%)libsystem_malloc.dylib`free (11 samples, 0.03%)libsystem_malloc.dylib`nanov2_malloc (26 samples, 0.07%)dkn-compute`core::iter::adapters::filter_map::filter_map_fold::_{{closure}} (458 samples, 1.26%)libsystem_malloc.dylib`_nanov2_free (20 samples, 0.05%)libsystem_malloc.dylib`nanov2_malloc (19 samples, 0.05%)libsystem_platform.dylib`_platform_memmove (4 samples, 0.01%)dkn-compute`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (534 samples, 1.46%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (60 samples, 0.16%)dkn-compute`core::hash::BuildHasher::hash_one (9 samples, 0.02%)dkn-compute`hashbrown::raw::RawTable<T,A>::reserve_rehash (6 samples, 0.02%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::insert (143 samples, 0.39%)libsystem_malloc.dylib`_nanov2_free (44 samples, 0.12%)dkn-compute`libp2p_swarm::stream_protocol::StreamProtocol::try_from_owned (65 samples, 0.18%)libsystem_malloc.dylib`_malloc_zone_malloc (16 samples, 0.04%)libsystem_malloc.dylib`free (17 samples, 0.05%)libsystem_malloc.dylib`nanov2_malloc (35 samples, 0.10%)dkn-compute`core::iter::adapters::filter_map::filter_map_fold::_{{closure}} (345 samples, 0.95%)libsystem_platform.dylib`_platform_memmove (6 samples, 0.02%)dkn-compute`core::ptr::drop_in_place<either::Either<either::Either<either::Either<either::Either<either::Either<either::Either<libp2p_swarm::stream_protocol::StreamProtocol,&str>,either::Either<libp2p_gossipsub::protocol::ProtocolId,&str>>,either::Either<libp2p_swarm::stream_protocol::StreamProtocol,&str>>,either::Either<libp2p_swarm::stream_protocol::StreamProtocol,libp2p_swarm::stream_protocol::StreamProtocol>>,libp2p_swarm::stream_protocol::StreamProtocol>,either::Either<either::Either<libp2p_swarm::stream_protocol::StreamProtocol,&str>,&str>>> (6 samples, 0.02%)dkn-compute`either::Either::Left (11 samples, 0.03%)libsystem_malloc.dylib`free (15 samples, 0.04%)libsystem_malloc.dylib`nanov2_malloc (36 samples, 0.10%)dkn-compute`<core::iter::adapters::chain::Chain<A,B> as core::iter::traits::iterator::Iterator>::fold (1,993 samples, 5.46%)dkn-com..libsystem_platform.dylib`_platform_memmove (10 samples, 0.03%)dkn-compute`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (4 samples, 0.01%)dkn-compute`either::Either::Left (18 samples, 0.05%)dkn-compute`<core::iter::adapters::chain::Chain<A,B> as core::iter::traits::iterator::Iterator>::fold (2,043 samples, 5.60%)dkn-com..dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (30 samples, 0.08%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::insert (82 samples, 0.22%)dkn-compute`core::hash::BuildHasher::hash_one (9 samples, 0.02%)libsystem_malloc.dylib`_nanov2_free (22 samples, 0.06%)dkn-compute`libp2p_swarm::stream_protocol::StreamProtocol::try_from_owned (43 samples, 0.12%)libsystem_platform.dylib`_platform_memset (5 samples, 0.01%)libsystem_malloc.dylib`_malloc_zone_malloc (4 samples, 0.01%)libsystem_malloc.dylib`free (10 samples, 0.03%)libsystem_malloc.dylib`nanov2_malloc (27 samples, 0.07%)dkn-compute`core::iter::adapters::filter_map::filter_map_fold::_{{closure}} (207 samples, 0.57%)libsystem_platform.dylib`_platform_memmove (6 samples, 0.02%)dkn-compute`core::ptr::drop_in_place<either::Either<either::Either<either::Either<either::Either<either::Either<either::Either<libp2p_swarm::stream_protocol::StreamProtocol,&str>,either::Either<libp2p_gossipsub::protocol::ProtocolId,&str>>,either::Either<libp2p_swarm::stream_protocol::StreamProtocol,&str>>,either::Either<libp2p_swarm::stream_protocol::StreamProtocol,libp2p_swarm::stream_protocol::StreamProtocol>>,libp2p_swarm::stream_protocol::StreamProtocol>,either::Either<either::Either<libp2p_swarm::stream_protocol::StreamProtocol,&str>,&str>>> (4 samples, 0.01%)libsystem_malloc.dylib`nanov2_malloc (19 samples, 0.05%)dkn-compute`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (263 samples, 0.72%)libsystem_platform.dylib`_platform_memmove (4 samples, 0.01%)dkn-compute`<core::iter::adapters::chain::Chain<A,B> as core::iter::traits::iterator::Iterator>::fold (2,343 samples, 6.42%)dkn-comp..dkn-compute`<core::iter::adapters::chain::Chain<A,B> as core::iter::traits::iterator::Iterator>::fold (2,329 samples, 6.38%)dkn-comp..dkn-compute`<hashbrown::map::HashMap<K,V,S,A> as core::iter::traits::collect::Extend<(K,V)>>::extend (2,355 samples, 6.45%)dkn-comp..libsystem_platform.dylib`_platform_memmove (10 samples, 0.03%)dkn-compute`<libp2p_gossipsub::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::listen_protocol (7 samples, 0.02%)dkn-compute`<libp2p_identify::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::listen_protocol (22 samples, 0.06%)dkn-compute`<libp2p_gossipsub::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::listen_protocol (12 samples, 0.03%)dkn-compute`<libp2p_kad::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::listen_protocol (21 samples, 0.06%)dkn-compute`<smallvec::SmallVec<A> as core::iter::traits::collect::Extend<<A as smallvec::Array>::Item>>::extend (15 samples, 0.04%)dkn-compute`__rdl_alloc (5 samples, 0.01%)libsystem_malloc.dylib`_malloc_zone_malloc (23 samples, 0.06%)libsystem_malloc.dylib`malloc (8 samples, 0.02%)dkn-compute`<libp2p_swarm::handler::select::ConnectionHandlerSelect<TProto1,TProto2> as libp2p_swarm::handler::ConnectionHandler>::listen_protocol (241 samples, 0.66%)libsystem_malloc.dylib`nanov2_malloc (90 samples, 0.25%)dkn-compute`DYLD-STUB$$free (6 samples, 0.02%)dkn-compute`<smallvec::SmallVec<A> as core::ops::drop::Drop>::drop (4 samples, 0.01%)libsystem_malloc.dylib`_nanov2_free (30 samples, 0.08%)dkn-compute`core::ptr::drop_in_place$LT$libp2p_core..upgrade..select..SelectUpgrade$LT$libp2p_swarm..upgrade..SendWrapper$LT$libp2p_core..upgrade..select..SelectUpgrade$LT$libp2p_swarm..upgrade..SendWrapper$LT$libp2p_core..upgrade..select..SelectUpgrade$LT$libp2p_swarm..upgrade..SendWrapper$LT$libp2p_core..upgrade..select..SelectUpgrade$LT$libp2p_swarm..upgrade..SendWrapper$LT$libp2p_core..upgrade..select..SelectUpgrade$LT$libp2p_swarm..upgrade..SendWrapper$LT$either..Either$LT$libp2p_swarm..upgrade..SendWrapper$LT$libp2p_core..upgrade..ready..ReadyUpgrade$LT$libp2p_swarm..stream_protocol..StreamProtocol$GT$$GT$$C$libp2p_swarm..upgrade..SendWrapper$LT$libp2p_core..upgrade..denied..DeniedUpgrade$GT$$GT$$GT$$C$libp2p_swarm..upgrade..SendWrapper$LT$either..Either$LT$libp2p_gossipsub..protocol..ProtocolConfig$C$libp2p_core..upgrade..denied..DeniedUpgrade$GT$$GT$$GT$$GT$$C$libp2p_swarm..upgrade..SendWrapper$LT$either..Either$LT$libp2p_kad..protocol..ProtocolConfig$C$libp2p_core..upgrade..denied..DeniedUpgrade$GT$$GT$$GT$$GT$$2 (60 samples, 0.16%)libsystem_platform.dylib`_platform_memset (9 samples, 0.02%)libsystem_malloc.dylib`free (32 samples, 0.09%)dkn-compute`libp2p_swarm::connection::gather_supported_protocols (2,941 samples, 8.06%)dkn-compute..libsystem_platform.dylib`_platform_memmove (16 samples, 0.04%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (252 samples, 0.69%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::contains_key (553 samples, 1.52%)dkn-compute`core::hash::BuildHasher::hash_one (34 samples, 0.09%)dkn-compute`libp2p_swarm::handler::ProtocolsChange::from_full_sets (695 samples, 1.90%)d..libsystem_platform.dylib`_platform_memcmp (77 samples, 0.21%)dkn-compute`libp2p_swarm::handler::either::_<impl libp2p_swarm::handler::ConnectionHandler for either::Either<L,R>>::poll (9 samples, 0.02%)dkn-compute`tracing::span::Span::log (50 samples, 0.14%)dkn-compute`tracing::span::Span::record_all (41 samples, 0.11%)dkn-compute`tracing::span::Span::log (16 samples, 0.04%)dkn-compute`tracing_core::span::Record::is_empty (29 samples, 0.08%)libdyld.dylib`tlv_get_addr (8 samples, 0.02%)libsystem_malloc.dylib`_nanov2_free (192 samples, 0.53%)libsystem_platform.dylib`__bzero (8 samples, 0.02%)libsystem_platform.dylib`_platform_memmove (23 samples, 0.06%)dkn-compute`futures_util::future::future::FutureExt::poll_unpin (19,882 samples, 54.49%)dkn-compute`futures_util::future::future::FutureExt::poll_unpinlibsystem_platform.dylib`_platform_memset (21 samples, 0.06%)libsystem_malloc.dylib`_nanov2_free (25 samples, 0.07%)dkn-compute`futures_channel::mpsc::queue::Queue<T>::pop_spin (251 samples, 0.69%)libsystem_malloc.dylib`free (13 samples, 0.04%)dkn-compute`futures_channel::mpsc::Receiver<T>::next_message (321 samples, 0.88%)libsystem_platform.dylib`_platform_memmove (11 samples, 0.03%)dkn-compute`futures_channel::mpsc::queue::Queue<T>::pop_spin (13 samples, 0.04%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (50 samples, 0.14%)dkn-compute`futures_util::stream::stream::StreamExt::poll_next_unpin (424 samples, 1.16%)dkn-compute`libp2p_swarm::handler::ProtocolsChange::from_full_sets (8 samples, 0.02%)dkn-compute`tracing::span::Span::log (11 samples, 0.03%)dkn-compute`tracing::span::Span::record_all (8 samples, 0.02%)libsystem_malloc.dylib`_nanov2_free (16 samples, 0.04%)libsystem_malloc.dylib`free (57 samples, 0.16%)dkn-compute`<futures_util::future::select::Select<A,B> as core::future::future::Future>::poll (20,838 samples, 57.11%)dkn-compute`<futures_util::future::select::Select<A,B> as core::future::future::Future>::polllibsystem_platform.dylib`_platform_memmove (7 samples, 0.02%)dkn-compute`__rdl_alloc (11 samples, 0.03%)libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_slow (6 samples, 0.02%)libsystem_kernel.dylib`__psynch_mutexwait (6 samples, 0.02%)dkn-compute`futures_channel::mpsc::BoundedSenderInner<T>::poll_unparked (25 samples, 0.07%)libsystem_pthread.dylib`pthread_mutex_unlock (5 samples, 0.01%)dkn-compute`futures_channel::mpsc::BoundedSenderInner<T>::poll_unparked (6 samples, 0.02%)dkn-compute`parking_lot_core::parking_lot::lock_bucket_pair (4 samples, 0.01%)libsystem_kernel.dylib`__psynch_cvsignal (189 samples, 0.52%)dkn-compute`parking_lot::condvar::Condvar::notify_one_slow (201 samples, 0.55%)dkn-compute`<futures_util::stream::futures_unordered::task::Task<Fut> as futures_task::arc_wake::ArcWake>::wake_by_ref (233 samples, 0.64%)dkn-compute`tokio::runtime::park::wake (216 samples, 0.59%)dkn-compute`futures_task::waker::wake_arc_raw (235 samples, 0.64%)libsystem_kernel.dylib`__ulock_wait (7 samples, 0.02%)libsystem_malloc.dylib`set_tiny_meta_header_in_use (9 samples, 0.02%)libsystem_malloc.dylib`_tiny_check_and_zero_inline_meta_from_freelist (8 samples, 0.02%)libsystem_malloc.dylib`szone_malloc_should_clear (95 samples, 0.26%)libsystem_malloc.dylib`tiny_malloc_should_clear (89 samples, 0.24%)libsystem_malloc.dylib`tiny_malloc_from_free_list (56 samples, 0.15%)libsystem_malloc.dylib`tiny_free_list_add_ptr (18 samples, 0.05%)dkn-compute`futures_channel::mpsc::sink_impl::_<impl futures_sink::Sink<T> for futures_channel::mpsc::Sender<T>>::start_send (373 samples, 1.02%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::wake (33 samples, 0.09%)libsystem_malloc.dylib`_malloc_zone_malloc (12 samples, 0.03%)libsystem_malloc.dylib`malloc (5 samples, 0.01%)libsystem_malloc.dylib`nanov2_malloc (7 samples, 0.02%)libsystem_platform.dylib`_platform_memmove (52 samples, 0.14%)dkn-compute`<futures_util::sink::send::Send<Si,Item> as core::future::future::Future>::poll (578 samples, 1.58%)dkn-compute`<libp2p_swarm::connection::pool::concurrent_dial::ConcurrentDial as core::future::future::Future>::poll (5 samples, 0.01%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (5 samples, 0.01%)dkn-compute`<tracing::instrument::Instrumented<T> as core::future::future::Future>::poll (5 samples, 0.01%)dkn-compute`<futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll (5 samples, 0.01%)dkn-compute`<futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll (5 samples, 0.01%)dkn-compute`<libp2p_core::transport::map::MapFuture<T,F> as core::future::future::Future>::poll (5 samples, 0.01%)dkn-compute`<libp2p_core::transport::map::MapFuture<T,F> as core::future::future::Future>::poll (5 samples, 0.01%)dkn-compute`<libp2p_core::upgrade::apply::OutboundUpgradeApply<C,U> as core::future::future::Future>::poll (5 samples, 0.01%)dkn-compute`<libp2p_noise::Config as libp2p_core::upgrade::OutboundConnectionUpgrade<T>>::upgrade_outbound::_{{closure}} (5 samples, 0.01%)dkn-compute`libp2p_noise::io::handshake::send_identity::_{{closure}} (4 samples, 0.01%)dkn-compute`<libp2p_noise::io::framed::Codec<snow::handshakestate::HandshakeState> as asynchronous_codec::encoder::Encoder>::encode (4 samples, 0.01%)dkn-compute`snow::handshakestate::HandshakeState::write_message (4 samples, 0.01%)dkn-compute`<libp2p_noise::protocol::Keypair as snow::types::Dh>::dh (4 samples, 0.01%)dkn-compute`x25519_dalek::x25519::x25519 (4 samples, 0.01%)dkn-compute`curve25519_dalek::montgomery::MontgomeryPoint::mul_clamped (4 samples, 0.01%)dkn-compute`libp2p_gossipsub::types::_<impl core::convert::From<libp2p_gossipsub::types::RawMessage> for libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::Message>::from (4 samples, 0.01%)dkn-compute`libp2p_gossipsub::types::_<impl core::convert::From<libp2p_gossipsub::types::RpcOut> for libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::RPC>::from (87 samples, 0.24%)libsystem_malloc.dylib`nanov2_allocate_outlined (51 samples, 0.14%)libsystem_malloc.dylib`nanov2_find_block_and_allocate (33 samples, 0.09%)libsystem_malloc.dylib`nanov2_allocate_from_block (6 samples, 0.02%)libsystem_malloc.dylib`malloc_zone_realloc (7 samples, 0.02%)libsystem_platform.dylib`_platform_memmove (6 samples, 0.02%)dkn-compute`smallvec::SmallVec<A>::reserve_one_unchecked (8 samples, 0.02%)dkn-compute`smallvec::SmallVec<A>::try_grow (8 samples, 0.02%)libsystem_malloc.dylib`realloc (8 samples, 0.02%)libsystem_malloc.dylib`_malloc_zone_malloc (5 samples, 0.01%)dkn-compute`<libp2p_gossipsub::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::on_behaviour_event (202 samples, 0.55%)libsystem_malloc.dylib`nanov2_malloc (62 samples, 0.17%)dkn-compute`futures_bounded::futures_map::FuturesMap<ID,O>::try_push (9 samples, 0.02%)dkn-compute`<libp2p_relay::priv_client::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::on_behaviour_event (14 samples, 0.04%)dkn-compute`futures_bounded::futures_tuple_set::FuturesTupleSet<O,D>::try_push (11 samples, 0.03%)dkn-compute`libp2p_gossipsub::types::_<impl core::convert::From<libp2p_gossipsub::types::RpcOut> for libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::RPC>::from (4 samples, 0.01%)dkn-compute`<libp2p_swarm::handler::select::ConnectionHandlerSelect<TProto1,TProto2> as libp2p_swarm::handler::ConnectionHandler>::on_behaviour_event (276 samples, 0.76%)libsystem_platform.dylib`_platform_memmove (11 samples, 0.03%)dkn-compute`futures_channel::mpsc::BoundedSenderInner<T>::poll_unparked (4 samples, 0.01%)dkn-compute`futures_util::future::future::FutureExt::poll_unpin (7 samples, 0.02%)dkn-compute`futures_util::stream::stream::StreamExt::poll_next_unpin (7 samples, 0.02%)dkn-compute`tracing::span::Span::log (15 samples, 0.04%)dkn-compute`<tracing::instrument::Instrumented<T> as core::future::future::Future>::poll (21,909 samples, 60.05%)dkn-compute`<tracing::instrument::Instrumented<T> as core::future::future::Future>::polllibsystem_platform.dylib`_platform_memmove (21 samples, 0.06%)dkn-compute`tokio::runtime::task::core::TaskIdGuard::enter (14 samples, 0.04%)dkn-compute`tracing::span::Span::log (7 samples, 0.02%)libdyld.dylib`tlv_get_addr (24 samples, 0.07%)dkn-compute`tokio::runtime::task::core::Core<T,S>::poll (22,041 samples, 60.41%)dkn-compute`tokio::runtime::task::core::Core<T,S>::polllibsystem_platform.dylib`_platform_memmove (56 samples, 0.15%)dkn-compute`tokio::runtime::task::core::TaskIdGuard::enter (7 samples, 0.02%)dkn-compute`tokio::runtime::task::state::State::transition_to_idle (18 samples, 0.05%)dkn-compute`tokio::runtime::task::harness::Harness<T,S>::poll (22,593 samples, 61.92%)dkn-compute`tokio::runtime::task::harness::Harness<T,S>::polldkn-compute`tokio::runtime::task::state::State::transition_to_running (19 samples, 0.05%)dkn-compute`tokio::runtime::task::state::State::ref_dec (4 samples, 0.01%)libsystem_pthread.dylib`pthread_cond_signal (4 samples, 0.01%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::Context::run_task (23,179 samples, 63.53%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::Context::run_taskdkn-compute`tokio::runtime::scheduler::multi_thread::worker::_<impl tokio::runtime::scheduler::multi_thread::handle::Handle>::notify_if_work_pending (30 samples, 0.08%)dkn-compute`tokio::runtime::task::harness::Harness<T,S>::poll (6 samples, 0.02%)dkn-compute`tokio::runtime::task::raw::poll (6 samples, 0.02%)libdyld.dylib`tlv_get_addr (16 samples, 0.04%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::Context::run (27,505 samples, 75.38%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::Context::runlibsystem_m.dylib`pow (32 samples, 0.09%)all (36,487 samples, 100%)libsystem_pthread.dylib`thread_start (27,628 samples, 75.72%)libsystem_pthread.dylib`thread_startlibsystem_pthread.dylib`_pthread_start (27,628 samples, 75.72%)libsystem_pthread.dylib`_pthread_startdkn-compute`std::sys::pal::unix::thread::Thread::new::thread_start (27,628 samples, 75.72%)dkn-compute`std::sys::pal::unix::thread::Thread::new::thread_startdkn-compute`core::ops::function::FnOnce::call_once{{vtable.shim}} (27,628 samples, 75.72%)dkn-compute`core::ops::function::FnOnce::call_once{{vtable.shim}}dkn-compute`std::sys_common::backtrace::__rust_begin_short_backtrace (27,628 samples, 75.72%)dkn-compute`std::sys_common::backtrace::__rust_begin_short_backtracedkn-compute`tokio::runtime::blocking::pool::Inner::run (27,545 samples, 75.49%)dkn-compute`tokio::runtime::blocking::pool::Inner::rundkn-compute`tokio::runtime::task::harness::Harness<T,S>::poll (27,545 samples, 75.49%)dkn-compute`tokio::runtime::task::harness::Harness<T,S>::polldkn-compute`tokio::runtime::task::core::Core<T,S>::poll (27,545 samples, 75.49%)dkn-compute`tokio::runtime::task::core::Core<T,S>::polldkn-compute`tokio::runtime::scheduler::multi_thread::worker::run (27,544 samples, 75.49%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::rundkn-compute`tokio::runtime::context::runtime::enter_runtime (27,544 samples, 75.49%)dkn-compute`tokio::runtime::context::runtime::enter_runtimedkn-compute`tokio::runtime::context::set_scheduler (27,544 samples, 75.49%)dkn-compute`tokio::runtime::context::set_schedulerlibsystem_m.dylib`pow (13 samples, 0.04%) \ No newline at end of file diff --git a/benchmarks/flamegraph_permissive.svg b/benchmarks/flamegraph_permissive.svg new file mode 100644 index 0000000..8791e54 --- /dev/null +++ b/benchmarks/flamegraph_permissive.svg @@ -0,0 +1,491 @@ +Flame Graph Reset ZoomSearch dkn-compute`<dkn_compute::p2p::behaviour::DriaBehaviour as libp2p_swarm::behaviour::NetworkBehaviour>::poll (19 samples, 0.01%)dkn-compute`<libp2p_gossipsub::behaviour::Behaviour<C,F> as libp2p_swarm::behaviour::NetworkBehaviour>::on_connection_handler_event (18 samples, 0.01%)dkn-compute`libp2p_swarm::Swarm<TBehaviour>::poll_next_event (55 samples, 0.04%)dkn-compute`dkn_compute::main::_{{closure}} (61 samples, 0.05%)dkn-compute`<tokio::future::poll_fn::PollFn<F> as core::future::future::Future>::poll (60 samples, 0.05%)libsystem_kernel.dylib`__psynch_cvwait (17 samples, 0.01%)dkn-compute`tokio::runtime::context::runtime::enter_runtime (80 samples, 0.06%)dkn-compute`tokio::runtime::park::CachedParkThread::block_on (80 samples, 0.06%)dkn-compute`tokio::runtime::park::Inner::park (19 samples, 0.01%)dkn-compute`parking_lot::condvar::Condvar::wait_until_internal (19 samples, 0.01%)dkn-compute`tokio::sync::notify::Notified::poll_notified (15 samples, 0.01%)dkn-compute`tokio_util::sync::cancellation_token::tree_node::is_cancelled (19 samples, 0.01%)dkn-compute`<tokio_util::sync::cancellation_token::WaitForCancellationFuture as core::future::future::Future>::poll (37 samples, 0.03%)dkn-compute`<libp2p_core::transport::map::Map<T,F> as libp2p_core::transport::Transport>::poll (43 samples, 0.03%)dkn-compute`<libp2p_core::transport::choice::OrTransport<A,B> as libp2p_core::transport::Transport>::poll (62 samples, 0.05%)dkn-compute`<libp2p_core::transport::map::Map<T,F> as libp2p_core::transport::Transport>::poll (26 samples, 0.02%)dkn-compute`<libp2p_relay::priv_client::transport::Transport as libp2p_core::transport::Transport>::poll (16 samples, 0.01%)dkn-compute`<futures_util::stream::select_all::SelectAll<St> as futures_core::stream::Stream>::poll_next (14 samples, 0.01%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (14 samples, 0.01%)dkn-compute`<libp2p_core::transport::choice::OrTransport<A,B> as libp2p_core::transport::Transport>::poll (95 samples, 0.07%)dkn-compute`<T as libp2p_core::transport::boxed::Abstract<O>>::poll (102 samples, 0.08%)dkn-compute`<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (24 samples, 0.02%)libsystem_platform.dylib`_platform_memmove (14 samples, 0.01%)dkn-compute`<dkn_compute::p2p::behaviour::DriaBehaviour as libp2p_swarm::behaviour::NetworkBehaviour>::on_connection_handler_event (32 samples, 0.03%)dkn-compute`<libp2p_kad::behaviour::Behaviour<TStore> as libp2p_swarm::behaviour::NetworkBehaviour>::on_connection_handler_event (31 samples, 0.02%)dkn-compute`<libp2p_request_response::Behaviour<TCodec> as libp2p_swarm::behaviour::NetworkBehaviour>::poll (43 samples, 0.03%)dkn-compute`<libp2p_autonat::behaviour::Behaviour as libp2p_swarm::behaviour::NetworkBehaviour>::poll (93 samples, 0.07%)dkn-compute`<futures_timer::native::delay::Delay as core::future::future::Future>::poll (14 samples, 0.01%)dkn-compute`<futures_ticker::Ticker as futures_core::stream::Stream>::poll_next (16 samples, 0.01%)dkn-compute`core::ops::function::impls::_<impl core::ops::function::FnMut<A> for &mut F>::call_mut (40 samples, 0.03%)dkn-compute`<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (70 samples, 0.05%)libsystem_platform.dylib`_platform_memcmp (21 samples, 0.02%)dkn-compute`libp2p_gossipsub::mcache::MessageCache::get_gossip_message_ids (71 samples, 0.06%)dkn-compute`libp2p_gossipsub::mcache::MessageCache::shift (44 samples, 0.03%)dkn-compute`libp2p_gossipsub::behaviour::Behaviour<D,F>::heartbeat (143 samples, 0.11%)dkn-compute`<libp2p_gossipsub::behaviour::Behaviour<C,F> as libp2p_swarm::behaviour::NetworkBehaviour>::poll (232 samples, 0.18%)dkn-compute`<libp2p_identify::behaviour::Behaviour as libp2p_swarm::behaviour::NetworkBehaviour>::poll (46 samples, 0.04%)dkn-compute`libp2p_kad::jobs::PutRecordJob::poll (17 samples, 0.01%)dkn-compute`<alloc::collections::btree::map::ValuesMut<K,V> as core::iter::traits::iterator::Iterator>::next (53 samples, 0.04%)dkn-compute`libp2p_kad::query::peers::closest::ClosestPeersIter::next (504 samples, 0.39%)dkn-compute`<alloc::collections::btree::map::ValuesMut<K,V> as core::iter::traits::iterator::Iterator>::next (288 samples, 0.23%)dkn-compute`libp2p_kad::query::QueryPool<TInner>::poll (610 samples, 0.48%)libsystem_kernel.dylib`mach_absolute_time (24 samples, 0.02%)libsystem_c.dylib`clock_gettime (41 samples, 0.03%)dkn-compute`std::sys::pal::unix::time::Timespec::now (45 samples, 0.04%)dkn-compute`tracing::span::Span::log (19 samples, 0.01%)dkn-compute`tracing::span::Span::record_all (15 samples, 0.01%)dkn-compute`<libp2p_kad::behaviour::Behaviour<TStore> as libp2p_swarm::behaviour::NetworkBehaviour>::poll (803 samples, 0.63%)dkn-compute`futures_channel::mpsc::Receiver<T>::next_message (38 samples, 0.03%)dkn-compute`futures_channel::mpsc::queue::Queue<T>::pop_spin (13 samples, 0.01%)dkn-compute`<futures_channel::mpsc::Receiver<T> as futures_core::stream::Stream>::poll_next (47 samples, 0.04%)dkn-compute`tracing::span::Span::log (20 samples, 0.02%)dkn-compute`tracing::span::Span::record_all (37 samples, 0.03%)dkn-compute`<libp2p_relay::priv_client::Behaviour as libp2p_swarm::behaviour::NetworkBehaviour>::poll (151 samples, 0.12%)dkn-compute`tracing::span::Span::log (15 samples, 0.01%)dkn-compute`<dkn_compute::p2p::behaviour::DriaBehaviour as libp2p_swarm::behaviour::NetworkBehaviour>::poll (1,410 samples, 1.10%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (132 samples, 0.10%)dkn-compute`<libp2p_gossipsub::transform::IdentityTransform as libp2p_gossipsub::transform::DataTransform>::inbound_transform (20 samples, 0.02%)libsystem_malloc.dylib`nanov2_malloc (15 samples, 0.01%)libsystem_malloc.dylib`szone_malloc_should_clear (60 samples, 0.05%)libsystem_malloc.dylib`tiny_malloc_should_clear (49 samples, 0.04%)libsystem_malloc.dylib`tiny_malloc_from_free_list (40 samples, 0.03%)dkn-compute`<libp2p_gossipsub::types::RawMessage as core::clone::Clone>::clone (130 samples, 0.10%)dkn-compute`<alloc::string::String as core::fmt::Write>::write_str (14 samples, 0.01%)dkn-compute`dkn_compute::p2p::behaviour::create_gossipsub_behavior::_{{closure}} (45 samples, 0.04%)dkn-compute`core::fmt::num::imp::_<impl core::fmt::Display for u64>::fmt (41 samples, 0.03%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (15 samples, 0.01%)libsystem_malloc.dylib`nanov2_allocate_outlined (13 samples, 0.01%)libsystem_malloc.dylib`szone_malloc_should_clear (18 samples, 0.01%)libsystem_malloc.dylib`tiny_malloc_should_clear (18 samples, 0.01%)libsystem_malloc.dylib`tiny_malloc_from_free_list (17 samples, 0.01%)dkn-compute`<libp2p_gossipsub::types::RawMessage as core::clone::Clone>::clone (55 samples, 0.04%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (13 samples, 0.01%)libsystem_malloc.dylib`szone_malloc_should_clear (14 samples, 0.01%)libsystem_malloc.dylib`tiny_malloc_should_clear (13 samples, 0.01%)dkn-compute`hashbrown::raw::RawTable<T,A>::reserve_rehash (41 samples, 0.03%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::insert (63 samples, 0.05%)libsystem_platform.dylib`_platform_memmove (17 samples, 0.01%)dkn-compute`libp2p_gossipsub::behaviour::Behaviour<D,F>::forward_msg (265 samples, 0.21%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::get_mut (49 samples, 0.04%)dkn-compute`libp2p_gossipsub::mcache::MessageCache::observe_duplicate (162 samples, 0.13%)libsystem_platform.dylib`_platform_memcmp (108 samples, 0.08%)dkn-compute`hashbrown::rustc_entry::_<impl hashbrown::map::HashMap<K,V,S,A>>::rustc_entry (27 samples, 0.02%)dkn-compute`libp2p_gossipsub::mcache::MessageCache::put (41 samples, 0.03%)dkn-compute`hashbrown::rustc_entry::_<impl hashbrown::map::HashMap<K,V,S,A>>::rustc_entry (64 samples, 0.05%)dkn-compute`std::sys::pal::unix::time::Timespec::now (20 samples, 0.02%)libsystem_c.dylib`clock_gettime (20 samples, 0.02%)libsystem_malloc.dylib`_nanov2_free (29 samples, 0.02%)libsystem_platform.dylib`_platform_memcmp (14 samples, 0.01%)dkn-compute`libp2p_gossipsub::time_cache::DuplicateCache<Key>::insert (145 samples, 0.11%)libsystem_malloc.dylib`_nanov2_free (32 samples, 0.03%)libsystem_malloc.dylib`tiny_free_list_add_ptr (20 samples, 0.02%)libsystem_malloc.dylib`free_tiny (121 samples, 0.09%)libsystem_malloc.dylib`tiny_free_no_lock (106 samples, 0.08%)libsystem_malloc.dylib`nanov2_malloc (20 samples, 0.02%)libsystem_platform.dylib`_platform_memcmp (28 samples, 0.02%)libsystem_platform.dylib`_platform_memmove (33 samples, 0.03%)dkn-compute`<libp2p_gossipsub::behaviour::Behaviour<C,F> as libp2p_swarm::behaviour::NetworkBehaviour>::on_connection_handler_event (1,333 samples, 1.04%)libsystem_platform.dylib`_platform_memset (13 samples, 0.01%)dkn-compute`libp2p_tcp::Transport<T>::create_socket (20 samples, 0.02%)libsystem_kernel.dylib`socket (14 samples, 0.01%)dkn-compute`<libp2p_core::transport::choice::OrTransport<A,B> as libp2p_core::transport::Transport>::dial (31 samples, 0.02%)dkn-compute`<libp2p_core::transport::map::Map<T,F> as libp2p_core::transport::Transport>::dial (31 samples, 0.02%)dkn-compute`<libp2p_tcp::Transport<T> as libp2p_core::transport::Transport>::dial (29 samples, 0.02%)dkn-compute`<libp2p_core::transport::choice::OrTransport<A,B> as libp2p_core::transport::Transport>::dial (35 samples, 0.03%)dkn-compute`<T as libp2p_core::transport::boxed::Abstract<O>>::dial (38 samples, 0.03%)dkn-compute`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (40 samples, 0.03%)dkn-compute`alloc::vec::in_place_collect::_<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter (42 samples, 0.03%)libsystem_kernel.dylib`__psynch_cvsignal (46 samples, 0.04%)dkn-compute`parking_lot::condvar::Condvar::notify_one_slow (57 samples, 0.04%)dkn-compute`tokio::runtime::driver::Handle::unpark (27 samples, 0.02%)libsystem_kernel.dylib`kevent (27 samples, 0.02%)dkn-compute`tokio::runtime::context::with_scheduler (97 samples, 0.08%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::_<impl tokio::runtime::task::Schedule for alloc::sync::Arc<tokio::runtime::scheduler::multi_thread::handle::Handle>>::schedule (102 samples, 0.08%)dkn-compute`futures_channel::mpsc::Sender<T>::try_send (112 samples, 0.09%)dkn-compute`tokio::runtime::task::waker::wake_by_val (108 samples, 0.08%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::wake (13 samples, 0.01%)dkn-compute`libp2p_swarm::connection::pool::Pool<THandler>::iter_established_connections_of_peer (22 samples, 0.02%)dkn-compute`<futures_channel::mpsc::Receiver<T> as futures_core::stream::Stream>::poll_next (14 samples, 0.01%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (13 samples, 0.01%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (27 samples, 0.02%)dkn-compute`futures_util::stream::futures_unordered::FuturesUnordered<Fut>::release_task (15 samples, 0.01%)libsystem_malloc.dylib`tiny_free_list_add_ptr (18 samples, 0.01%)libsystem_malloc.dylib`free_tiny (71 samples, 0.06%)libsystem_malloc.dylib`tiny_free_no_lock (49 samples, 0.04%)dkn-compute`futures_channel::mpsc::queue::Queue<T>::pop_spin (131 samples, 0.10%)libsystem_malloc.dylib`free (29 samples, 0.02%)dkn-compute`futures_channel::mpsc::Receiver<T>::next_message (234 samples, 0.18%)libsystem_platform.dylib`_platform_memmove (31 samples, 0.02%)dkn-compute`futures_util::stream::stream::StreamExt::poll_next_unpin (266 samples, 0.21%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (371 samples, 0.29%)dkn-compute`<futures_util::stream::select_all::SelectAll<St> as futures_core::stream::Stream>::poll_next (422 samples, 0.33%)libsystem_platform.dylib`_platform_memmove (26 samples, 0.02%)dkn-compute`tracing::span::Span::record_all (13 samples, 0.01%)dkn-compute`libp2p_swarm::connection::pool::Pool<THandler>::poll (526 samples, 0.41%)libsystem_malloc.dylib`free (16 samples, 0.01%)libsystem_malloc.dylib`nanov2_malloc (21 samples, 0.02%)dkn-compute`libp2p_swarm::Swarm<TBehaviour>::poll_next_event (3,899 samples, 3.05%)dkn..dkn-compute`tokio::signal::make_future::_{{closure}} (19 samples, 0.01%)dkn-compute`tokio::signal::RxFuture::poll_recv (23 samples, 0.02%)dkn-compute`tokio::signal::unix::Signal::recv::_{{closure}} (31 samples, 0.02%)dkn-compute`<tokio::future::poll_fn::PollFn<F> as core::future::future::Future>::poll (4,080 samples, 3.19%)dkn..dkn-compute`dkn_compute::main::_{{closure}} (4,145 samples, 3.24%)dkn..libsystem_kernel.dylib`__psynch_cvwait (1,083 samples, 0.85%)libsystem_kernel.dylib`__psynch_mutexwait (50 samples, 0.04%)libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_slow (53 samples, 0.04%)libsystem_pthread.dylib`_pthread_cond_wait (89 samples, 0.07%)dkn-compute`parking_lot::condvar::Condvar::wait_until_internal (1,224 samples, 0.96%)dkn-compute`tokio::runtime::park::Inner::park (1,268 samples, 0.99%)dkn-compute`tokio::runtime::park::CachedParkThread::block_on (5,436 samples, 4.25%)dkn-c..dyld`start (5,451 samples, 4.26%)dyld`..dkn-compute`main (5,451 samples, 4.26%)dkn-c..dkn-compute`std::rt::lang_start_internal (5,451 samples, 4.26%)dkn-c..dkn-compute`std::rt::lang_start::_{{closure}} (5,451 samples, 4.26%)dkn-c..dkn-compute`std::sys_common::backtrace::__rust_begin_short_backtrace (5,451 samples, 4.26%)dkn-c..dkn-compute`dkn_compute::main (5,451 samples, 4.26%)dkn-c..dkn-compute`tokio::runtime::runtime::Runtime::block_on (5,450 samples, 4.26%)dkn-c..dkn-compute`tokio::runtime::context::runtime::enter_runtime (5,450 samples, 4.26%)dkn-c..libdispatch.dylib`_dispatch_semaphore_wait_slow (28 samples, 0.02%)libsystem_kernel.dylib`semaphore_timedwait_trap (26 samples, 0.02%)dkn-compute`futures_timer::native::global::run (39 samples, 0.03%)dkn-compute`std::thread::park_timeout (30 samples, 0.02%)libsystem_kernel.dylib`mach_absolute_time (39 samples, 0.03%)libsystem_c.dylib`clock_gettime (55 samples, 0.04%)dkn-compute`std::sys::pal::unix::time::Timespec::now (57 samples, 0.04%)dkn-compute`tokio::runtime::scheduler::multi_thread::queue::Steal<T>::steal_into (29 samples, 0.02%)dkn-compute`parking_lot::condvar::Condvar::notify_one_slow (15 samples, 0.01%)libsystem_kernel.dylib`__psynch_cvsignal (13 samples, 0.01%)libsystem_kernel.dylib`__psynch_cvwait (883 samples, 0.69%)libsystem_kernel.dylib`__psynch_mutexwait (37 samples, 0.03%)libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_slow (39 samples, 0.03%)libsystem_pthread.dylib`_pthread_cond_wait (80 samples, 0.06%)dkn-compute`parking_lot::condvar::Condvar::wait_until_internal (990 samples, 0.77%)dkn-compute`tokio::runtime::io::scheduled_io::ScheduledIo::wake (26 samples, 0.02%)dkn-compute`tokio::runtime::task::waker::wake_by_val (14 samples, 0.01%)libsystem_kernel.dylib`kevent (1,027 samples, 0.80%)dkn-compute`tokio::runtime::io::driver::Driver::turn (1,084 samples, 0.85%)libsystem_kernel.dylib`mach_absolute_time (13 samples, 0.01%)dkn-compute`std::sys::pal::unix::time::Timespec::now (32 samples, 0.03%)libsystem_c.dylib`clock_gettime (32 samples, 0.03%)dkn-compute`tokio::runtime::time::wheel::Wheel::next_expiration (18 samples, 0.01%)dkn-compute`tokio::runtime::time::_<impl tokio::runtime::time::handle::Handle>::process_at_sharded_time (78 samples, 0.06%)dkn-compute`tokio::runtime::time::wheel::Wheel::poll (41 samples, 0.03%)dkn-compute`tokio::runtime::time::wheel::Wheel::next_expiration (33 samples, 0.03%)dkn-compute`tokio::runtime::time::_<impl tokio::runtime::time::handle::Handle>::process (131 samples, 0.10%)dkn-compute`tokio::runtime::time::wheel::Wheel::next_expiration (27 samples, 0.02%)dkn-compute`tokio::runtime::time::Driver::park_internal (1,280 samples, 1.00%)dkn-compute`tokio::runtime::scheduler::multi_thread::park::Parker::park (2,329 samples, 1.82%)d..dkn-compute`tokio::runtime::io::driver::Driver::turn (28 samples, 0.02%)libsystem_kernel.dylib`kevent (28 samples, 0.02%)dkn-compute`tokio::runtime::time::Driver::park_internal (39 samples, 0.03%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout (2,411 samples, 1.89%)d..libsystem_kernel.dylib`__psynch_cvsignal (211 samples, 0.17%)dkn-compute`parking_lot::condvar::Condvar::notify_one_slow (242 samples, 0.19%)dkn-compute`tokio::runtime::driver::Handle::unpark (60 samples, 0.05%)libsystem_kernel.dylib`kevent (59 samples, 0.05%)libsystem_kernel.dylib`__psynch_cvsignal (133 samples, 0.10%)dkn-compute`parking_lot::condvar::Condvar::notify_one_slow (153 samples, 0.12%)dkn-compute`tokio::runtime::driver::Handle::unpark (57 samples, 0.04%)libsystem_kernel.dylib`kevent (55 samples, 0.04%)dkn-compute`tokio::runtime::context::with_scheduler (236 samples, 0.18%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::_<impl tokio::runtime::task::Schedule for alloc::sync::Arc<tokio::runtime::scheduler::multi_thread::handle::Handle>>::yield_now (240 samples, 0.19%)dkn-compute`<libp2p_core::upgrade::apply::OutboundUpgradeApply<C,U> as core::future::future::Future>::poll (28 samples, 0.02%)dkn-compute`<libp2p_noise::Config as libp2p_core::upgrade::OutboundConnectionUpgrade<T>>::upgrade_outbound::_{{closure}} (28 samples, 0.02%)dkn-compute`<libp2p_tcp::Transport<T> as libp2p_core::transport::Transport>::dial::_{{closure}} (47 samples, 0.04%)libsystem_kernel.dylib`__connect (41 samples, 0.03%)dkn-compute`<libp2p_core::transport::map::MapFuture<T,F> as core::future::future::Future>::poll (86 samples, 0.07%)dkn-compute`<libp2p_core::transport::map::MapFuture<T,F> as core::future::future::Future>::poll (92 samples, 0.07%)dkn-compute`core::ptr::drop_in_place$LT$futures_util..future..try_future..into_future..IntoFuture$LT$libp2p_core..transport..timeout..Timeout$LT$libp2p_core..transport..map..MapFuture$LT$libp2p_core..either..EitherFuture$LT$libp2p_core..transport..map..MapFuture$LT$libp2p_core..transport..and_then..AndThenFuture$LT$libp2p_core..transport..and_then..AndThenFuture$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$core..future..future..Future$u2b$Output$u20$$u3d$$u20$core..result..Result$LT$libp2p_relay..priv_client..Connection$C$libp2p_relay..priv_client..transport..Error$GT$$u2b$core..marker..Send$GT$$GT$$C$libp2p_core..transport..upgrade..Builder$LT$libp2p_relay..priv_client..transport..Transport$GT$..authenticate$LT$libp2p_relay..priv_client..Connection$C$libp2p_noise..io..Output$LT$multistream_select..negotiated..Negotiated$LT$libp2p_relay..priv_client..Connection$GT$$GT$$C$libp2p_noise..Config$C$libp2p_noise..Error$GT$..$u7b$$u7b$closure$u7d$$u7d$$C$libp2p_core..transport..upgrade..Authenticate$LT$libp2p_relay..priv_c� (15 samples, 0.01%)dkn-compute`<tracing::instrument::Instrumented<T> as core::future::future::Future>::poll (112 samples, 0.09%)dkn-compute`<futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll (112 samples, 0.09%)dkn-compute`<futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll (112 samples, 0.09%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (115 samples, 0.09%)dkn-compute`<libp2p_swarm::connection::pool::concurrent_dial::ConcurrentDial as core::future::future::Future>::poll (116 samples, 0.09%)dkn-compute`<multistream_select::dialer_select::DialerSelectFuture<R,I> as core::future::future::Future>::poll (18 samples, 0.01%)dkn-compute`<libp2p_swarm::connection::StreamUpgrade<UserData,TOk,TErr> as core::future::future::Future>::poll (24 samples, 0.02%)dkn-compute`libp2p_swarm::connection::StreamUpgrade<UserData,TOk,TErr>::new_outbound::_{{closure}} (22 samples, 0.02%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (98 samples, 0.08%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (42 samples, 0.03%)dkn-compute`futures_channel::mpsc::Receiver<T>::next_message (18 samples, 0.01%)dkn-compute`<futures_channel::mpsc::Receiver<T> as futures_core::stream::Stream>::poll_next (20 samples, 0.02%)dkn-compute`<futures_util::stream::stream::into_future::StreamFuture<St> as core::future::future::Future>::poll (28 samples, 0.02%)dkn-compute`<futures_util::stream::select_all::SelectAll<St> as futures_core::stream::Stream>::poll_next (61 samples, 0.05%)dkn-compute`tokio::net::tcp::stream::TcpStream::poll_write_priv (13 samples, 0.01%)dkn-compute`<asynchronous_codec::framed::Framed<T,U> as futures_sink::Sink<<U as asynchronous_codec::encoder::Encoder>::Item>>::poll_ready (17 samples, 0.01%)dkn-compute`<&mio::net::tcp::stream::TcpStream as std::io::Write>::write (447 samples, 0.35%)libsystem_kernel.dylib`__sendto (445 samples, 0.35%)dkn-compute`tokio::net::tcp::stream::TcpStream::poll_write_priv (462 samples, 0.36%)dkn-compute`<asynchronous_codec::framed_write::FramedWrite2<T> as futures_sink::Sink<<T as asynchronous_codec::encoder::Encoder>::Item>>::poll_flush (472 samples, 0.37%)dkn-compute`<snow::resolvers::ring::CipherChaChaPoly as snow::types::Cipher>::encrypt (109 samples, 0.09%)dkn-compute`ring::aead::chacha20_poly1305::chacha20_poly1305_seal (109 samples, 0.09%)dkn-compute`ring_core_0_17_8_chacha20_poly1305_seal (109 samples, 0.09%)dkn-compute`snow::transportstate::TransportState::write_message (113 samples, 0.09%)dkn-compute`<libp2p_noise::io::framed::Codec<snow::transportstate::TransportState> as asynchronous_codec::encoder::Encoder>::encode (125 samples, 0.10%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncWrite>::poll_flush (618 samples, 0.48%)libsystem_malloc.dylib`tiny_malloc_should_clear (39 samples, 0.03%)libsystem_malloc.dylib`tiny_malloc_from_free_list (26 samples, 0.02%)libsystem_malloc.dylib`szone_malloc_should_clear (55 samples, 0.04%)dkn-compute`bytes::bytes_mut::BytesMut::zeroed (60 samples, 0.05%)dkn-compute`libp2p_noise::io::framed::decode_length_prefixed (38 samples, 0.03%)dkn-compute`ring::aead::chacha20_poly1305::chacha20_poly1305_open (590 samples, 0.46%)dkn-compute`ring_core_0_17_8_chacha20_poly1305_open (588 samples, 0.46%)dkn-compute`ring::aead::less_safe_key::open_within_ (598 samples, 0.47%)dkn-compute`<snow::resolvers::ring::CipherChaChaPoly as snow::types::Cipher>::decrypt (612 samples, 0.48%)dkn-compute`snow::transportstate::TransportState::read_message (628 samples, 0.49%)libsystem_platform.dylib`_platform_memmove (13 samples, 0.01%)dkn-compute`<libp2p_noise::io::framed::Codec<snow::transportstate::TransportState> as asynchronous_codec::decoder::Decoder>::decode (791 samples, 0.62%)dkn-compute`<&mio::net::tcp::stream::TcpStream as std::io::Read>::read (1,278 samples, 1.00%)libsystem_kernel.dylib`__recvfrom (1,272 samples, 0.99%)dkn-compute`tokio::runtime::io::registration::Registration::poll_ready (25 samples, 0.02%)dkn-compute`tokio::net::tcp::stream::TcpStream::poll_read_priv (1,315 samples, 1.03%)dkn-compute`<libp2p_tcp::provider::tokio::TcpStream as futures_io::if_std::AsyncRead>::poll_read (1,322 samples, 1.03%)dkn-compute`<multistream_select::negotiated::Negotiated<TInner> as futures_io::if_std::AsyncRead>::poll_read (1,353 samples, 1.06%)dkn-compute`<asynchronous_codec::framed_read::FramedRead2<T> as futures_core::stream::Stream>::poll_next (2,175 samples, 1.70%)libsystem_malloc.dylib`free_tiny (19 samples, 0.01%)dkn-compute`bytes::bytes_mut::shared_v_drop (35 samples, 0.03%)libsystem_platform.dylib`_platform_memmove (36 samples, 0.03%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncRead>::poll_read (2,464 samples, 1.93%)d..libsystem_platform.dylib`_platform_memset (173 samples, 0.14%)dkn-compute`<multistream_select::negotiated::Negotiated<TInner> as futures_io::if_std::AsyncRead>::poll_read (2,498 samples, 1.95%)d..libsystem_platform.dylib`_platform_memmove (14 samples, 0.01%)libsystem_malloc.dylib`tiny_malloc_should_clear (22 samples, 0.02%)libsystem_malloc.dylib`tiny_malloc_from_free_list (15 samples, 0.01%)libsystem_malloc.dylib`szone_malloc_should_clear (30 samples, 0.02%)dkn-compute`<yamux::frame::io::Io<T> as futures_core::stream::Stream>::poll_next (2,568 samples, 2.01%)d..dkn-compute`tokio::net::tcp::stream::TcpStream::poll_write_priv (19 samples, 0.01%)dkn-compute`<asynchronous_codec::framed::Framed<T,U> as futures_sink::Sink<<U as asynchronous_codec::encoder::Encoder>::Item>>::poll_ready (20 samples, 0.02%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncWrite>::poll_write (23 samples, 0.02%)dkn-compute`<yamux::frame::io::Io<T> as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_flush (33 samples, 0.03%)dkn-compute`<yamux::frame::io::Io<T> as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_ready (30 samples, 0.02%)dkn-compute`<&mio::net::tcp::stream::TcpStream as std::io::Write>::write (100 samples, 0.08%)libsystem_kernel.dylib`__sendto (99 samples, 0.08%)dkn-compute`tokio::runtime::io::registration::Registration::poll_ready (16 samples, 0.01%)dkn-compute`tokio::net::tcp::stream::TcpStream::poll_write_priv (122 samples, 0.10%)dkn-compute`<asynchronous_codec::framed::Framed<T,U> as futures_sink::Sink<<U as asynchronous_codec::encoder::Encoder>::Item>>::poll_ready (128 samples, 0.10%)dkn-compute`<snow::resolvers::ring::CipherChaChaPoly as snow::types::Cipher>::encrypt (105 samples, 0.08%)dkn-compute`ring::aead::chacha20_poly1305::chacha20_poly1305_seal (105 samples, 0.08%)dkn-compute`ring_core_0_17_8_chacha20_poly1305_seal (105 samples, 0.08%)dkn-compute`snow::transportstate::TransportState::write_message (109 samples, 0.09%)dkn-compute`<libp2p_noise::io::framed::Codec<snow::transportstate::TransportState> as asynchronous_codec::encoder::Encoder>::encode (112 samples, 0.09%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncWrite>::poll_write (251 samples, 0.20%)libsystem_malloc.dylib`free_tiny (13 samples, 0.01%)dkn-compute`<yamux::frame::io::Io<T> as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_ready (317 samples, 0.25%)libsystem_kernel.dylib`mach_absolute_time (22 samples, 0.02%)dkn-compute`std::sys::pal::unix::time::Timespec::now (36 samples, 0.03%)libsystem_c.dylib`clock_gettime (36 samples, 0.03%)dkn-compute`yamux::connection::rtt::Rtt::next_ping (51 samples, 0.04%)dkn-compute`yamux::connection::Connection<T>::poll_next_inbound (3,741 samples, 2.93%)dk..dkn-compute`<libp2p_yamux::Muxer<C> as libp2p_core::muxing::StreamMuxer>::poll (3,859 samples, 3.02%)dkn..libsystem_platform.dylib`_platform_memmove (38 samples, 0.03%)dkn-compute`<libp2p_core::muxing::boxed::Wrap<T> as libp2p_core::muxing::StreamMuxer>::poll (3,873 samples, 3.03%)dkn..dkn-compute`tokio::runtime::io::registration::Registration::poll_ready (17 samples, 0.01%)dkn-compute`tokio::net::tcp::stream::TcpStream::poll_read_priv (22 samples, 0.02%)dkn-compute`<libp2p_tcp::provider::tokio::TcpStream as futures_io::if_std::AsyncRead>::poll_read (23 samples, 0.02%)dkn-compute`<multistream_select::negotiated::Negotiated<TInner> as futures_io::if_std::AsyncRead>::poll_read (31 samples, 0.02%)dkn-compute`<asynchronous_codec::framed_read::FramedRead2<T> as futures_core::stream::Stream>::poll_next (41 samples, 0.03%)dkn-compute`<yamux::frame::io::Io<T> as futures_core::stream::Stream>::poll_next (158 samples, 0.12%)dkn-compute`<multistream_select::negotiated::Negotiated<TInner> as futures_io::if_std::AsyncRead>::poll_read (155 samples, 0.12%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncRead>::poll_read (153 samples, 0.12%)libsystem_platform.dylib`_platform_memset (104 samples, 0.08%)dkn-compute`<yamux::frame::io::Io<T> as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_flush (14 samples, 0.01%)dkn-compute`<yamux::frame::io::Io<T> as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_ready (14 samples, 0.01%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncWrite>::poll_write (13 samples, 0.01%)dkn-compute`<asynchronous_codec::framed::Framed<T,U> as futures_sink::Sink<<U as asynchronous_codec::encoder::Encoder>::Item>>::poll_ready (13 samples, 0.01%)dkn-compute`<libp2p_noise::io::Output<T> as futures_io::if_std::AsyncWrite>::poll_write (18 samples, 0.01%)dkn-compute`<yamux::frame::io::Io<T> as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_ready (27 samples, 0.02%)dkn-compute`yamux::connection::Connection<T>::poll_next_inbound (237 samples, 0.19%)dkn-compute`<libp2p_yamux::Muxer<C> as libp2p_core::muxing::StreamMuxer>::poll_inbound (317 samples, 0.25%)libsystem_platform.dylib`_platform_memmove (43 samples, 0.03%)dkn-compute`<libp2p_core::muxing::boxed::Wrap<T> as libp2p_core::muxing::StreamMuxer>::poll_inbound (323 samples, 0.25%)dkn-compute`quick_protobuf::writer::Writer<W>::write_with_tag (16 samples, 0.01%)dkn-compute`<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::Message as quick_protobuf::message::MessageWrite>::write_message (57 samples, 0.04%)libsystem_platform.dylib`_platform_memmove (23 samples, 0.02%)dkn-compute`<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::Message as quick_protobuf::message::MessageRead>::from_reader (84 samples, 0.07%)libsystem_malloc.dylib`szone_malloc_should_clear (26 samples, 0.02%)libsystem_malloc.dylib`tiny_malloc_should_clear (26 samples, 0.02%)libsystem_malloc.dylib`tiny_malloc_from_free_list (17 samples, 0.01%)libsystem_malloc.dylib`szone_malloc_should_clear (30 samples, 0.02%)libsystem_malloc.dylib`tiny_malloc_should_clear (30 samples, 0.02%)libsystem_malloc.dylib`tiny_malloc_from_free_list (22 samples, 0.02%)dkn-compute`alloc::raw_vec::finish_grow (32 samples, 0.03%)dkn-compute`alloc::raw_vec::RawVec<T,A>::grow_one (41 samples, 0.03%)libsystem_malloc.dylib`nanov2_malloc (22 samples, 0.02%)dkn-compute`<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::RPC as quick_protobuf::message::MessageRead>::from_reader (210 samples, 0.16%)libsystem_platform.dylib`_platform_memmove (14 samples, 0.01%)dkn-compute`<quick_protobuf_codec::Codec<In,Out> as asynchronous_codec::decoder::Decoder>::decode (256 samples, 0.20%)libsystem_malloc.dylib`nanov2_realloc (26 samples, 0.02%)libsystem_malloc.dylib`szone_malloc_should_clear (22 samples, 0.02%)libsystem_malloc.dylib`tiny_malloc_should_clear (20 samples, 0.02%)libsystem_malloc.dylib`tiny_malloc_from_free_list (13 samples, 0.01%)libsystem_malloc.dylib`malloc_zone_realloc (31 samples, 0.02%)dkn-compute`alloc::raw_vec::finish_grow (39 samples, 0.03%)libsystem_malloc.dylib`realloc (33 samples, 0.03%)dkn-compute`alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (42 samples, 0.03%)libsystem_malloc.dylib`_nanov2_free (15 samples, 0.01%)libsystem_malloc.dylib`free_tiny (19 samples, 0.01%)dkn-compute`core::ptr::drop_in_place<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::Message> (49 samples, 0.04%)dkn-compute`libsecp256k1_core::field::Field::eq_var (17 samples, 0.01%)dkn-compute`libsecp256k1_core::field::Field::mul_in_place (61 samples, 0.05%)dkn-compute`libsecp256k1_core::field::Field::sqr_in_place (51 samples, 0.04%)dkn-compute`libsecp256k1_core::field::Field::mul_in_place (353 samples, 0.28%)dkn-compute`libsecp256k1_core::field::Field::sqr_in_place (5,064 samples, 3.96%)dkn-..dkn-compute`libsecp256k1::PublicKey::parse_slice (5,824 samples, 4.56%)dkn-c..dkn-compute`libsecp256k1_core::group::Affine::set_xo_var (5,677 samples, 4.44%)dkn-c..dkn-compute`libsecp256k1_core::field::Field::sqrt (246 samples, 0.19%)dkn-compute`libp2p_identity::secp256k1::PublicKey::try_from_bytes (5,833 samples, 4.56%)dkn-c..dkn-compute`<libp2p_identity::keypair::PublicKey as core::convert::TryFrom<libp2p_identity::proto::keys_proto::PublicKey>>::try_from (5,857 samples, 4.58%)dkn-c..dkn-compute`libp2p_identity::keypair::PublicKey::try_decode_protobuf (5,877 samples, 4.60%)dkn-c..dkn-compute`<D as digest::digest::Digest>::digest (18 samples, 0.01%)dkn-compute`libsecp256k1::Message::parse_slice (53 samples, 0.04%)dkn-compute`libsecp256k1_core::scalar::Scalar::set_b32 (46 samples, 0.04%)dkn-compute`subtle::black_box (32 samples, 0.03%)dkn-compute`libsecp256k1_core::scalar::Scalar::check_overflow (21 samples, 0.02%)dkn-compute`libsecp256k1_core::scalar::Scalar::set_b32 (63 samples, 0.05%)dkn-compute`subtle::black_box (34 samples, 0.03%)dkn-compute`libsecp256k1_core::der::Decoder::read_integer (87 samples, 0.07%)dkn-compute`libsecp256k1::Signature::parse_der (101 samples, 0.08%)dkn-compute`<libsecp256k1_core::group::Affine as core::convert::From<libsecp256k1_core::group::AffineStorage>>::from (49 samples, 0.04%)dkn-compute`core::array::_<impl core::default::Default for [T (74 samples, 0.06%) _]>::default (74 samples, 0.06%)dkn-compute`libsecp256k1_core::ecmult::ecmult_wnaf (506 samples, 0.40%)dkn-compute`libsecp256k1_core::field::Field::mul_in_place (1,614 samples, 1.26%)dkn-compute`libsecp256k1_core::field::Field::sqr_in_place (417 samples, 0.33%)dkn-compute`libsecp256k1_core::group::Jacobian::add_ge_var_in_place (164 samples, 0.13%)dkn-compute`libsecp256k1_core::ecmult::odd_multiples_table (2,256 samples, 1.76%)dkn-compute`libsecp256k1_core::group::Jacobian::double_var_in_place (13 samples, 0.01%)dkn-compute`libsecp256k1_core::field::Field::mul_in_place (36,647 samples, 28.67%)dkn-compute`libsecp256k1_core::field::Field::m..dkn-compute`libsecp256k1_core::field::Field::sqr_in_place (21,652 samples, 16.94%)dkn-compute`libsecp256k1_c..dkn-compute`libsecp256k1_core::group::Jacobian::add_ge_var_in_place (945 samples, 0.74%)dkn-compute`libsecp256k1_core::group::Jacobian::add_zinv_var_in_place (403 samples, 0.32%)dkn-compute`libsecp256k1_core::group::Jacobian::double_var_in_place (2,074 samples, 1.62%)dkn-compute`libsecp256k1_core::group::globalz_set_table_gej (34 samples, 0.03%)dkn-compute`libsecp256k1_core::ecmult::ECMultContext::ecmult (66,789 samples, 52.24%)dkn-compute`libsecp256k1_core::ecmult::ECMultContext::ecmultlibsystem_platform.dylib`_platform_memset (25 samples, 0.02%)dkn-compute`libsecp256k1_core::field::Field::mul_in_place (53 samples, 0.04%)dkn-compute`libsecp256k1_core::field::Field::sqr_in_place (13 samples, 0.01%)dkn-compute`libsecp256k1_core::group::Jacobian::add_ge_var_in_place (48 samples, 0.04%)dkn-compute`libsecp256k1_core::group::Jacobian::add_zinv_var_in_place (187 samples, 0.15%)dkn-compute`libsecp256k1_core::group::Jacobian::double_var_in_place (572 samples, 0.45%)dkn-compute`libsecp256k1_core::scalar::Scalar::check_overflow (327 samples, 0.26%)dkn-compute`libsecp256k1_core::scalar::Scalar::reduce_512 (1,853 samples, 1.45%)dkn-compute`subtle::black_box (541 samples, 0.42%)dkn-compute`libsecp256k1_core::scalar::Scalar::mul_in_place (4,016 samples, 3.14%)dkn..dkn-compute`subtle::black_box (84 samples, 0.07%)dkn-compute`libsecp256k1_core::scalar::Scalar::reduce_512 (774 samples, 0.61%)dkn-compute`libsecp256k1_core::scalar::Scalar::check_overflow (92 samples, 0.07%)dkn-compute`libsecp256k1_core::scalar::Scalar::check_overflow (2,233 samples, 1.75%)dkn-compute`libsecp256k1_core::scalar::Scalar::reduce_512 (12,673 samples, 9.91%)dkn-compute`li..dkn-compute`subtle::black_box (3,707 samples, 2.90%)dk..dkn-compute`libsecp256k1_core::scalar::Scalar::inv_in_place (32,442 samples, 25.38%)dkn-compute`libsecp256k1_core::scalar::Sc..dkn-compute`libsecp256k1_core::scalar::Scalar::sqr_in_place (27,274 samples, 21.33%)dkn-compute`libsecp256k1_core::sca..dkn-compute`subtle::black_box (738 samples, 0.58%)dkn-compute`libsecp256k1_core::scalar::Scalar::check_overflow (26 samples, 0.02%)dkn-compute`libsecp256k1_core::scalar::Scalar::reduce_512 (108 samples, 0.08%)dkn-compute`subtle::black_box (36 samples, 0.03%)dkn-compute`libsecp256k1_core::scalar::Scalar::mul_in_place (326 samples, 0.25%)dkn-compute`libsecp256k1_core::scalar::Scalar::sqr_in_place (646 samples, 0.51%)dkn-compute`libsecp256k1_core::ecdsa::_<impl libsecp256k1_core::ecmult::ECMultContext>::verify_raw (101,258 samples, 79.20%)dkn-compute`libsecp256k1_core::ecdsa::_<impl libsecp256k1_core::ecmult::ECMultContext>::verify_rawlibsystem_platform.dylib`_platform_memset (20 samples, 0.02%)dkn-compute`sha2::sha256::compress256 (1,338 samples, 1.05%)dkn-compute`libp2p_identity::keypair::PublicKey::verify (102,815 samples, 80.42%)dkn-compute`libp2p_identity::keypair::PublicKey::verifydkn-compute`multihash::multihash::Multihash<_>::from_bytes (30 samples, 0.02%)dkn-compute`libp2p_identity::peer_id::PeerId::from_bytes (51 samples, 0.04%)dkn-compute`libsecp256k1_core::field::Field::normalize_var (25 samples, 0.02%)dkn-compute`libp2p_identity::keypair::PublicKey::encode_protobuf (60 samples, 0.05%)dkn-compute`libp2p_identity::peer_id::PeerId::from_public_key (76 samples, 0.06%)libsystem_malloc.dylib`nanov2_realloc (15 samples, 0.01%)dkn-compute`alloc::raw_vec::finish_grow (34 samples, 0.03%)libsystem_malloc.dylib`realloc (29 samples, 0.02%)libsystem_malloc.dylib`malloc_zone_realloc (24 samples, 0.02%)dkn-compute`multihash::multihash::Multihash<_>::to_bytes (44 samples, 0.03%)dkn-compute`alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (39 samples, 0.03%)libsystem_malloc.dylib`_nanov2_free (51 samples, 0.04%)libsystem_malloc.dylib`free (16 samples, 0.01%)libsystem_malloc.dylib`free_tiny (83 samples, 0.06%)libsystem_malloc.dylib`tiny_free_no_lock (52 samples, 0.04%)libsystem_malloc.dylib`nanov2_malloc (13 samples, 0.01%)libsystem_malloc.dylib`set_tiny_meta_header_in_use (14 samples, 0.01%)libsystem_malloc.dylib`tiny_malloc_from_free_list (55 samples, 0.04%)libsystem_malloc.dylib`tiny_free_list_add_ptr (18 samples, 0.01%)libsystem_malloc.dylib`szone_malloc_should_clear (88 samples, 0.07%)libsystem_malloc.dylib`tiny_malloc_should_clear (85 samples, 0.07%)dkn-compute`<libp2p_gossipsub::protocol::GossipsubCodec as asynchronous_codec::decoder::Decoder>::decode (109,689 samples, 85.80%)dkn-compute`<libp2p_gossipsub::protocol::GossipsubCodec as asynchronous_codec::decoder::Decoder>::decodelibsystem_platform.dylib`_platform_memset (23 samples, 0.02%)dkn-compute`futures_channel::mpsc::BoundedSenderInner<T>::poll_unparked (28 samples, 0.02%)dkn-compute`yamux::connection::stream::Stream::send_window_update (17 samples, 0.01%)libsystem_malloc.dylib`free_tiny (39 samples, 0.03%)libsystem_malloc.dylib`tiny_free_no_lock (27 samples, 0.02%)dkn-compute`<yamux::connection::stream::Stream as futures_io::if_std::AsyncRead>::poll_read (121 samples, 0.09%)dkn-compute`<libp2p_swarm::stream::Stream as futures_io::if_std::AsyncRead>::poll_read (148 samples, 0.12%)libsystem_malloc.dylib`free (21 samples, 0.02%)libsystem_malloc.dylib`nanov2_malloc (31 samples, 0.02%)dkn-compute`<asynchronous_codec::framed_read::FramedRead2<T> as futures_core::stream::Stream>::poll_next (110,018 samples, 86.06%)dkn-compute`<asynchronous_codec::framed_read::FramedRead2<T> as futures_core::stream::Stream>::poll_nextlibsystem_platform.dylib`_platform_memmove (40 samples, 0.03%)dkn-compute`futures_channel::mpsc::BoundedSenderInner<T>::poll_unparked (19 samples, 0.01%)dkn-compute`<yamux::connection::stream::Stream as futures_io::if_std::AsyncWrite>::poll_flush (28 samples, 0.02%)dkn-compute`<yamux::connection::stream::Stream as futures_io::if_std::AsyncWrite>::poll_write (53 samples, 0.04%)libsystem_malloc.dylib`szone_malloc_should_clear (24 samples, 0.02%)libsystem_malloc.dylib`tiny_malloc_should_clear (22 samples, 0.02%)libsystem_malloc.dylib`tiny_malloc_from_free_list (13 samples, 0.01%)dkn-compute`<asynchronous_codec::framed_write::FramedWrite2<T> as futures_sink::Sink<<T as asynchronous_codec::encoder::Encoder>::Item>>::poll_flush (102 samples, 0.08%)dkn-compute`<quick_protobuf_codec::BytesMutWriterBackend as quick_protobuf::writer::WriterBackend>::pb_write_all (26 samples, 0.02%)libsystem_platform.dylib`_platform_memmove (20 samples, 0.02%)dkn-compute`<bytes::bytes_mut::BytesMut as bytes::buf::buf_mut::BufMut>::put_slice (16 samples, 0.01%)dkn-compute`<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::Message as quick_protobuf::message::MessageWrite>::write_message (97 samples, 0.08%)dkn-compute`quick_protobuf::writer::Writer<W>::write_with_tag (57 samples, 0.04%)dkn-compute`<quick_protobuf_codec::BytesMutWriterBackend as quick_protobuf::writer::WriterBackend>::pb_write_u8 (34 samples, 0.03%)dkn-compute`<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::RPC as quick_protobuf::message::MessageWrite>::write_message (129 samples, 0.10%)dkn-compute`quick_protobuf::writer::Writer<W>::write_with_tag (20 samples, 0.02%)libsystem_malloc.dylib`_nanov2_free (18 samples, 0.01%)libsystem_malloc.dylib`free_tiny (29 samples, 0.02%)libsystem_malloc.dylib`tiny_free_no_lock (20 samples, 0.02%)dkn-compute`core::ptr::drop_in_place<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::Message> (56 samples, 0.04%)dkn-compute`core::ptr::drop_in_place<libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::RPC> (73 samples, 0.06%)dkn-compute`<quick_protobuf_codec::Codec<In,Out> as asynchronous_codec::encoder::Encoder>::encode (228 samples, 0.18%)libsystem_c.dylib`clock_gettime (51 samples, 0.04%)libsystem_kernel.dylib`mach_absolute_time (39 samples, 0.03%)dkn-compute`std::sys::pal::unix::time::Timespec::now (53 samples, 0.04%)libsystem_platform.dylib`_platform_memmove (43 samples, 0.03%)dkn-compute`libp2p_gossipsub::handler::EnabledHandler::poll (110,763 samples, 86.64%)dkn-compute`libp2p_gossipsub::handler::EnabledHandler::polllibsystem_platform.dylib`_platform_memset (198 samples, 0.15%)dkn-compute`tracing::span::Span::log (20 samples, 0.02%)dkn-compute`<libp2p_gossipsub::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::poll (110,856 samples, 86.71%)dkn-compute`<libp2p_gossipsub::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::polllibsystem_platform.dylib`_platform_memmove (20 samples, 0.02%)dkn-compute`futures_bounded::futures_map::FuturesMap<ID,O>::poll_unpin (16 samples, 0.01%)dkn-compute`tracing::span::Span::record_all (16 samples, 0.01%)dkn-compute`<libp2p_identify::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::poll (91 samples, 0.07%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (23 samples, 0.02%)dkn-compute`<futures_util::stream::select_all::SelectAll<St> as futures_core::stream::Stream>::poll_next (31 samples, 0.02%)dkn-compute`futures_bounded::futures_tuple_set::FuturesTupleSet<O,D>::poll_unpin (36 samples, 0.03%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (33 samples, 0.03%)dkn-compute`tracing::span::Span::record_all (18 samples, 0.01%)dkn-compute`<libp2p_kad::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::poll (140 samples, 0.11%)dkn-compute`<futures_channel::mpsc::Receiver<T> as futures_core::stream::Stream>::poll_next (17 samples, 0.01%)dkn-compute`<libp2p_request_response::handler::Handler<TCodec> as libp2p_swarm::handler::ConnectionHandler>::poll (89 samples, 0.07%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (35 samples, 0.03%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (18 samples, 0.01%)dkn-compute`futures_bounded::futures_set::FuturesSet<O>::poll_unpin (44 samples, 0.03%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (32 samples, 0.03%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (24 samples, 0.02%)dkn-compute`futures_core::task::__internal::atomic_waker::AtomicWaker::register (36 samples, 0.03%)dkn-compute`<futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next (81 samples, 0.06%)dkn-compute`futures_bounded::futures_tuple_set::FuturesTupleSet<O,D>::poll_unpin (97 samples, 0.08%)dkn-compute`tokio::runtime::task::waker::drop_waker (33 samples, 0.03%)dkn-compute`tracing::span::Span::log (18 samples, 0.01%)dkn-compute`tracing::span::Span::record_all (18 samples, 0.01%)dkn-compute`<libp2p_relay::priv_client::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::poll (326 samples, 0.25%)dkn-compute`libp2p_swarm::handler::either::_<impl libp2p_swarm::handler::ConnectionHandler for either::Either<L,R>>::poll (365 samples, 0.29%)dkn-compute`<libp2p_swarm::handler::select::ConnectionHandlerSelect<TProto1,TProto2> as libp2p_swarm::handler::ConnectionHandler>::poll (111,623 samples, 87.31%)dkn-compute`<libp2p_swarm::handler::select::ConnectionHandlerSelect<TProto1,TProto2> as libp2p_swarm::handler::ConnectionHandler>::polldkn-compute`<T as libp2p_swarm::upgrade::UpgradeInfoSend>::protocol_info (24 samples, 0.02%)dkn-compute`<T as libp2p_swarm::upgrade::UpgradeInfoSend>::protocol_info (48 samples, 0.04%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (42 samples, 0.03%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::insert (99 samples, 0.08%)libsystem_malloc.dylib`_nanov2_free (18 samples, 0.01%)dkn-compute`libp2p_swarm::stream_protocol::StreamProtocol::try_from_owned (36 samples, 0.03%)libsystem_malloc.dylib`_malloc_zone_malloc (18 samples, 0.01%)libsystem_malloc.dylib`free (14 samples, 0.01%)libsystem_malloc.dylib`nanov2_malloc (29 samples, 0.02%)dkn-compute`core::iter::adapters::filter_map::filter_map_fold::_{{closure}} (259 samples, 0.20%)libsystem_platform.dylib`_platform_memmove (18 samples, 0.01%)libsystem_malloc.dylib`nanov2_malloc (26 samples, 0.02%)dkn-compute`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (362 samples, 0.28%)libsystem_platform.dylib`_platform_memmove (14 samples, 0.01%)dkn-compute`<core::iter::adapters::chain::Chain<A,B> as core::iter::traits::iterator::Iterator>::fold (384 samples, 0.30%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (15 samples, 0.01%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (37 samples, 0.03%)dkn-compute`core::hash::BuildHasher::hash_one (14 samples, 0.01%)dkn-compute`hashbrown::raw::RawTable<T,A>::reserve_rehash (89 samples, 0.07%)libsystem_malloc.dylib`nanov2_malloc (18 samples, 0.01%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::insert (159 samples, 0.12%)dkn-compute`libp2p_swarm::stream_protocol::StreamProtocol::try_from_owned (13 samples, 0.01%)dkn-compute`core::iter::adapters::filter_map::filter_map_fold::_{{closure}} (185 samples, 0.14%)dkn-compute`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (215 samples, 0.17%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (27 samples, 0.02%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::insert (56 samples, 0.04%)libsystem_malloc.dylib`_nanov2_free (15 samples, 0.01%)dkn-compute`libp2p_swarm::stream_protocol::StreamProtocol::try_from_owned (22 samples, 0.02%)dkn-compute`core::iter::adapters::filter_map::filter_map_fold::_{{closure}} (123 samples, 0.10%)dkn-compute`<core::iter::adapters::chain::Chain<A,B> as core::iter::traits::iterator::Iterator>::fold (786 samples, 0.61%)dkn-compute`<core::iter::adapters::chain::Chain<A,B> as core::iter::traits::iterator::Iterator>::fold (800 samples, 0.63%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::insert (16 samples, 0.01%)dkn-compute`core::iter::adapters::filter_map::filter_map_fold::_{{closure}} (44 samples, 0.03%)dkn-compute`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (66 samples, 0.05%)dkn-compute`<core::iter::adapters::chain::Chain<A,B> as core::iter::traits::iterator::Iterator>::fold (878 samples, 0.69%)dkn-compute`<core::iter::adapters::chain::Chain<A,B> as core::iter::traits::iterator::Iterator>::fold (881 samples, 0.69%)dkn-compute`<hashbrown::map::HashMap<K,V,S,A> as core::iter::traits::collect::Extend<(K,V)>>::extend (888 samples, 0.69%)dkn-compute`<libp2p_swarm::handler::select::ConnectionHandlerSelect<TProto1,TProto2> as libp2p_swarm::handler::ConnectionHandler>::listen_protocol (105 samples, 0.08%)libsystem_malloc.dylib`nanov2_malloc (18 samples, 0.01%)dkn-compute`core::ptr::drop_in_place$LT$libp2p_core..upgrade..select..SelectUpgrade$LT$libp2p_swarm..upgrade..SendWrapper$LT$libp2p_core..upgrade..select..SelectUpgrade$LT$libp2p_swarm..upgrade..SendWrapper$LT$libp2p_core..upgrade..select..SelectUpgrade$LT$libp2p_swarm..upgrade..SendWrapper$LT$libp2p_core..upgrade..select..SelectUpgrade$LT$libp2p_swarm..upgrade..SendWrapper$LT$libp2p_core..upgrade..select..SelectUpgrade$LT$libp2p_swarm..upgrade..SendWrapper$LT$either..Either$LT$libp2p_swarm..upgrade..SendWrapper$LT$libp2p_core..upgrade..ready..ReadyUpgrade$LT$libp2p_swarm..stream_protocol..StreamProtocol$GT$$GT$$C$libp2p_swarm..upgrade..SendWrapper$LT$libp2p_core..upgrade..denied..DeniedUpgrade$GT$$GT$$GT$$C$libp2p_swarm..upgrade..SendWrapper$LT$either..Either$LT$libp2p_gossipsub..protocol..ProtocolConfig$C$libp2p_core..upgrade..denied..DeniedUpgrade$GT$$GT$$GT$$GT$$C$libp2p_swarm..upgrade..SendWrapper$LT$either..Either$LT$libp2p_kad..protocol..ProtocolConfig$C$libp2p_core..upgrade..denied..DeniedUpgrade$GT$$GT$$GT$$GT$$� (29 samples, 0.02%)dkn-compute`libp2p_swarm::connection::gather_supported_protocols (1,111 samples, 0.87%)dkn-compute`<core::hash::sip::Hasher<S> as core::hash::Hasher>::write (102 samples, 0.08%)dkn-compute`hashbrown::map::HashMap<K,V,S,A>::contains_key (160 samples, 0.13%)dkn-compute`core::hash::BuildHasher::hash_one (22 samples, 0.02%)dkn-compute`libp2p_swarm::handler::ProtocolsChange::from_full_sets (241 samples, 0.19%)libsystem_platform.dylib`_platform_memcmp (65 samples, 0.05%)dkn-compute`tracing::span::Span::log (16 samples, 0.01%)dkn-compute`tracing::span::Span::record_all (14 samples, 0.01%)libsystem_malloc.dylib`_nanov2_free (51 samples, 0.04%)dkn-compute`futures_util::future::future::FutureExt::poll_unpin (117,518 samples, 91.92%)dkn-compute`futures_util::future::future::FutureExt::poll_unpinlibsystem_platform.dylib`_platform_memset (36 samples, 0.03%)libsystem_malloc.dylib`_nanov2_free (15 samples, 0.01%)dkn-compute`futures_channel::mpsc::queue::Queue<T>::pop_spin (77 samples, 0.06%)dkn-compute`futures_channel::mpsc::Receiver<T>::next_message (116 samples, 0.09%)dkn-compute`futures_util::stream::stream::StreamExt::poll_next_unpin (152 samples, 0.12%)libsystem_malloc.dylib`free (23 samples, 0.02%)dkn-compute`<futures_util::future::select::Select<A,B> as core::future::future::Future>::poll (117,900 samples, 92.22%)dkn-compute`<futures_util::future::select::Select<A,B> as core::future::future::Future>::polllibsystem_kernel.dylib`mach_absolute_time (39 samples, 0.03%)dkn-compute`std::sys::pal::unix::time::Timespec::now (44 samples, 0.03%)libsystem_c.dylib`clock_gettime (44 samples, 0.03%)libsystem_kernel.dylib`__psynch_cvsignal (548 samples, 0.43%)dkn-compute`parking_lot::condvar::Condvar::notify_one_slow (629 samples, 0.49%)dkn-compute`<futures_util::stream::futures_unordered::task::Task<Fut> as futures_task::arc_wake::ArcWake>::wake_by_ref (654 samples, 0.51%)dkn-compute`tokio::runtime::park::wake (643 samples, 0.50%)dkn-compute`futures_task::waker::wake_arc_raw (659 samples, 0.52%)libsystem_malloc.dylib`szone_malloc_should_clear (24 samples, 0.02%)libsystem_malloc.dylib`tiny_malloc_should_clear (22 samples, 0.02%)libsystem_malloc.dylib`tiny_malloc_from_free_list (14 samples, 0.01%)dkn-compute`futures_channel::mpsc::sink_impl::_<impl futures_sink::Sink<T> for futures_channel::mpsc::Sender<T>>::start_send (691 samples, 0.54%)dkn-compute`<futures_util::sink::send::Send<Si,Item> as core::future::future::Future>::poll (742 samples, 0.58%)libsystem_platform.dylib`_platform_memmove (24 samples, 0.02%)libsystem_malloc.dylib`nanov2_malloc (22 samples, 0.02%)libsystem_malloc.dylib`malloc_zone_realloc (44 samples, 0.03%)dkn-compute`alloc::raw_vec::finish_grow (58 samples, 0.05%)libsystem_malloc.dylib`realloc (50 samples, 0.04%)dkn-compute`alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (63 samples, 0.05%)dkn-compute`multihash::multihash::Multihash<_>::to_bytes (70 samples, 0.05%)dkn-compute`libp2p_gossipsub::types::_<impl core::convert::From<libp2p_gossipsub::types::RawMessage> for libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::Message>::from (90 samples, 0.07%)dkn-compute`libp2p_gossipsub::types::_<impl core::convert::From<libp2p_gossipsub::types::RpcOut> for libp2p_gossipsub::rpc_proto::proto::gossipsub::pb::RPC>::from (123 samples, 0.10%)dkn-compute`<libp2p_gossipsub::handler::Handler as libp2p_swarm::handler::ConnectionHandler>::on_behaviour_event (155 samples, 0.12%)libsystem_malloc.dylib`nanov2_malloc (14 samples, 0.01%)dkn-compute`<libp2p_swarm::handler::select::ConnectionHandlerSelect<TProto1,TProto2> as libp2p_swarm::handler::ConnectionHandler>::on_behaviour_event (183 samples, 0.14%)dkn-compute`tracing::span::Span::log (16 samples, 0.01%)dkn-compute`<tracing::instrument::Instrumented<T> as core::future::future::Future>::poll (118,919 samples, 93.02%)dkn-compute`<tracing::instrument::Instrumented<T> as core::future::future::Future>::polllibsystem_platform.dylib`_platform_memmove (15 samples, 0.01%)dkn-compute`tokio::runtime::task::core::Core<T,S>::poll (118,974 samples, 93.06%)dkn-compute`tokio::runtime::task::core::Core<T,S>::polllibsystem_platform.dylib`_platform_memmove (22 samples, 0.02%)dkn-compute`tokio::runtime::task::harness::Harness<T,S>::poll (119,253 samples, 93.28%)dkn-compute`tokio::runtime::task::harness::Harness<T,S>::polldkn-compute`tokio::runtime::scheduler::multi_thread::worker::Context::run_task (119,592 samples, 93.55%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::Context::run_taskdkn-compute`tokio::runtime::scheduler::multi_thread::worker::Context::run (122,254 samples, 95.63%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::Context::runall (127,844 samples, 100%)libsystem_pthread.dylib`thread_start (122,312 samples, 95.67%)libsystem_pthread.dylib`thread_startlibsystem_pthread.dylib`_pthread_start (122,312 samples, 95.67%)libsystem_pthread.dylib`_pthread_startdkn-compute`std::sys::pal::unix::thread::Thread::new::thread_start (122,312 samples, 95.67%)dkn-compute`std::sys::pal::unix::thread::Thread::new::thread_startdkn-compute`core::ops::function::FnOnce::call_once{{vtable.shim}} (122,312 samples, 95.67%)dkn-compute`core::ops::function::FnOnce::call_once{{vtable.shim}}dkn-compute`std::sys_common::backtrace::__rust_begin_short_backtrace (122,312 samples, 95.67%)dkn-compute`std::sys_common::backtrace::__rust_begin_short_backtracedkn-compute`tokio::runtime::blocking::pool::Inner::run (122,273 samples, 95.64%)dkn-compute`tokio::runtime::blocking::pool::Inner::rundkn-compute`tokio::runtime::task::harness::Harness<T,S>::poll (122,273 samples, 95.64%)dkn-compute`tokio::runtime::task::harness::Harness<T,S>::polldkn-compute`tokio::runtime::task::core::Core<T,S>::poll (122,273 samples, 95.64%)dkn-compute`tokio::runtime::task::core::Core<T,S>::polldkn-compute`tokio::runtime::scheduler::multi_thread::worker::run (122,272 samples, 95.64%)dkn-compute`tokio::runtime::scheduler::multi_thread::worker::rundkn-compute`tokio::runtime::context::runtime::enter_runtime (122,272 samples, 95.64%)dkn-compute`tokio::runtime::context::runtime::enter_runtimedkn-compute`tokio::runtime::context::set_scheduler (122,272 samples, 95.64%)dkn-compute`tokio::runtime::context::set_scheduler \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index 757c7cb..b473a8f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,10 +4,13 @@ use dkn_compute::{DriaComputeNode, DriaComputeNodeConfig}; #[tokio::main] async fn main() -> Result<(), Box> { + if let Err(e) = dotenvy::dotenv() { + log::warn!("Could not not load .env file: {}", e); + } + env_logger::builder() .format_timestamp(Some(env_logger::TimestampPrecision::Millis)) .init(); - log::info!( "Initializing Dria Compute Node (version {})", dkn_compute::VERSION diff --git a/src/node.rs b/src/node.rs index 3c0cb62..b12f649 100644 --- a/src/node.rs +++ b/src/node.rs @@ -136,18 +136,19 @@ impl DriaComputeNode { // handle message w.r.t topic if std::matches!(topic_str, PINGPONG_LISTEN_TOPIC | WORKFLOW_LISTEN_TOPIC) { // ensure that the message is from a valid source (origin) - let source_peer_id = match message.source.clone() { - Some(peer) => peer, - None => { - log::warn!("Received message from {} without source.", peer_id); - log::debug!("Allowed sources: {:#?}", self.available_nodes.rpc_nodes); - self.p2p.validate_message(&message_id, &peer_id, gossipsub::MessageAcceptance::Reject)?; - continue; - } - }; + let source_peer_id = message.source.clone(); + // let source_peer_id = match message.source.clone() { + // Some(peer) => peer, + // None => { + // log::warn!("Received {} message from {} without source.", topic_str, peer_id); + // log::debug!("Allowed sources: {:#?}", self.available_nodes.rpc_nodes); + // self.p2p.validate_message(&message_id, &peer_id, gossipsub::MessageAcceptance::Ignore)?; + // continue; + // } + // }; log::info!( - "Received {} message ({})\nFrom: {}\nOrigin: {}", + "Received {} message ({})\nFrom: {}\nOrigin: {:?}", topic_str, message_id, peer_id, @@ -155,11 +156,11 @@ impl DriaComputeNode { ); // ensure that message is from the static RPCs - if !self.available_nodes.rpc_nodes.contains(&source_peer_id) { - log::warn!("Received message from unauthorized origin: {}", source_peer_id); - self.p2p.validate_message(&message_id, &peer_id, gossipsub::MessageAcceptance::Ignore)?; - continue; - } + // if !self.available_nodes.rpc_nodes.contains(&source_peer_id) { + // log::warn!("Received message from unauthorized origin: {}", source_peer_id); + // self.p2p.validate_message(&message_id, &peer_id, gossipsub::MessageAcceptance::Ignore)?; + // continue; + // } // first, parse the raw gossipsub message to a prepared message // if unparseable, @@ -204,12 +205,12 @@ impl DriaComputeNode { } else if std::matches!(topic_str, PINGPONG_RESPONSE_TOPIC | WORKFLOW_RESPONSE_TOPIC) { // since we are responding to these topics, we might receive messages from other compute nodes // we can gracefully ignore them - log::trace!("Ignoring message for topic: {}", topic_str); + log::debug!("Ignoring message for topic: {}", topic_str); // accept this message for propagation self.p2p.validate_message(&message_id, &peer_id, gossipsub::MessageAcceptance::Accept)?; } else { - log::warn!("Received unexpected message from topic: {}", topic_str); + log::warn!("Received message from unexpected topic: {}", topic_str); // reject this message as its from a foreign topic self.p2p.validate_message(&message_id, &peer_id, gossipsub::MessageAcceptance::Reject)?; diff --git a/src/p2p/behaviour.rs b/src/p2p/behaviour.rs index c7d0126..5f62482 100644 --- a/src/p2p/behaviour.rs +++ b/src/p2p/behaviour.rs @@ -36,11 +36,15 @@ impl DriaBehaviour { /// Configures the Kademlia DHT behavior for the node. #[inline] fn create_kademlia_behavior(local_peer_id: PeerId) -> kad::Behaviour { - use kad::{Behaviour, Config}; + use kad::{Behaviour, Caching, Config}; let mut cfg = Config::default(); cfg.set_protocol_names(vec![DRIA_PROTO_NAME]) - .set_query_timeout(Duration::from_secs(5 * 60)); + .set_query_timeout(Duration::from_secs(5 * 60)) + .set_record_ttl(Some(Duration::from_secs(30))) + .set_replication_interval(None) // Disable replication + .set_caching(Caching::Disabled) + .set_publication_interval(None); Behaviour::with_config(local_peer_id, MemoryStore::new(local_peer_id), cfg) } @@ -50,7 +54,9 @@ fn create_kademlia_behavior(local_peer_id: PeerId) -> kad::Behaviour identify::Behaviour { use identify::{Behaviour, Config}; - Behaviour::new(Config::new(DRIA_PROTO_NAME.to_string(), local_public_key)) + let cfg = Config::new(DRIA_PROTO_NAME.to_string(), local_public_key); + + Behaviour::new(cfg) } #[inline] @@ -77,7 +83,16 @@ fn create_autonat_behavior(key: PublicKey) -> autonat::Behaviour { /// Configures the Gossipsub behavior for pub/sub messaging across peers. #[inline] fn create_gossipsub_behavior(id_keys: Keypair) -> gossipsub::Behaviour { - use gossipsub::{Behaviour, ConfigBuilder, Message, MessageAuthenticity, MessageId}; + use gossipsub::{ + Behaviour, ConfigBuilder, Message, MessageAuthenticity, MessageId, ValidationMode, + }; + + /// Validation mode for gossipsub messages + /// Since we verify messages at app-level, we are okay with `None`. + const VALIDATION_MODE: ValidationMode = ValidationMode::None; + + /// Max transmit size for payloads 256 KB + const MAX_TRANSMIT_SIZE: usize = 262144; // message id's are simply hashes of the message data let message_id_fn = |message: &Message| { @@ -90,9 +105,9 @@ fn create_gossipsub_behavior(id_keys: Keypair) -> gossipsub::Behaviour { MessageAuthenticity::Signed(id_keys), ConfigBuilder::default() .heartbeat_interval(Duration::from_secs(10)) - .max_transmit_size(262144) // 256 KB - .validation_mode(gossipsub::ValidationMode::Strict) // TODO!! + .max_transmit_size(MAX_TRANSMIT_SIZE) .validate_messages() + .validation_mode(VALIDATION_MODE) .message_id_fn(message_id_fn) .build() .expect("Valid config"), // TODO: better error handling diff --git a/src/p2p/client.rs b/src/p2p/client.rs index af5f53b..b1228e0 100644 --- a/src/p2p/client.rs +++ b/src/p2p/client.rs @@ -244,6 +244,8 @@ impl P2PClient { message_id, message, })) => { + // log::info!("Received message ({}) from peer: {}", message_id, peer_id); + // log::debug!("Message: {:?}", message); return Some((peer_id, message_id, message)); } SwarmEvent::NewListenAddr { address, .. } => {