Browse Source

Merge pull request '项目统计优化' (#584) from repo-stat into develop

Reviewed-on: https://git.openi.org.cn/OpenI/aiforge/pulls/584
tags/v1.21.12.1
lewis 4 years ago
parent
commit
659ba8cd73
2 changed files with 23 additions and 22 deletions
  1. BIN
      main
  2. +23
    -22
      routers/repo/repo_statistic.go

BIN
main View File


+ 23
- 22
routers/repo/repo_statistic.go View File

@@ -30,11 +30,15 @@ func RepoStatisticDaily(date string) {


for _, repo := range repos { for _, repo := range repos {
log.Info("start statistic: %s", repo.Name) log.Info("start statistic: %s", repo.Name)
var numDevMonths,numWikiViews,numContributor,numKeyContributor int64
repoGitStat, err := models.GetRepoKPIStats(repo) repoGitStat, err := models.GetRepoKPIStats(repo)
if err != nil { if err != nil {
log.Error("GetRepoKPIStats failed: %s", repo.Name) log.Error("GetRepoKPIStats failed: %s", repo.Name)
log.Error("failed statistic: %s", repo.Name)
continue
} else {
numDevMonths = repoGitStat.DevelopAge
numKeyContributor = repoGitStat.KeyContributors
numWikiViews = repoGitStat.WikiPages
numContributor = repoGitStat.Contributors
} }


var issueFixedRate float32 var issueFixedRate float32
@@ -42,32 +46,29 @@ func RepoStatisticDaily(date string) {
issueFixedRate = float32(repo.NumClosedIssues) / float32(repo.NumIssues) issueFixedRate = float32(repo.NumClosedIssues) / float32(repo.NumIssues)
} }


numVersions, err := models.GetReleaseCountByRepoID(repo.ID, models.FindReleasesOptions{})
var numVersions int64
numVersions, err = models.GetReleaseCountByRepoID(repo.ID, models.FindReleasesOptions{})
if err != nil { if err != nil {
log.Error("GetReleaseCountByRepoID failed: %s", repo.Name)
log.Error("failed statistic: %s", repo.Name)
continue
log.Error("GetReleaseCountByRepoID failed(%s): %v", repo.Name, err)
} }


datasetSize, err := getDatasetSize(repo)
var datasetSize int64
datasetSize, err = getDatasetSize(repo)
if err != nil { if err != nil {
log.Error("getDatasetSize failed: %s", repo.Name)
log.Error("failed statistic: %s", repo.Name)
continue
log.Error("getDatasetSize failed(%s): %v", repo.Name, err)
} }


numComments, err := models.GetCommentCountByRepoID(repo.ID)
var numComments int64
numComments, err = models.GetCommentCountByRepoID(repo.ID)
if err != nil { if err != nil {
log.Error("GetCommentCountByRepoID failed: %s", repo.Name)
log.Error("failed statistic: %s", repo.Name)
continue
log.Error("GetCommentCountByRepoID failed(%s): %v", repo.Name, err)
} }


beginTime, endTime := getStatTime(date) beginTime, endTime := getStatTime(date)
numVisits, err := repository.AppointProjectView(repo.OwnerName, repo.Name, beginTime, endTime)
var numVisits int
numVisits, err = repository.AppointProjectView(repo.OwnerName, repo.Name, beginTime, endTime)
if err != nil { if err != nil {
log.Error("Get numVisits failed", err)
numVisits = 0
log.Error("AppointProjectView failed(%s): %v", repo.Name, err)
} }


repoStat := models.RepoStatistic{ repoStat := models.RepoStatistic{
@@ -80,21 +81,21 @@ func RepoStatisticDaily(date string) {
NumVisits: int64(numVisits), NumVisits: int64(numVisits),
NumClosedIssues: int64(repo.NumClosedIssues), NumClosedIssues: int64(repo.NumClosedIssues),
NumVersions: numVersions, NumVersions: numVersions,
NumDevMonths: repoGitStat.DevelopAge,
NumDevMonths: numDevMonths,
RepoSize: repo.Size, RepoSize: repo.Size,
DatasetSize: datasetSize, DatasetSize: datasetSize,
NumModels: 0, NumModels: 0,
NumWikiViews: repoGitStat.WikiPages,
NumWikiViews: numWikiViews,
NumCommits: repo.NumCommit, NumCommits: repo.NumCommit,
NumIssues: int64(repo.NumIssues), NumIssues: int64(repo.NumIssues),
NumPulls: int64(repo.NumPulls), NumPulls: int64(repo.NumPulls),
IssueFixedRate: issueFixedRate, IssueFixedRate: issueFixedRate,
NumContributor: repoGitStat.Contributors,
NumKeyContributor: repoGitStat.KeyContributors,
NumContributor: numContributor,
NumKeyContributor: numKeyContributor,
} }


if _, err = models.InsertRepoStat(&repoStat); err != nil { if _, err = models.InsertRepoStat(&repoStat); err != nil {
log.Error("InsertRepoStat failed: %s", repo.Name)
log.Error("InsertRepoStat failed(%s): %v", repo.Name, err)
log.Error("failed statistic: %s", repo.Name) log.Error("failed statistic: %s", repo.Name)
continue continue
} }


Loading…
Cancel
Save