pub trait RemoteStorage {
    type Err;
    type Context;

    fn write<'life0, 'async_trait>(
        &'life0 self,
        ctx: Self::Context,
        req: WriteRequest
    ) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait
; fn read<'life0, 'async_trait>(
        &'life0 self,
        ctx: Self::Context,
        req: ReadRequest
    ) -> Pin<Box<dyn Future<Output = Result<ReadResponse, Self::Err>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait
; }
Expand description

Remote storage is Prometheus’s solution for long-term storage.

Third-party storage can be integrated with Prometheus by implement this trait. https://prometheus.io/docs/prometheus/latest/storage/#remote-storage-integrations

Required Associated Types§

Required Methods§

Write samples to remote storage

Read samples from remote storage, ReadRequest may contain more than one sub queries.

Implementors§