Prosessien välisen kommunikoinnin analysointi
Salminen, Lauri (2023)
Salminen, Lauri
2023
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202305108910
https://urn.fi/URN:NBN:fi:amk-202305108910
Tiivistelmä
Opinnäytetyön tarkoituksena oli kehittää visualisointityökalu yrityksen tietokoneohjelmiston prosessien välisen kommunikoinnin (IPC) analysoimista varten. Yrityksen ohjelmisto koostuu kymmenistä eri prosesseista, jotka kommunikoivat keskenään käyttäen prosessien välistä kommunikointia. Kommunikointia tehdään paljon ja se on suurelta osin näkymätöntä. Työn tavoitteena oli kehittää ohjelmistoon työkalu, jota käyttämällä tämä liikenne saadaan nä-kyväksi. Valmista visualisointityökalua on tarkoitus käyttää ohjelmiston optimointiin sekä prosessien välisten riippuvuuksien analysointiin.
Visualisointityökalu suunniteltiin koostumaan kahdesta erillisestä ohjelmasta: ohjelmiston IPC-liikenteen tapahtumien keruuohjelmasta sekä keruuohjelmalla kerättyjen tapahtumien visualisointiohjelmasta. Ohjelmiston IPC-liikenteestä poimittu data lähetettiin prosesseilta erilliseen datankeruuohjelmaan. Tätä varten tutkittiin UNIX- sekä Linux-käyttöjärjestelmistä löytyviä IPC-menetelmiä. Tutkituista menetelmistä D-Bus-niminen IPC-järjestelmä valittiin datan lähettämiseen datankeruuohjelmalle. Visualisointiohjelma käyttää graafivisualisointia prosessien välisten riippuvuuksien esittämiseen ja sitä täydentää taulukko yksittäisten tapahtumien esittämiseen. D-Bus-järjestelmää käytettiin Qt Framework -ohjelmistorakenteen D-Bus-kirjastolla ja graafin luomiseen sekä esittämiseen käytettiin cytoscape.js JavaScript -kirjastoa.
Työn tuloksena ohjelmistoon valmistui visualisointityökalu, joka koostuu datankeruuohjelmasta sekä visualisointiohjelmasta. Datan lähettäminen prosesseilta datankeruuohjelmalle D-Bus-järjestelmällä osoittautui hyväksi valinnaksi, ja visualisointiin käytetty graafi sekä taulukko muodostivat hyvin toimivan kokonaisuuden ohjelmiston IPC-tapahtumien sekä riippuvuuksien esittämiseen. Molemmat ohjelmat muodostivat kokonaisuuden, josta on merkittävä apu yrityksen ohjelmiston jatkokehityksessä.
Visualisointityökalu suunniteltiin koostumaan kahdesta erillisestä ohjelmasta: ohjelmiston IPC-liikenteen tapahtumien keruuohjelmasta sekä keruuohjelmalla kerättyjen tapahtumien visualisointiohjelmasta. Ohjelmiston IPC-liikenteestä poimittu data lähetettiin prosesseilta erilliseen datankeruuohjelmaan. Tätä varten tutkittiin UNIX- sekä Linux-käyttöjärjestelmistä löytyviä IPC-menetelmiä. Tutkituista menetelmistä D-Bus-niminen IPC-järjestelmä valittiin datan lähettämiseen datankeruuohjelmalle. Visualisointiohjelma käyttää graafivisualisointia prosessien välisten riippuvuuksien esittämiseen ja sitä täydentää taulukko yksittäisten tapahtumien esittämiseen. D-Bus-järjestelmää käytettiin Qt Framework -ohjelmistorakenteen D-Bus-kirjastolla ja graafin luomiseen sekä esittämiseen käytettiin cytoscape.js JavaScript -kirjastoa.
Työn tuloksena ohjelmistoon valmistui visualisointityökalu, joka koostuu datankeruuohjelmasta sekä visualisointiohjelmasta. Datan lähettäminen prosesseilta datankeruuohjelmalle D-Bus-järjestelmällä osoittautui hyväksi valinnaksi, ja visualisointiin käytetty graafi sekä taulukko muodostivat hyvin toimivan kokonaisuuden ohjelmiston IPC-tapahtumien sekä riippuvuuksien esittämiseen. Molemmat ohjelmat muodostivat kokonaisuuden, josta on merkittävä apu yrityksen ohjelmiston jatkokehityksessä.
