Kedy pracujem - utilita na záznam štatistík o používaní PC
Variabilná pracovná doba a práca z domu majú okrem svojich výhod aj nevýhody, napríklad rozkúskovanie práce. Ja som bol zvedavý, ako veľmi rozkúskovaný mám pracovný deň, tak som si napísal malý nástroj na zaznamenávanie činnosti pri PC.
Hlavný repozitár mám zverejnený na githube. Na spustenie sledovania budeme potrebovať python3 a pynput. Na vygenerovanie HTML výstupu sú navyše vyžadované balíky pytz a numpy.
Používanie
Pred samotným spustením musia byť nainštalované vyššie uvedené balíky. Nainštalovať sa môžu buď ponmocou balíčkovacieho systému distribúcie, alebo pod užívateľom napríklad pomocou virtualenvu. Odporúčam skôr použitie distribučných balíkov. Ako príklad však použijem virtualenv, keďže ten je univerzálnejší.
Ak je nainštalovaný python3 a virtualenv môžme vytvoriť nový adresár, v ktorom bude virtuálne prostredie pythonu a utilitka. Závislosti nainštalujeme vo virtuálnom prostredí pomocou nástroja pip.
mkdir activity_recording cd activity_recording git clone https://github.com/mireq/when-i-work.git python3 -m venv virtualenv # áno tu je ako prvý znak bodka . ./virtualenv/bin/activate pip install -r when-i-work/requirements.txt
Pre sledovanie aktivity stačí spustiť:
./virtualenv/bin/python when-i-work/activity_recording.py
Uvedený príkaz odporúčam spustiť po spustení grafického prostredia. V tom prípade treba uviesť absolútnu cestu k pythonu (z virtuálneho prostredia, nie systémovú binárku).
Program zaznamenáva časy začiatku a konca používania klávesnice. Za interval, kedy sa používa počítač je považovaný interval, v ktorom sú stláčané klávesy na klávesnici v intervale nie väčšom než 60 sekúnd.
Pri spustení program zaznamenáva intervaly do súboru ~/.work_log
. Je to obyčajný textový súbor, v ktorom na začiatku riadka je začiatočný čas a potom sú znakom |
oddelené intervaly vo formáte aktivita:počet sekúnd
, kde aktivita je buď 1
pre aktívny interval, alebo 0
pre neaktívny interval.
Na parsovanie logu a HTML výstup je pripravený skript parse.py
. Stačí ho spustiť (./virtualenv/bin/python when-i-work/parse.py
) a v adresári so skriptom sa vytvorí súbor work_log.html
.
Pre pridávanie komentárov sa musíte prihlásiť.
super, vdaka za clanok.
otazka:
Je nejaky velky rozdiel tej instalacie popripade nejakeho vytazovania systemu?
Kedze odporucas distribucne baliky ale davas priklad virtualenv.
nemam teraz cas to skusat tak sa pytam.
ak bude cas tak to skusim, len teraz niet casu ani na blog.
Nie som veľkým fanúšikom toho, keď si každý program so sebou ťahá závislosti. Pri inštalácii cez balíčkovací systém sa závislosti pekne aktualizujú spolu so systémom, nie sú naištalované duplicitne, nemusí sa program spúšťať špeciálne cez virtualenv ...
ok.
tak to skusim cez balickovaci system
Ešte by som pridal písanie JS kódu červenou.
Ale máš to pekné.
Prečo nie aj monitorovanie myšky, ale iba klávesnice?
Z dvoch dôvodov: klávesnica generuje menej eventov, takže to menej vyťažuje CPU (som dosť citlivý na výdrž baterky) a presnejšie to zodpovedá práci (keď používam len myš zvyčajne to znamená, že len surfujem na internete).