chaoss / chaoss/CollectOSS

pull request commits collection could be more efficient

Aperta
#421 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

disclosed-ai task:secondary tech debt
Lingua principale
Python
Stelle
14
Fork
18
Merge medio
6h 59m
PR unite (30g)
1

Descrizione

We might be able to squeeze a lot more performance from our api calls in PR commits collection

Sonnet 4.6 has identified that we are constructing one graphql call per pull request:

https://github.com/chaoss/CollectOSS/blob/96adf3a4d68725db21622673ee6613693c0f5ace/collectoss/tasks/github/pull_requests/commits_model/core.py#L49-L56

Some of these may return very few commits

Other places in the code already batch multiple queries into one graphQL call:

https://github.com/chaoss/CollectOSS/blob/96adf3a4d68725db21622673ee6613693c0f5ace/collectoss/tasks/frontend.py#L207-L212

We should do the same in pull request commits to help make things faster (less waiting for network calls)

(note: this issue should not be confused with the similar issue #420, which describes the same thing for a different part of secondary collection)

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Leggi collectoss/tasks/github/pull_requests/commits_model/core.py alle righe 49-56 per capire come vengono create le chiamate GraphQL per i commit delle pull request. Confrontalo con l’approccio di batching in collectoss/tasks/frontend.py alle righe 207-212, quindi verifica che la raccolta dei commit utilizzi meno chiamate di rete continuando a restituire i commit previsti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
graphql, python
Ambito
api, performance
Tipo di issue
Refactoring
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
68/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.