Trait opentelemetry_sdk::runtime::Runtime
source · pub trait Runtime:
Clone
+ Send
+ Sync
+ 'static {
type Interval: Stream + Send;
type Delay: Future + Send + Unpin;
// Required methods
fn interval(&self, duration: Duration) -> Self::Interval;
fn spawn(&self, future: BoxFuture<'static, ()>);
fn delay(&self, duration: Duration) -> Self::Delay;
}
Expand description
Required Associated Types§
Required Methods§
sourcefn interval(&self, duration: Duration) -> Self::Interval
fn interval(&self, duration: Duration) -> Self::Interval
Create a futures_util::stream::Stream, which returns a new item every std::time::Duration.
sourcefn spawn(&self, future: BoxFuture<'static, ()>)
fn spawn(&self, future: BoxFuture<'static, ()>)
Spawn a new task or thread, which executes the given future.
§Note
This is mainly used to run batch span processing in the background. Note, that the function does not return a handle. OpenTelemetry will use a different way to wait for the future to finish when TracerProvider gets shutdown. At the moment this happens by blocking the current thread. This means runtime implementations need to make sure they can still execute the given future even if the main thread is blocked.
sourcefn delay(&self, duration: Duration) -> Self::Delay
fn delay(&self, duration: Duration) -> Self::Delay
Return a new future, which resolves after the specified std::time::Duration.
Object Safety§
This trait is not object safe.