mirror of
https://github.com/openfaas/faas.git
synced 2025-06-18 03:56:37 +00:00
Export new metrics for OpenFaaS Pro scaling
* Add service target metric * Add service min replicas metric * Add scale type metric These combined allow new auto-scaling modes and parameters for OpenFaaS Pro customers. Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
This commit is contained in:
committed by
Alex Ellis
parent
34735d61d0
commit
d85d5e7239
@ -16,8 +16,12 @@ type MetricOptions struct {
|
||||
GatewayFunctionInvocation *prometheus.CounterVec
|
||||
GatewayFunctionsHistogram *prometheus.HistogramVec
|
||||
GatewayFunctionInvocationStarted *prometheus.CounterVec
|
||||
ServiceReplicasGauge *prometheus.GaugeVec
|
||||
ServiceMetrics *ServiceMetricOptions
|
||||
|
||||
ServiceReplicasGauge *prometheus.GaugeVec
|
||||
ServiceMinReplicasGauge *prometheus.GaugeVec
|
||||
ServiceTargetLoadGauge *prometheus.GaugeVec
|
||||
|
||||
ServiceMetrics *ServiceMetricOptions
|
||||
}
|
||||
|
||||
// ServiceMetricOptions provides RED metrics
|
||||
@ -62,11 +66,29 @@ func BuildMetricsOptions() MetricOptions {
|
||||
prometheus.GaugeOpts{
|
||||
Namespace: "gateway",
|
||||
Name: "service_count",
|
||||
Help: "Service replicas",
|
||||
Help: "Current count of replicas for function",
|
||||
},
|
||||
[]string{"function_name"},
|
||||
)
|
||||
|
||||
serviceMinReplicas := prometheus.NewGaugeVec(
|
||||
prometheus.GaugeOpts{
|
||||
Namespace: "gateway",
|
||||
Name: "service_min",
|
||||
Help: "Minium replicas for function",
|
||||
},
|
||||
[]string{"function_name"},
|
||||
)
|
||||
|
||||
serviceTargetLoad := prometheus.NewGaugeVec(
|
||||
prometheus.GaugeOpts{
|
||||
Namespace: "gateway",
|
||||
Name: "service_target_load",
|
||||
Help: "Target load for function",
|
||||
},
|
||||
[]string{"function_name", "scaling_type"},
|
||||
)
|
||||
|
||||
// For automatic monitoring and alerting (RED method)
|
||||
histogram := prometheus.NewHistogramVec(prometheus.HistogramOpts{
|
||||
Subsystem: "http",
|
||||
@ -104,6 +126,8 @@ func BuildMetricsOptions() MetricOptions {
|
||||
GatewayFunctionsHistogram: gatewayFunctionsHistogram,
|
||||
GatewayFunctionInvocation: gatewayFunctionInvocation,
|
||||
ServiceReplicasGauge: serviceReplicas,
|
||||
ServiceMinReplicasGauge: serviceMinReplicas,
|
||||
ServiceTargetLoadGauge: serviceTargetLoad,
|
||||
ServiceMetrics: serviceMetricOptions,
|
||||
GatewayFunctionInvocationStarted: gatewayFunctionInvocationStarted,
|
||||
}
|
||||
|
Reference in New Issue
Block a user