Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
ExternalApiClient Class Reference
Collaboration diagram for ExternalApiClient:
Collaboration graph

Public Member Functions

kcenon::common::Result< std::string > call_api (const std::string &endpoint)
 
void reset ()
 
int get_call_count () const
 

Private Attributes

std::atomic< int > failure_count_ {0}
 
std::atomic< int > call_count_ {0}
 

Detailed Description

Member Function Documentation

◆ call_api()

kcenon::common::Result< std::string > ExternalApiClient::call_api ( const std::string & endpoint)
inline
Examples
health_reliability_example.cpp.

Definition at line 75 of file health_reliability_example.cpp.

75 {
77
78 // Simulate increasing failures
79 if (failure_count_ > 5) {
80 // API is down
81 return kcenon::common::Result<std::string>::err(error_info(monitoring_error_code::service_unavailable, "Service unavailable").to_common_error());
82 }
83
84 // Simulate intermittent failures
85 if (call_count_ % 3 == 0) {
87 return kcenon::common::Result<std::string>::err(error_info(monitoring_error_code::operation_failed, "Internal server error").to_common_error());
88 }
89
90 failure_count_ = 0; // Reset on success
91 return kcenon::common::ok("API response from: " + endpoint);
92 }
std::atomic< int > failure_count_
Extended error information with context.

References call_count_, and failure_count_.

◆ get_call_count()

int ExternalApiClient::get_call_count ( ) const
inline
Examples
health_reliability_example.cpp.

Definition at line 99 of file health_reliability_example.cpp.

99{ return call_count_; }

References call_count_.

◆ reset()

void ExternalApiClient::reset ( )
inline
Examples
health_reliability_example.cpp.

Definition at line 94 of file health_reliability_example.cpp.

94 {
96 call_count_ = 0;
97 }

References call_count_, and failure_count_.

Member Data Documentation

◆ call_count_

std::atomic<int> ExternalApiClient::call_count_ {0}
private
Examples
health_reliability_example.cpp.

Definition at line 72 of file health_reliability_example.cpp.

72{0};

Referenced by call_api(), get_call_count(), and reset().

◆ failure_count_

std::atomic<int> ExternalApiClient::failure_count_ {0}
private
Examples
health_reliability_example.cpp.

Definition at line 71 of file health_reliability_example.cpp.

71{0};

Referenced by call_api(), and reset().


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