TGViewer
Сіпласпластик Сіпласпластик @cpplastic · 739 subscribers
Post #496 1.1K
Вирішив зібрати трохи статистики щодо того, скільки в мене часу на які проєкти йде. Колись користувався WakaTime, а потім якийсь час навіть CodeTime від Software.com, але вони всі грошей вимагають для повнішої аналітики, а мені воно не аж настільки треба.

То краще заселфхостити, еге ж? Поставив місяць тому Ziit: на вигляд дуже лаконічна штука, мені навіть трохи подобається. Але ресурсів споживає зовсім не лаконічно! Одна тільки Timescale DB на 200–300 МБ оперативки чого варта. Плюс є низка інших моментів, що дратують. По-перше, постійно розлоговує. Буквально щогодини або щось таке. Нафіга‽ 🤬 По-друге, доволі лімітований набір розширень для IDE. І по-третє, немає API-шки для експорту — за таке взагалі треба карати. Ну й наостанок не підтримує OIDC.

Отже, вирішив відмовлятися від Ziit, а натомість написати своє! Вчасно схаменувся, втім 😅 Мав на думці ідею рахувати не тільки той час, котрий я безпосередньо пишу код, але й той, коли використовую ШІ-агентів, бо врешті це добрячий такий шматок на себе перетягнуло. Але як виявилося, WakaTime це вже підтримує.

Тож натомість я підняв собі Wakapi — сумісну альтернативу WakaTime з відкритими сирцями. Він звісно трохи кривенький (наприклад, я так і не зміг змінити собі часовий пояс в налаштуваннях через якусь помилку, тож пішов і виправив руками прямо в базі 😂), але свою справу знає. Написаний на 🦶, споживає 40 МБ оперативки у докер-контейнері, працює швидко, і навіть OIDC підтримує! Для Claude Code та OpenCode є окремі плагіни, які звітують в систему час під категорією «ai coding» — можна окремо фільтрувати. Для VS Code та майже будь-якого вашого улюбленого редактора теж є. Дані можна зберігати в Postgres, але мені й SQLite 🪶 вистачає.

Хоча насправді це дивно трохи. Я міркував, як це писав би я, і дійшов висновку, що використав би DuckDB 🦆 (може й не тому, що прям треба, а чисто тому, що не було нагоди кудись його прикрутити досі). З іншого боку всі розширення для IDE шлють якесь «серцебиття» на сервак з купою додаткової інфи (назва проєкту, файлу, гілки, мова тощо) дуже часто, а в DuckDB інфа стовпчиками зберігається, а не рядками, бо це OLAP. Така вставка, певно, за швидкодією значно гірше за SQLite буде, ну а раз у ніколи статистику порахувати можна і зі «звичайної» OLTP. То я, мабуть, врешті складав би все в SQLite і з часом переганяв пачками в DuckDB, хз. Звучить як приклад надмірної інженерії. Якщо хтось тямить, як такі речі правильно робити, або якщо є де почитати про DuckDB для повних нубасів типу мене, то напишіть, плз, у коментарі чи шо.
wakapi.dev Wakapi - Coding Statistics Wakapi is an open-source tool that helps you keep track of the time you have spent coding on different projects in different programming languages and more. Ideal for statistics freaks and anyone else.
  • 🔥 10
  • 👍 3
  • 🤷‍♂ 1
More from @cpplastic
  1. Oct 7, 2026Post #543
  2. Oct 2, 2026Щось не злетіло з self-driving cars у автовиробників, еге ж? А стільки галасу було. Ну зат…
  3. Sep 24, 2026Ух, яку ж класну доповідь подивився: «Scott Jenson: Are we really going to use the same De…
  4. Sep 23, 2026Post #540
  5. Sep 21, 2026«Порекламую» вам український сайт, який мені дуже подобається. Взяв слово в лапки, бо як і…
  6. Sep 18, 2026Ви ж знаєте, що я полюбляю Tailscale 💠 попри те, що недоліків у них теж вистачає? Але сам…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →