Class GraphProviderPlugin

Nested Relationships

Nested Types

Inheritance Relationships

Base Types

  • public GatewayPlugin

  • public IntrospectionProvider

Class Documentation

class GraphProviderPlugin : public GatewayPlugin, public IntrospectionProvider

Public Functions

GraphProviderPlugin() = default
~GraphProviderPlugin() override
std::string name() const override
void configure(const nlohmann::json &config) override
void set_context(PluginContext &context) override
std::vector<PluginRoute> get_routes() override
void shutdown() override
IntrospectionResult introspect(const IntrospectionInput &input) override

Public Static Functions

static nlohmann::json build_graph_document(const std::string &function_id, const IntrospectionInput &input, const GraphBuildState &state, const GraphBuildConfig &config, const std::string &timestamp)
struct GraphBuildConfig

Public Members

double expected_frequency_hz_default = {30.0}
double degraded_frequency_ratio = {0.5}
double drop_rate_percent_threshold = {5.0}
struct GraphBuildState

Public Members

std::unordered_map<std::string, TopicMetrics> topic_metrics
std::unordered_set<std::string> stale_topics
std::unordered_map<std::string, std::string> last_seen_by_app
bool diagnostics_seen = {false}
struct TopicMetrics

Public Members

std::optional<double> frequency_hz
std::optional<double> latency_ms
double drop_rate_percent = {0.0}
std::optional<double> expected_frequency_hz