Datametodik
Hur Alveos samlar in, lagrar, omvandlar och märker mätvärden för programvarudistribution.
Principer
Varje mätvärde måste ange källa, betydelse, aktualitet, täckning och omvandling. Saknade data förblir saknade: Alveos fyller inte avbrott med uppskattningar. ”Officiell”, ”verifierad” eller ”oberoende” används bara om källan verkligen bär det påståendet.
Källklasser
- Publik leverantörskälla: direkta publika API:er eller listningar som VS Code Marketplace, Open VSX, GitHub Releases, PyPI och Packagist.
- Publikt dataset / betrodd tredje part: namngivna dataset som PSF BigQuery eller PypiStats.
- Produktens egen telemetri: den anslutna produkten skickar livscykelhändelser till Alveos (Beacon; Streaming Zebra snart tillgänglig). Siffrorna kommer från produkten och utgivarens räknesätt — händelsestyrda, inte hämtade från en marknadsplats.
- Manuell utgivarimport: till exempel VS Code Publisher Hub-data som utgivaren lämnar. De hålls åtskilda från publika Gallery-räknare.
Mätvärdenas betydelse
Det källan levererar lagrar Alveos. Det den inte levererar fångas inte här.
| Källa | Levererat och fångat | Saknas |
|---|---|---|
| VS Code Marketplace (Gallery) | Publika räknare (downloadCount, install, updateCount) — förvärv |
Just nu aktiva installationer: Gallery levererar det inte, Alveos fångar det inte här |
| Open VSX | downloadCount (VSIX-nedladdningar) |
Aktiva installationer, unika användare, avinstallationer: varken levererade eller fångade |
| GitHub Releases | download_count för releasefiler |
Kloner, privata arkiv, källarkiv |
| PyPI / PypiStats | Filnedladdningar (daglig serie utan speglar) | Unika användare och installationer, eftersom källan inte räknar dem |
| Packagist | downloads.total / monthly |
Installationer och unika användare |
| Beacon / livscykel | Install-, update-, uninstall-, usage- och build-händelser rapporterade av produkten | Marknadsplatsräknare; uninstall ofta ofullständig |
| Publisher Hub (import) | Daily-Stats-dagar som utgivaren lämnar | Inte Gallery-SSOT; webbplats-VSIX bara om filen har kolumnen |
Räknare med olika betydelse visas inte tyst som samma mätvärde.
Insamling, aktualitet och luckor
Publika butiker hämtar Alveos en gång om dagen kl. 05:20 Europe/Berlin. Det som lagras är dagens UTC-dag. En misslyckad hämtning hoppar över dagen, behåller historiken och skriver inga nollor. Gallery, Open VSX, GitHub, PyPI-JSON, PypiStats och Packagist fylls inte tre dagar bakåt.
På grafen: från den första lagrade dagen ligger den heldragna linjen kvar på senast kända nivå (step-hold). Saknas en hämtning däremellan ritar Alveos samma nivå streckad — senast kända värde, ingen prognos och ingen trendkurva över de verkliga punkterna. Saknade dagar i fönstret markeras. Dagar före anslutningen är inte luckor.
Om den senaste lyckade dagen ligger två eller tre dagar tillbaka är serien fördröjd; från den fjärde dagen inaktuell. Det är en visningsetikett, inte en efterhämtning.
Två undantag skriver om nyare dagar när nästa hämtning lyckas: Streaming Zebra lagrar D−2 och D−1 från sammanfattningen; PyPI-länder (BigQuery, betalda tariffer) skriver om de senaste sju UTC-dagarna. Utgivarimport och Beacon är inte en daglig hämtning och räknas inte som missade luckor.
Omvandling och jämförbarhet
Alveos behåller råa leverantörsvärden och märker härledda värden som skillnader i kumulativa räknare, summor, kvoter, importerade värden och filtrerade partitioner. Direkta leveranskanaler och GitHub som kan beskriva samma leverans hålls åtskilda. Streaming Zebra- och Beacon-uppdateringar adderas inte dubbelt.
Reproducerbara exporter
CSV- och JSON-exporter innehåller leverantör, externt ID, källklass, mätvärdesbetydelse, täckningsstart, rytm, omvandlingsversion, källänk och en SHA-256-radhash. Historiska ögonblicksbilder har för närvarande UTC-dagsprecision: fetched_on innehåller dagen, time_precision är day, och fetched_at lämnas tomt i stället för att hitta på en klocktid.
Leverantörsreferenser
| Källa | Hämtning | Rytm |
|---|---|---|
| VS Code Gallery, Open VSX, GitHub Releases, PyPI-JSON, PypiStats, Packagist | Cron lagrar dagens UTC-dag | Dagligen 05:20 Europe/Berlin |
| PyPI-länder (BigQuery, betalda tariffer) | Upsert av de senaste sju UTC-dagarna | Samma cron |
| Streaming Zebra (snart tillgänglig) | Sammanfattning; läker D−2 och D−1 | Samma cron |
| Beacon | Produkten skickar | Händelsestyrd, inte en daglig hämtning |
| Publisher Hub | xlsx-import | Vid import |
Granskningsbara korrigeringar
Inloggade utgivare anmäler under Datakorrigeringar en redan lagrad anslutning: UTC-dag, mätvärde (nedladdningar, installationer eller uppdateringar), föreslaget värde och skäl. Begäran sparar det observerade råvärdet. En korrigering fyller inte en missad hämtning och skriver inte en uppskattning i en lucka.
Granskning, godkännande, avslag, tillämpning och ersättning är bara tillagda händelser i en hashkedja som gör manipulation synlig. En tillämpad korrigering är ett versionslagt läs-overlay; leverantörens ögonblicksbild förblir oförändrad. Grafer, summor och exporter använder det aktiva overlayt. CSV/JSON anger begäran och ursprungliga leverantörsvärden med correction_request_ids och correction_original_json. Ett nyare godkännande återkallar det gamla overlayt men bevarar båda revisionerna.
Frågor eller misstänkta datafel: support@alveos.eu.