pub struct MonitorClient {
pub monitor_client: MonitorServiceClient<WrappedChannel>,
}Expand description
Client for monitoring and profiling.
Can be applied to any type of worker node, though some methods may not be supported. See documentation of each method for availability.
Fields§
§monitor_client: MonitorServiceClient<WrappedChannel>Implementations§
Source§impl MonitorClient
impl MonitorClient
pub async fn new(host_addr: HostAddr, opts: &RpcClientConfig) -> Result<Self>
Sourcepub async fn await_tree(
&self,
req: StackTraceRequest,
) -> Result<StackTraceResponse>
pub async fn await_tree( &self, req: StackTraceRequest, ) -> Result<StackTraceResponse>
Available on meta node, compute node, and compactor node.
Note: for meta node, it will gather await tree from all nodes in the cluster besides itself.
Sourcepub async fn get_streaming_stats(&self) -> Result<GetStreamingStatsResponse>
pub async fn get_streaming_stats(&self) -> Result<GetStreamingStatsResponse>
Available on compute node.
Sourcepub async fn get_profile_stats(
&self,
request: GetProfileStatsRequest,
) -> Result<GetProfileStatsResponse>
pub async fn get_profile_stats( &self, request: GetProfileStatsRequest, ) -> Result<GetProfileStatsResponse>
Available on compute node.
Sourcepub async fn profile(&self, sleep_s: u64) -> Result<ProfilingResponse>
pub async fn profile(&self, sleep_s: u64) -> Result<ProfilingResponse>
Available on meta node, compute node, compactor node, and frontend node.
Sourcepub async fn heap_profile(&self, dir: String) -> Result<HeapProfilingResponse>
pub async fn heap_profile(&self, dir: String) -> Result<HeapProfilingResponse>
Available on meta node, compute node, compactor node, and frontend node.
Sourcepub async fn list_heap_profile(&self) -> Result<ListHeapProfilingResponse>
pub async fn list_heap_profile(&self) -> Result<ListHeapProfilingResponse>
Available on meta node, compute node, compactor node, and frontend node.
Sourcepub async fn analyze_heap(&self, path: String) -> Result<AnalyzeHeapResponse>
pub async fn analyze_heap(&self, path: String) -> Result<AnalyzeHeapResponse>
Available on meta node, compute node, compactor node, and frontend node.
Trait Implementations§
Source§impl Clone for MonitorClient
impl Clone for MonitorClient
Source§fn clone(&self) -> MonitorClient
fn clone(&self) -> MonitorClient
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl RpcClient for MonitorClient
impl RpcClient for MonitorClient
fn new_client<'life0, 'async_trait>(
host_addr: HostAddr,
opts: &'life0 RpcClientConfig,
) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn new_clients<'life0, 'async_trait>(
host_addr: HostAddr,
size: usize,
opts: &'life0 RpcClientConfig,
) -> Pin<Box<dyn Future<Output = Result<Arc<Vec<Self>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl !Freeze for MonitorClient
impl !RefUnwindSafe for MonitorClient
impl Send for MonitorClient
impl Sync for MonitorClient
impl Unpin for MonitorClient
impl !UnwindSafe for MonitorClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type
Any.§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
Source§impl<M> MetricVecRelabelExt for M
impl<M> MetricVecRelabelExt for M
Source§fn relabel(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
Equivalent to
RelabeledMetricVec::with_metric_level.Source§fn relabel_n(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
relabel_num: usize,
) -> RelabeledMetricVec<M>
fn relabel_n( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, relabel_num: usize, ) -> RelabeledMetricVec<M>
Equivalent to
RelabeledMetricVec::with_metric_level_relabel_n.Source§fn relabel_debug_1(
self,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel_debug_1( self, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
Equivalent to
RelabeledMetricVec::with_metric_level_relabel_n with metric_level set to
MetricLevel::Debug and relabel_num set to 1.