LogStruct - logi struktureerimise tööriist

Juhendajad: Neeme Praks (Regio), Toivo Vajakas (Regio)

Regio taust

Regio on tarkvarafirma, kes toodab geoinfosüsteeme (GIS). Geoinfosüsteemid on lai mõiste, Regio spetsialiseerub peamiselt järgmistele valdkondadele:

  • LBS – asukohapõhised teenused mobiilsidevõrgus. Siia kuuluvad nii vahekihitarkvara kui ka rakendused, mida kasutavad lõppkasutajad.
  • LOGISME – tarkvaratoodete perekond, millega on võimalik arvutada lühimat teekonda, teekonda optimiseerida, planeerida veoringe, suurendada tulusid, mis on seotud logistikaülesannete lahendamisega. Lisaks kuuluvad tooteperekonda tooted, millega on võimalik (veo)autode ja kaupade liikumist jälgida reaalajas kaardil.
  • Veebipõhised GIS-id – geoinfosüsteemid, mis võimaldavad veebis kaardiandmeid näidata, hallata, koguda, lisada ja täiendada.
  • Spetsiaaltarkvara – GIS-id, mis on suunatud kindla asukohapõhise info haldamiseks – nt. metsainfosüsteemid, põllumajandusinfosüsteemid, militaartarkvara.

Ülesannetest

Sel aastal oleme otsustanud WoC raames ise välja pakkuda ühe ülesande (LogStruct tööriist), kuid oleme avatud ka tudengite ettepanekutele. Kui mõni meeskond teeb meile meie jaoks huvitava pakkumise, siis võime WoC'l hoopis tolle idee sponsoriks hakata. Fantaasialennu tiivustamiseks toome siinkohal ära ka mõned ideed, mida me ise kaalusime WoC'l esitada:

  • EestiTeedPildis - Eesti teede kaardistamisel on Regiole kogunenud pildipank Eesti teedest (3 kaardit sekundis). Nendest piltidest oleks võimalik kokku panna midagi sarnast nagu seda on (Google StreetView)
  • WebTranslate - Web2.0 kasutajaliides veebirakenduste kasutajaliideste mugavaks tõlkimiseks
  • DateFinder - asukohapõhine "kohtingumootor" (WEB, WAP, SMS).
  • Asukohapõhine veebipäevik
  • Subversioni põhine lihtne Content Management System
  • Testimisvahend hajusate integratsioonitestide läbi viimiseks
  • Symbiani platvormi peale kaardiklient. Sarnane asi on näiteks Java-põhine MGMaps
  • Java-põhine tarkvara mobiili, mis kasutaks IMS standardit lahedate omaduste realiseerimiseks.
  • Skype / orkut / facebook ja teiste sotsiaalvõrgusüsteemidega liidestamine

Nüüd aga tutvustame oma selleaastast põhiprojekti: LogStruct - logi struktureerimise tööriista.

Lähteülesande taust

Regio toodab palju serveris töötavat tarkvara, mis kõik kirjutavad logi (tüüpiliselt tekstifaili). Tüüpilised probleemid seda sorti logiga:

  • liiga detailne - sealt ei ole võimalik suurt pilti süsteemi käitumise kohta saada, ei ole võimalik jälgida trende.
  • ei ole lihtsasti filtreeritav - seotud eelmise punktiga, detailsuse probleemi saaks vähendada eri filtrite võimaldamisega (sündmuse tõsidus / severity, süsteemi komponent, kasutaja kontekst, jne)
  • eri komponentide omavahelisi sõltuvusi on raske jälgida
  • jne

Soov on välja töötada logide käitlemise tööriist, mis võimaldaks ülaltoodud probleeme leevendada ja annaks süsteemi käitumisest ülevaatliku pildi.

Ülesanne

Disainida ja programmeerida logide käitlemise tööriist - ülesandes sisaldub ka lähteülesande täpsustamine. Otseseid tehnoloogilisi piiranguid ei ole, kuid vähemalt GUI peaks töötama eri operatsioonisüsteemide peal, seega Java tundub suhteliselt loomulik valik (kuid samas võib GUI lahendada ka veebiliidesena - op-süsteemist sõltumatuse nõue oleks sellega rahuldatud).

Sisendid Regio poolt:

  • abi lähteülesande täpsustamisel (olemasolevaid ideid on mingil määral juba maja sees "prototüübitud")
  • abi tööriista ahitektuuri ja disaini välja töötamisel
  • tehnilised töövahendid, kui vaja (versioonihaldus, issue tracking, jne)

Väljund:

  • kood, dokumentatsioon ja testid

Tööriista põhiülesanded:

  • logide visualiseerimine
  • logikirjete filtreerimine eri kriteeriumite alusel
  • logide statistiline analüüs

Detailsem kirjeldus on huvilistele kättesaadav e-posti teel.

Muud kommentaarid:

  • ilmselt saab tööriist koosnema mitmest moodulist (andmete eeltöötleja, raportite genereerija, GUI, jne)
  • vaata ka näiteks glTail.rb ja Apache Chainsaw projekte
  • WoC raames valmivas prototüübis võib kiirusele vähem tähelepanu pöörata ja rohkem pühenduda ergonoomikale (st kasutajaliidese leiutamisele)
  • eelistatud on meeskonnad, kelle ridades on huvi kasutajaliideste disainimise vastu