Microsoft Lumos är nu öppen källkod som möjliggör övervakning av webbappmätvärden och snabb upptäckt av avvikelser genom att eliminera falska positiva resultat
Microsoft har öppnat åtkomst till 'Lumos', ett kraftfullt Python-bibliotek för att automatiskt upptäcka och diagnostisera metriska regressioner i "webbskala" -applikationer. Biblioteket har enligt uppgift varit mycket aktivt i Microsoft Teams och Skype. I grund och botten är en mycket kraftfull och intelligent "anomaliedetektor" nu öppen och tillgänglig för webbutvecklare för att upptäcka och ta itu med regressioner i viktiga prestandamätvärden samtidigt som de flesta falska positiva resultat elimineras.
Microsoft Lumos är nu öppen källkod. Den användes aktivt i utvalda Microsoft-produkter och kommer nu att finnas tillgänglig för den allmänna webb- och apputvecklingsgemenskapen. Biblioteket tillät enligt uppgift ingenjörer att upptäcka hundratals förändringar i mätvärden och avvisa tusentals falska larm som dykt upp av anomalidetektorer.
Lumos minskar falsk-positiv varningsfrekvens med över 90 procent, hävdar Microsoft:
Lumos är en ny metod som inkluderar befintliga, domänspecifika anomali-detektorer. Microsoft försäkrar dock att Python-biblioteket kan minska den falskt positiva varningsfrekvensen med över 90 procent. Med andra ord kan utvecklare nu med tillförsikt gå efter ihållande problem istället för intermittenta problem som inte hade en långvarig skadlig effekt.
Onlinetjänsternas hälsa övervakas vanligtvis genom att spåra KPI-mätvärden (Key Performance Indicator) över tiden. Ingenjörer som genomför ”regressionsanalys” kräver mycket tid och resurser för att rensa bort problem som kan vara ett tecken på stora problem. Dessa problem kan leda till stigande driftskostnader och till och med förlust av användare om de inte åtgärdas.
Det behöver inte läggas till att det är tidskrävande att spåra orsaken till varje KPI-regression. Dessutom spenderar lag ofta mycket tid på att analysera problemen bara för att finna att de bara var en avvikelse. Det är här Microsoft Lumos kommer till nytta. Python-biblioteket eliminerar processen för att fastställa om en förändring beror på en befolkningsförskjutning eller en produktuppdatering genom att tillhandahålla en prioriterad lista över de viktigaste variablerna för att förklara förändringar i mätvärdet.
Microsoft Lumos tjänar också det bredare syftet att förstå skillnaden i ett mätvärde mellan två datauppsättningar. Intressant är att plattformen innehåller "bias", och genom att jämföra en uppsättning kontroll- och behandlingsdata medan den förblir agnostisk med tidsseriekomponenten kan Lumos undersöka avvikelser.
Hur fungerar Microsoft Lumos?
Microsoft Lumos arbetar med principerna för A / B-testning för att jämföra par datauppsättningar. Python-biblioteket börjar med att verifiera om regressionen i mätvärdet mellan datamängden är statistiskt signifikant. Det följer sedan upp med en befolkningsbiascheck och biasnormalisering för att ta hänsyn till eventuella befolkningsändringar mellan de två datamängderna. Lumos bestämmer att frågan inte är värt att fortsätta om det inte finns någon statistiskt signifikant regression i mätvärdet. Men om deltaet i mätvärdet är statistiskt signifikant, markerar Lumos funktionerna och rangordnar dem enligt deras bidrag till deltaet i målvärdet.
Lumos Python Library fungerar som det primära verktyget för scenarioövervakning av hundratals mätvärden. Utvecklare och team som utför prestandaanalyser kan övervaka och arbeta med tillförlitligheten hos samtal, möten och PSTN-tjänster (Public Switched Phone Network) hos Microsoft. Biblioteket är operativt på Azure Databricks, företagets Apache-gnistbaserade big data-analystjänst. Det har konfigurerats för att köras med flera jobb som är ordnade enligt prioritet, komplexitet och mätvärden. Jobben slutförs asynkront. Det betyder att om systemet upptäcker en avvikelse utlöses ett Lumos-arbetsflöde och biblioteket analyserar och kontrollerar sedan på ett intelligent sätt om avvikelsen är värt att driva och ta itu med.
Microsoft har noterat att Lumos inte garanterar att fånga alla regressioner i tjänster. Dessutom kommer tjänsten att kräva ett stort antal datamängder för att ge tillförlitlig insikt. Företaget planerar att inkludera kontinuerlig statistikanalys, utföra bättre funktionsrankning och ta med funktionskluster också. Dessa steg bör ta itu med den primära utmaningen med multikollinearitet i funktionsrankning.