mirror of
https://github.com/kubevela/kubevela.git
synced 2026-05-07 01:46:54 +00:00
* Chore: use functions from kubevela/pkg Signed-off-by: Somefive <yd219913@alibaba-inc.com> * Chore: rename multiclusterpkg to pkgmulticluster Signed-off-by: Somefive <yd219913@alibaba-inc.com> Signed-off-by: Somefive <yd219913@alibaba-inc.com>
140 lines
5.9 KiB
Go
140 lines
5.9 KiB
Go
/*
|
|
Copyright 2021. The KubeVela Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
package metrics
|
|
|
|
import (
|
|
"github.com/prometheus/client_golang/prometheus"
|
|
|
|
velametrics "github.com/kubevela/pkg/monitor/metrics"
|
|
)
|
|
|
|
var (
|
|
// CreateAppHandlerDurationHistogram report the create appHandler execution duration.
|
|
CreateAppHandlerDurationHistogram = prometheus.NewHistogramVec(prometheus.HistogramOpts{
|
|
Name: "create_app_handler_time_seconds",
|
|
Help: "create appHandler duration distributions, this operate will list ResourceTrackers.",
|
|
Buckets: velametrics.FineGrainedBuckets,
|
|
ConstLabels: prometheus.Labels{},
|
|
}, []string{"controller"})
|
|
|
|
// HandleFinalizersDurationHistogram report the handle finalizers execution duration.
|
|
HandleFinalizersDurationHistogram = prometheus.NewHistogramVec(prometheus.HistogramOpts{
|
|
Name: "handle_finalizers_time_seconds",
|
|
Help: "handle finalizers duration distributions.",
|
|
Buckets: velametrics.FineGrainedBuckets,
|
|
ConstLabels: prometheus.Labels{},
|
|
}, []string{"controller", "type"})
|
|
|
|
// ParseAppFileDurationHistogram report the parse appFile execution duration.
|
|
ParseAppFileDurationHistogram = prometheus.NewHistogramVec(prometheus.HistogramOpts{
|
|
Name: "parse_appFile_time_seconds",
|
|
Help: "parse appFile duration distributions.",
|
|
Buckets: velametrics.FineGrainedBuckets,
|
|
ConstLabels: prometheus.Labels{},
|
|
}, []string{"controller"})
|
|
|
|
// PrepareCurrentAppRevisionDurationHistogram report the parse current appRevision execution duration.
|
|
PrepareCurrentAppRevisionDurationHistogram = prometheus.NewHistogramVec(prometheus.HistogramOpts{
|
|
Name: "prepare_current_appRevision_time_seconds",
|
|
Help: "parse current appRevision duration distributions.",
|
|
Buckets: velametrics.FineGrainedBuckets,
|
|
ConstLabels: prometheus.Labels{},
|
|
}, []string{"controller"})
|
|
|
|
// ApplyAppRevisionDurationHistogram report the apply appRevision execution duration.
|
|
ApplyAppRevisionDurationHistogram = prometheus.NewHistogramVec(prometheus.HistogramOpts{
|
|
Name: "apply_appRevision_time_seconds",
|
|
Help: "apply appRevision duration distributions.",
|
|
Buckets: velametrics.FineGrainedBuckets,
|
|
ConstLabels: prometheus.Labels{},
|
|
}, []string{"controller"})
|
|
|
|
// ApplyPoliciesDurationHistogram report execution duration for applying policies
|
|
ApplyPoliciesDurationHistogram = prometheus.NewHistogramVec(prometheus.HistogramOpts{
|
|
Name: "apply_policies",
|
|
Help: "render and dispatch policy duration distributions.",
|
|
Buckets: velametrics.FineGrainedBuckets,
|
|
ConstLabels: prometheus.Labels{},
|
|
}, []string{"controller"})
|
|
|
|
// GCResourceTrackersDurationHistogram report the gc resourceTrackers execution duration.
|
|
GCResourceTrackersDurationHistogram = prometheus.NewHistogramVec(prometheus.HistogramOpts{
|
|
Name: "gc_resourceTrackers_time_seconds",
|
|
Help: "gc resourceTrackers duration distributions.",
|
|
Buckets: velametrics.FineGrainedBuckets,
|
|
ConstLabels: prometheus.Labels{},
|
|
}, []string{"stage"})
|
|
|
|
// ApplicationReconcileTimeHistogram report the reconciling time cost of application controller with state transition recorded
|
|
ApplicationReconcileTimeHistogram = prometheus.NewHistogramVec(prometheus.HistogramOpts{
|
|
Name: "application_reconcile_time_seconds",
|
|
Help: "application reconcile duration distributions.",
|
|
Buckets: velametrics.FineGrainedBuckets,
|
|
ConstLabels: prometheus.Labels{},
|
|
}, []string{"begin_phase", "end_phase"})
|
|
|
|
// ApplyComponentTimeHistogram report the time cost of applyComponentFunc
|
|
ApplyComponentTimeHistogram = prometheus.NewHistogramVec(prometheus.HistogramOpts{
|
|
Name: "apply_component_time_seconds",
|
|
Help: "apply component duration distributions.",
|
|
Buckets: velametrics.FineGrainedBuckets,
|
|
ConstLabels: prometheus.Labels{},
|
|
}, []string{"stage"})
|
|
|
|
// WorkflowFinishedTimeHistogram report the time for finished workflow
|
|
WorkflowFinishedTimeHistogram = prometheus.NewHistogramVec(prometheus.HistogramOpts{
|
|
Name: "workflow_finished_time_seconds",
|
|
Help: "workflow finished time distributions.",
|
|
Buckets: velametrics.FineGrainedBuckets,
|
|
ConstLabels: prometheus.Labels{},
|
|
}, []string{"phase"})
|
|
|
|
// WorkflowInitializedCounter report the workflow initialize execute number.
|
|
WorkflowInitializedCounter = prometheus.NewCounterVec(prometheus.CounterOpts{
|
|
Name: "workflow_initialized_num",
|
|
Help: "workflow initialize times",
|
|
}, []string{})
|
|
|
|
// ApplicationPhaseCounter report the number of application phase
|
|
ApplicationPhaseCounter = prometheus.NewGaugeVec(prometheus.GaugeOpts{
|
|
Name: "application_phase_number",
|
|
Help: "application phase number",
|
|
}, []string{"phase"})
|
|
|
|
// WorkflowStepPhaseGauge report the number of workflow step state
|
|
WorkflowStepPhaseGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{
|
|
Name: "workflow_step_phase_number",
|
|
Help: "workflow step phase number",
|
|
}, []string{"step_type", "phase"})
|
|
)
|
|
|
|
var (
|
|
// ListResourceTrackerCounter report the list resource tracker number.
|
|
ListResourceTrackerCounter = prometheus.NewCounterVec(prometheus.CounterOpts{
|
|
Name: "list_resourcetracker_num",
|
|
Help: "list resourceTrackers times.",
|
|
}, []string{"controller"})
|
|
)
|
|
|
|
var (
|
|
// ResourceTrackerNumberGauge report the number of resourceTracker
|
|
ResourceTrackerNumberGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{
|
|
Name: "resourcetracker_number",
|
|
Help: "resourceTracker number.",
|
|
}, []string{"controller"})
|
|
)
|