this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Track enqueued and finished jobs via prometheus

+18
+2
.gitignore
··· 40 40 # Sonar cursor file 41 41 sonar_cursor.json 42 42 out/ 43 + state.json 44 + netsync-out/
+16
cmd/netsync/main.go
··· 163 163 return nil 164 164 } 165 165 166 + var enqueuedJobs = promauto.NewGauge(prometheus.GaugeOpts{ 167 + Name: "netsync_enqueued_jobs", 168 + Help: "Number of enqueued jobs", 169 + }) 170 + 166 171 func (s *NetsyncState) Dequeue() string { 167 172 s.lk.Lock() 168 173 defer s.lk.Unlock() 174 + 175 + enqueuedJobs.Set(float64(len(s.EnqueuedRepos))) 169 176 170 177 for repo, state := range s.EnqueuedRepos { 171 178 if state.State == "enqueued" { ··· 177 184 return "" 178 185 } 179 186 187 + var finishedJobs = promauto.NewGauge(prometheus.GaugeOpts{ 188 + Name: "netsync_finished_jobs", 189 + Help: "Number of finished jobs", 190 + }) 191 + 180 192 func (s *NetsyncState) Finish(repo string, state string) { 181 193 s.lk.Lock() 182 194 defer s.lk.Unlock() ··· 186 198 State: state, 187 199 FinishedAt: time.Now(), 188 200 } 201 + 202 + finishedJobs.Set(float64(len(s.FinishedRepos))) 189 203 190 204 delete(s.EnqueuedRepos, repo) 191 205 } ··· 223 237 if state.FinishedRepos == nil { 224 238 state.FinishedRepos = make(map[string]*RepoState) 225 239 } 240 + 241 + state.OutDir = cctx.String("out-dir") 226 242 227 243 if err != nil { 228 244 // Read repo list