Documentation ¶
Index ¶
- Constants
- Variables
- func RegisterCompletedSnapshot(conditiontype, reason string, startTime metav1.Time, ...)
- func RegisterIntegrationResponse(duration time.Duration)
- func RegisterInvalidSnapshot(conditiontype, reason string)
- func RegisterNewIntegrationPipelineRun()
- func RegisterPipelineRunStarted(snapshotCreatedTime metav1.Time, pipelineRunStartTime *metav1.Time)
- func RegisterReleaseLatency(startTime metav1.Time)
- type AvailabilityProbe
- type GithubAppAvailabilityProbe
- type IntegrationMetrics
Constants ¶
View Source
const ( MetricsNamespace = "redhat_appstudio" MetricsSubsystem = "integrationservice" IntegrationServiceNamespaceName = "integration-service" // Pipelines as Code GitHub appliaction configuration secret name. // The secret is located in integration-service namespace. PipelinesAsCodeGitHubAppSecretName = "pipelines-as-code-secret" // Keys of the GitHub app ID and the app private key in the pipelines-as-code-secret PipelinesAsCodeGithubAppIdKey = "github-application-id" PipelinesAsCodeGithubPrivateKey = "github-private-key" )
Variables ¶
View Source
var ( IntegrationSvcResponseSeconds = prometheus.NewHistogram( prometheus.HistogramOpts{ Name: "integration_svc_response_seconds", Help: "Integration service response time from the moment the buildPipelineRun is completed till the snapshot is marked as in progress status", Buckets: []float64{0.5, 1, 2, 3, 4, 5, 6, 7, 10, 15, 30, 60, 120, 240}, }, ) //This metric should be dropped once SnapshotCreatedToPipelineRunStartedSeconds is merged in prod SnapshotCreatedToPipelineRunStartedStaticEnvSeconds = prometheus.NewHistogram( prometheus.HistogramOpts{ Name: "integration_svc_snapshot_created_to_pipelinerun_with_static_env_started_seconds", Help: "Time duration from the moment the snapshot resource was created till a integration pipelineRun is started in a static environment", Buckets: []float64{0.05, 0.1, 0.5, 1, 2, 3, 4, 5, 10, 15, 30}, }, ) SnapshotCreatedToPipelineRunStartedSeconds = prometheus.NewHistogram( prometheus.HistogramOpts{ Name: "integration_svc_snapshot_created_to_pipelinerun_started_seconds", Help: "Time duration from the moment the snapshot resource was created till a integration pipelineRun is started in the environment", Buckets: []float64{0.05, 0.1, 0.5, 1, 2, 3, 4, 5, 10, 15, 30}, }, ) IntegrationPipelineRunTotal = prometheus.NewCounter( prometheus.CounterOpts{ Name: "integration_svc_integration_pipelinerun_total", Help: "Total number of integration PipelineRun created", }, ) SnapshotDurationSeconds = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Name: "integration_svc_snapshot_attempt_duration_seconds", Help: "Snapshot durations from the moment the Snapshot was created till the Snapshot is marked as finished", Buckets: []float64{7, 15, 30, 60, 150, 300, 450, 600, 750, 900, 1050}, }, []string{"type", "reason"}, ) SnapshotTotal = prometheus.NewCounterVec( prometheus.CounterOpts{ Name: "integration_svc_snapshot_attempt_total", Help: "Total number of snapshots processed by the operator", }, []string{"type", "reason"}, ) ReleaseLatencySeconds = prometheus.NewHistogram( prometheus.HistogramOpts{ Name: "integration_svc_release_latency_seconds", Help: "Latency between integration tests completion and release creation", Buckets: []float64{0.05, 0.1, 0.5, 1, 2, 3, 4, 5, 10, 15, 30}, }, ) )
Functions ¶
func RegisterInvalidSnapshot ¶
func RegisterInvalidSnapshot(conditiontype, reason string)
func RegisterNewIntegrationPipelineRun ¶
func RegisterNewIntegrationPipelineRun()
func RegisterReleaseLatency ¶
Types ¶
type AvailabilityProbe ¶
type AvailabilityProbe interface { CheckAvailability(ctx context.Context) bool AvailabilityGauge() prometheus.Gauge }
AvailabilityProbe represents a probe that checks the availability of a certain aspects of the service
type GithubAppAvailabilityProbe ¶
type GithubAppAvailabilityProbe struct {
// contains filtered or unexported fields
}
func NewGithubAppAvailabilityProbe ¶
func NewGithubAppAvailabilityProbe(client client.Client) *GithubAppAvailabilityProbe
func (*GithubAppAvailabilityProbe) AvailabilityGauge ¶
func (g *GithubAppAvailabilityProbe) AvailabilityGauge() prometheus.Gauge
func (*GithubAppAvailabilityProbe) CheckAvailability ¶
func (g *GithubAppAvailabilityProbe) CheckAvailability(ctx context.Context) bool
type IntegrationMetrics ¶
type IntegrationMetrics struct {
// contains filtered or unexported fields
}
IntegrationMetrics represents a collection of metrics to be registered on a Prometheus metrics registry for a integration service.
func NewIntegrationMetrics ¶
func NewIntegrationMetrics(probes []AvailabilityProbe) *IntegrationMetrics
func (*IntegrationMetrics) InitMetrics ¶
func (m *IntegrationMetrics) InitMetrics(registerer prometheus.Registerer) error
func (*IntegrationMetrics) StartAvailabilityProbes ¶
func (m *IntegrationMetrics) StartAvailabilityProbes(ctx context.Context)
Click to show internal directories.
Click to hide internal directories.