Dé oplossing om veel voorkomende excepties snel op te lossen

Gepubliceerd: 28 februari 2020

Luke Spaans

Developer

Hoe zorg je ervoor dat bepaalde development kennis bedrijfsbreed kan worden gedeeld in plaats van dat kennis binnen een team blijft? Het gebeurt wel eens dat een developer urenlang met dezelfde foutmelding bezig is en deze maar niet kan oplossen. Dit terwijl een andere developer binnen het bedrijf deze exceptie al vaker voorbij heeft zien komen en deze gemakkelijk oplost. Het probleem zit hem vooral in de tijd dat gestoken wordt in het maken of oplossen van een functionaliteit wat meer tijd kost dan gebruikelijk. Deze situatie komt vaak voor wanneer er gewerkt wordt in teams die aan een apart product werken. Om dit op te lossen heb ik een innovatieve software oplossing ontwikkeld. In deze blog vertel ik je daar alles over.

Het error log dashboard

Een oplossing voor dit probleem is een dashboard. Het error log dashboard. Voor het dashboard heb ik een package ontwikkelt die informatie van een exceptie ophaalt. De informatie komt vervolgens op een dashboard waar alle developers toegang tot hebben. Hier kunnen de developers aangeven of ze de oplossing ervoor hebben of vragen voor ondersteuning.

Alles over de ontwikkelde package

De package is in Laravel ontwikkeld. Er wordt in de verschillende projecten gekeken wanneer er een nieuwe exceptie plaatsvindt. Wanneer dit het geval is, dan wordt er informatie verzameld wat belangrijk kan zijn om te weten, zodat je weet hoe je deze exceptie moet oplossen. Deze informatie bevat de file waarin de exceptie is voorgekomen, een stacktrace om te zien waar de error plaatsvond, in welke database de error voorkwam en nog veel meer. De package zorgt ervoor dat de info wordt verstuurd naar het dashboard die alles opslaat in een database. Hoe meer data er wordt verstuurd vanuit de projecten waar de package geïnstalleerd is, hoe meer overzicht je krijgt in de veel voorkomende en dus belangrijke excepties. De package is hier te vinden: https://packagist.org/packages/lukeboy25/errorlogger#1.2.2

Hoe werkt het Error log dashboard

Alle binnenkomende excepties worden weergegeven op een overzicht waar je ook kan zoeken op een bepaalde exceptie. Zie hier een voorbeeld exceptie die voor kan komen op het overzicht.

Voorbeeld exceptie
Voorbeeld exceptie

Nu gebeurt het ook wel eens dat een bepaalde exceptie meerdere keren voorkomt, omdat je er al wat langer tegenaan loopt of omdat deze terugkerend is. In plaats van dat de exceptie opnieuw wordt opgeslagen, wordt er gekeken of deze al bestaat in de lijst. Als dit voorkomt, dan wordt deze niet opnieuw opgeslagen, maar wordt de `trigger` met één verhoogd. Zo krijg je ook een beter overzicht van welke exceptie het meeste terugkerend is. Ontwikkelaars zullen dus vaak excepties zien die veel getriggerd zijn. De kans is dan hoger dat een exceptie wordt opgelost, omdat meerdere ontwikkelaars er al tegenaan zijn gelopen.

triggered & times
triggered & times

Reactie te plaatsen op een exceptie

Als gebruiker van het systeem heb je de mogelijkheid om een reactie te plaatsen op een exceptie om hier bijvoorbeeld een vraag over te stellen of een toelichting te geven. Zo kan je net zoals op Stackoverflow een soort van ‘thread’ houden over het toepassende onderwerp van de exceptie. Je antwoordt met een reply op het onderwerp waar je jouw antwoord of vraag kan stellen. Vervolgens komt jouw naam erbij te staan met de datum en tijd dat je hebt gereageerd.

Exceptie oplossen

Via het overzicht heb je ook de mogelijkheid om een exceptie op te lossen wanneer je weet hoe je dit moet afvangen. Vervolgens komt jouw naam erbij te staan en zo weten andere developers dat jij deze exceptie hebt opgelost. Als een andere developer tegen deze exceptie aanloopt, dan kan hij deze persoon raadplegen of hij kan een bericht plaatsen op de exceptie met de vraag hoe je deze het beste kunt oplossen. Het maakt niet uit welk team de betreffende developer komt, maar het gaat er meer om of er een developer is die al eerder tegen de exceptie is aangelopen. Hiermee bespaar je veel tijd en zorgt hij/zij ervoor dat de oplossing gemakkelijk over wordt gebracht naar de andere developer.

Voorbeeld exception oplossen
Voorbeeld exception oplossen

Error log dashboard dé oplossing

Hier zie je een overzicht van alle exceptions die binnen zijn gekomen op het dashboard vanuit de projecten die de packages geïnstalleerd hebben.
Hier zie je een overzicht van alle exceptions die binnen zijn gekomen op het dashboard vanuit de projecten die de packages geïnstalleerd hebben.
Hier zie je een overzicht van alle exceptions die al opgelost zijn door een developer. Wanneer je een exceptie aanklikt, dan kan je een beschrijving zien van hoe de exceptie wordt opgelost.
Hier zie je een overzicht van alle exceptions die al opgelost zijn door een developer. Wanneer je een exceptie aanklikt, dan kan je een beschrijving zien van hoe de exceptie wordt opgelost.

Om meer interactie te krijgen onderling, is het error log dashboard een goede oplossing. Door de package te installeren in de lopende projecten, wordt hiermee allerlei data opgehaald waar je een beter overzicht uit kan halen. Ook wordt de kennis zo binnen het bedrijf verbreed en stimuleer je developers om samen met elkaar punten aanspreekbaar te maken. Uiteindelijk bespaart het een hoop tijd voor developers als ze tegen minder excepties vastlopen.

Opmerkingen

Er zijn momenteel nog geen opmerkingen geplaatst onder deze blog.
Wil jij als eerste een bericht achter laten?

Laat een bericht achter
Aantal tekens:0 / 500

Beveiligd met reCAPTCHA.PrivacyVoorwaarden