Metodologia datelor
Cum colectează, stochează, transformă și etichetează Alveos metricile de distribuție software.
Principii
Fiecare metrică trebuie să numească sursa, semnificația, actualitatea, acoperirea și transformarea. Datele lipsă rămân lipsă: Alveos nu umple întreruperile cu estimări. „Oficial”, „verificat” sau „independent” se folosește numai dacă sursa susține într-adevăr afirmația.
Clase de surse
- Sursă publică a furnizorului: API-uri sau listări publice directe, cum ar fi VS Code Marketplace, Open VSX, GitHub Releases, PyPI și Packagist.
- Set de date public / terț de încredere: seturi numite, cum ar fi PSF BigQuery sau PypiStats.
- Telemetrie a produsului: produsul conectat trimite evenimente de ciclu de viață către Alveos (Beacon; Streaming Zebra în curând). Cifrele vin din produs și din modul de numărare al editorului — declanșate de evenimente, nu preluate de pe un marketplace.
- Import manual al editorului: de exemplu date VS Code Publisher Hub furnizate de editor. Rămân separate de contoarele Gallery publice.
Semnificația metricilor
Ce livrează sursa, Alveos stochează. Ce nu livrează nu este capturat aici.
| Sursă | Livrat și capturat | Lipsește |
|---|---|---|
| VS Code Marketplace (Gallery) | Contoare publice (downloadCount, install, updateCount) — achiziție |
Instalații active în prezent: Gallery nu le furnizează, Alveos nu le capturează aici |
| Open VSX | downloadCount (descărcări VSIX) |
Instalații active, utilizatori unici, dezinstalări: nici livrate, nici capturate |
| GitHub Releases | download_count al fișierelor de release |
Clone, depozite private, arhive sursă |
| PyPI / PypiStats | Descărcări de fișiere (serie zilnică fără oglinzi) | Utilizatori unici și instalații, pentru că sursa nu le numără |
| Packagist | downloads.total / monthly |
Instalații și utilizatori unici |
| Beacon / ciclu de viață | Evenimente install, update, uninstall, usage și build raportate de produs | Contoare de marketplace; uninstall adesea incomplet |
| Publisher Hub (import) | Zile Daily Stats furnizate de editor | Nu este SSOT Gallery; VSIX de pe site doar dacă fișierul are coloana |
Contoarele cu semnificații diferite nu sunt prezentate tacit ca aceeași metrică.
Colectare, actualitate și goluri
Magazinele publice sunt preluate o dată pe zi la 05:20 Europe/Berlin. Se stochează ziua UTC de astăzi. Un preluare eșuat sare ziua, păstrează istoricul și nu scrie zerouri. Gallery, Open VSX, GitHub, PyPI-JSON, PypiStats și Packagist nu sunt recuperate trei zile înapoi.
Pe grafic: de la prima zi stocată, linia continuă rămâne la ultimul nivel cunoscut (step-hold). Dacă lipsește un preluare, Alveos desenează același nivel punctat — ultima valoare cunoscută, fără prognoză și fără curbă de tendință peste punctele reale. Zilele lipsă din fereastră sunt marcate. Zilele dinaintea conexiunii nu sunt goluri.
Dacă ultima zi reușită este de acum două sau trei zile, seria este întârziată; din a patra zi este învechită. Este o etichetă de afișare, nu o recuperare.
Două excepții rescriu zile recente dacă următorul preluare reușește: Streaming Zebra stochează D−2 și D−1 din rezumat; țările PyPI (BigQuery, tarife plătite) rescriu ultimele șapte zile UTC. Importul editorului și Beacon nu sunt un preluare zilnic și nu sunt notate ca goluri ratate.
Transformare și comparabilitate
Alveos păstrează valorile brute ale furnizorului și etichetează valorile derivate, cum ar fi diferențele contoarelor cumulative, sumele, rapoartele, valorile importate și partițiile filtrate. Canalele de livrare directă și GitHub care pot descrie aceeași livrare rămân separate. Actualizările Streaming Zebra și Beacon nu sunt adunate de două ori.
Exporturi reproductibile
Exporturile CSV și JSON includ furnizorul, ID-ul extern, clasa sursei, semnificația metricii, începutul acoperirii, ritmul, versiunea transformării, linkul sursei și un hash SHA-256 pe rând. Instantaneele istorice au în prezent precizie de zi UTC: fetched_on conține ziua, time_precision este day, iar fetched_at rămâne gol în loc să inventeze o oră.
Referințe furnizori
| Sursă | Preluare | Ritmul |
|---|---|---|
| VS Code Gallery, Open VSX, GitHub Releases, PyPI-JSON, PypiStats, Packagist | Cron stochează ziua UTC de astăzi | Zilnic 05:20 Europe/Berlin |
| Țări PyPI (BigQuery, tarife plătite) | Upsert al ultimelor șapte zile UTC | Același cron |
| Streaming Zebra (în curând) | Rezumat; repară D−2 și D−1 | Același cron |
| Beacon | Produsul trimite | Pe evenimente, nu un preluare zilnic |
| Publisher Hub | Import xlsx | La import |
Corecții auditabile
Titularii și personalul autentificați semnalează sub Corecții de date o conexiune deja stocată: o zi UTC, o metrică (descărcări, instalații sau actualizări), un întreg propus și un motiv. Cererea îngheață valoarea brută observată. O corecție nu umple o preluare ratată și nu scrie o estimare într-un gol. Nu există import de corecții și nici API de corecție.
O altă persoană trebuie să accepte înainte ca cititorii să vadă numărul nou. Instantaneul furnizorului rămâne neschimbat. Graficele și totalurile citesc stratul activ. O zi lipsă rămâne un gol.
Marcaj în export
CSV și JSON păstrează coloanele de metrici. Într-un rând corectat acestea sunt valorile stratului, nu întregii preluați de la furnizor.
| Coloană | Rând corectat | Rând necorectat |
|---|---|---|
correction_applied |
1 |
0 |
correction_request_ids |
Id-urile cererilor acceptate, separate prin virgulă | gol |
corrected_fields |
installs, downloads și/sau updates |
gol |
correction_original_json |
JSON cu întregii furnizorului înlocuiți, de exemplu {"downloads":120} |
gol |
row_hash este SHA-256 al acelui rând de export, inclusiv numerele stratului și aceste patru coloane. Comparați correction_original_json cu furnizorul când aveți nevoie de întregul preluat.
Întrebări sau erori de date suspectate: support@alveos.eu.