Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DeploymentEvent ¶
type DeploymentMetricService ¶
type DeploymentMetricService interface {
GetDeploymentMetrics(request *MetricRequest) (*Metrics, error)
}
type DeploymentMetricServiceImpl ¶
type DeploymentMetricServiceImpl struct {
// contains filtered or unexported fields
}
func NewDeploymentMetricServiceImpl ¶
func NewDeploymentMetricServiceImpl( logger *zap.SugaredLogger, appReleaseRepository sql.AppReleaseRepository, pipelineMaterialRepository sql.PipelineMaterialRepository, leadTimeRepository sql.LeadTimeRepository) *DeploymentMetricServiceImpl
func (DeploymentMetricServiceImpl) GetDeploymentMetrics ¶
func (impl DeploymentMetricServiceImpl) GetDeploymentMetrics(request *MetricRequest) (*Metrics, error)
type IngestionService ¶
type IngestionService interface {
ProcessDeploymentEvent(deploymentEvent *DeploymentEvent) (*sql.AppRelease, error)
CleanAppDataForEnvironment(appId, environmentId int) (bool, error)
}
type IngestionServiceImpl ¶
type IngestionServiceImpl struct {
PipelineMaterialRepository sql.PipelineMaterialRepository
// contains filtered or unexported fields
}
func NewIngestionServiceImpl ¶
func NewIngestionServiceImpl(logger *zap.SugaredLogger, appReleaseRepository sql.AppReleaseRepository, PipelineMaterialRepository sql.PipelineMaterialRepository, leadTimeRepository sql.LeadTimeRepository, gitSensorRestClient gitSensor.GitSensorClient, gitSensorGrpcClient gitSensor.GitSensorGrpcClient) *IngestionServiceImpl
func (*IngestionServiceImpl) CleanAppDataForEnvironment ¶
func (impl *IngestionServiceImpl) CleanAppDataForEnvironment(appId, environmentId int) (bool, error)
func (*IngestionServiceImpl) ProcessDeploymentEvent ¶
func (impl *IngestionServiceImpl) ProcessDeploymentEvent(deploymentEvent *DeploymentEvent) (*sql.AppRelease, error)
1.save AppRelease 2. save PipelineMaterial with release status 4. check for first commit and rollback 5. fetch changes from git 6. save LeadTime and commit size
type Metric ¶
type Metric struct {
ReleaseType sql.ReleaseType `json:"release_type"`
ReleaseStatus sql.ReleaseStatus `json:"release_status"`
ReleaseTime time.Time `json:"release_time"`
ChangeSizeLineAdded int `json:"change_size_line_added"`
ChangeSizeLineDeleted int `json:"change_size_line_deleted"`
DeploymentSize int `json:"deployment_size"`
CommitHash string `json:"commit_hash"`
CommitTime time.Time `json:"commit_time"`
LeadTime float64 `json:"lead_time"`
CycleTime float64 `json:"cycle_time"`
RecoveryTime float64 `json:"recovery_time"`
}
type MetricRequest ¶
type Metrics ¶
type Metrics struct {
Series []*Metric `json:"series"`
AverageCycleTime float64 `json:"average_cycle_time"`
AverageLeadTime float64 `json:"average_lead_time"`
ChangeFailureRate float64 `json:"change_failure_rate"`
AverageRecoveryTime float64 `json:"average_recovery_time"`
AverageDeploymentSize float32 `json:"average_deployment_size"`
AverageLineAdded float32 `json:"average_line_added"`
AverageLineDeleted float32 `json:"average_line_deleted"`
LastFailedTime string `json:"last_failed_time"`
RecoveryTimeLastFailed float64 `json:"recovery_time_last_failed"`
}
type PipelineMaterialInfo ¶
Click to show internal directories.
Click to hide internal directories.