Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
kcenon::monitoring::storage_backend Class Referenceabstract

Abstract interface for metrics storage. More...

#include <monitoring_core.h>

Collaboration diagram for kcenon::monitoring::storage_backend:
Collaboration graph

Public Member Functions

virtual ~storage_backend ()=default
 
virtual common::VoidResult store (const metrics_snapshot &snapshot)=0
 Store a metrics snapshot.
 
virtual common::Result< metrics_snapshotretrieve (std::size_t index) const =0
 Retrieve a stored snapshot by index.
 
virtual common::Result< std::vector< metrics_snapshot > > retrieve_range (std::size_t start_index, std::size_t count) const =0
 Retrieve multiple snapshots.
 
virtual std::size_t capacity () const =0
 Get storage capacity.
 
virtual std::size_t size () const =0
 Get current storage usage.
 
virtual common::VoidResult clear ()=0
 Clear all stored data.
 
virtual common::VoidResult flush ()=0
 Flush any buffered data to persistent storage.
 

Detailed Description

Abstract interface for metrics storage.

Provides persistence capabilities for metric snapshots. Implementations can store data in memory, on disk, or in external databases.

Thread Safety:
Implementations MUST be thread-safe. Store and retrieve operations may be called concurrently.

Definition at line 420 of file monitoring_core.h.

Constructor & Destructor Documentation

◆ ~storage_backend()

virtual kcenon::monitoring::storage_backend::~storage_backend ( )
virtualdefault

Member Function Documentation

◆ capacity()

virtual std::size_t kcenon::monitoring::storage_backend::capacity ( ) const
pure virtual

Get storage capacity.

Returns
Maximum number of snapshots that can be stored
Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/interfaces/monitoring_core.h.

◆ clear()

virtual common::VoidResult kcenon::monitoring::storage_backend::clear ( )
pure virtual

Clear all stored data.

Returns
Result indicating success or error
Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/interfaces/monitoring_core.h.

◆ flush()

virtual common::VoidResult kcenon::monitoring::storage_backend::flush ( )
pure virtual

Flush any buffered data to persistent storage.

Returns
Result indicating success or error
Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/interfaces/monitoring_core.h.

◆ retrieve()

virtual common::Result< metrics_snapshot > kcenon::monitoring::storage_backend::retrieve ( std::size_t index) const
pure virtual

Retrieve a stored snapshot by index.

Parameters
indexThe snapshot index
Returns
Result containing the snapshot or error
Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/interfaces/monitoring_core.h.

◆ retrieve_range()

virtual common::Result< std::vector< metrics_snapshot > > kcenon::monitoring::storage_backend::retrieve_range ( std::size_t start_index,
std::size_t count ) const
pure virtual

Retrieve multiple snapshots.

Parameters
start_indexStarting index
countNumber of snapshots to retrieve
Returns
Result containing snapshots or error
Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/interfaces/monitoring_core.h.

◆ size()

virtual std::size_t kcenon::monitoring::storage_backend::size ( ) const
pure virtual

Get current storage usage.

Returns
Number of stored snapshots
Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/interfaces/monitoring_core.h.

◆ store()

virtual common::VoidResult kcenon::monitoring::storage_backend::store ( const metrics_snapshot & snapshot)
pure virtual

Store a metrics snapshot.

Parameters
snapshotThe snapshot to store
Returns
Result indicating success or storage error
Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/interfaces/monitoring_core.h.

The documentation for this class was generated from the following file: