feat(platform): expose structured capacity metrics
This commit is contained in:
@@ -9,17 +9,24 @@ import (
|
||||
)
|
||||
|
||||
type CapacityCheckResult struct {
|
||||
Status string `json:"status"`
|
||||
ActiveConnections int64 `json:"active_connections"`
|
||||
KafkaLag float64 `json:"kafka_lag"`
|
||||
Findings []string `json:"findings"`
|
||||
Status string `json:"status"`
|
||||
CapacityMetrics CapacityMetrics `json:"capacity_metrics"`
|
||||
Findings []string `json:"findings"`
|
||||
}
|
||||
|
||||
type capacityCheckReport struct {
|
||||
Status string `json:"status"`
|
||||
Totals struct {
|
||||
ActiveConnections int64 `json:"active_connections"`
|
||||
KafkaLag float64 `json:"kafka_lag"`
|
||||
ActiveConnections int64 `json:"active_connections"`
|
||||
KafkaLag float64 `json:"kafka_lag"`
|
||||
BridgeConsumerPending float64 `json:"bridge_consumer_pending"`
|
||||
BridgeAckPending float64 `json:"bridge_ack_pending"`
|
||||
BridgeBatchPendingMessages float64 `json:"bridge_batch_pending_messages"`
|
||||
FastWriterConsumerPending float64 `json:"fast_writer_consumer_pending"`
|
||||
FastWriterAckPending float64 `json:"fast_writer_ack_pending"`
|
||||
FastWriterBatchPending float64 `json:"fast_writer_batch_pending_messages"`
|
||||
HistoryBatchPending float64 `json:"history_batch_pending_messages"`
|
||||
HistoryRowsPending float64 `json:"history_rows_pending"`
|
||||
} `json:"totals"`
|
||||
Findings []string `json:"findings"`
|
||||
}
|
||||
@@ -45,9 +52,19 @@ func (c *CapacityCheckCommand) CheckCapacity(ctx context.Context) (CapacityCheck
|
||||
return CapacityCheckResult{}, jsonErr
|
||||
}
|
||||
return CapacityCheckResult{
|
||||
Status: report.Status,
|
||||
ActiveConnections: report.Totals.ActiveConnections,
|
||||
KafkaLag: report.Totals.KafkaLag,
|
||||
Findings: report.Findings,
|
||||
Status: report.Status,
|
||||
CapacityMetrics: CapacityMetrics{
|
||||
ActiveConnections: int(report.Totals.ActiveConnections),
|
||||
KafkaLag: int(report.Totals.KafkaLag),
|
||||
BridgeConsumerPending: int(report.Totals.BridgeConsumerPending),
|
||||
BridgeAckPending: int(report.Totals.BridgeAckPending),
|
||||
BridgeBatchPendingMessages: int(report.Totals.BridgeBatchPendingMessages),
|
||||
FastWriterConsumerPending: int(report.Totals.FastWriterConsumerPending),
|
||||
FastWriterAckPending: int(report.Totals.FastWriterAckPending),
|
||||
FastWriterBatchPending: int(report.Totals.FastWriterBatchPending),
|
||||
HistoryBatchPending: int(report.Totals.HistoryBatchPending),
|
||||
HistoryRowsPending: int(report.Totals.HistoryRowsPending),
|
||||
},
|
||||
Findings: report.Findings,
|
||||
}, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user