En el món del desenvolupament i l'operació de programari, hi ha una veritat incòmoda: les eines de monitorització d'infraestructura et diuen que el servidor està en flames, però poques vegades qui va encendre el llumí. Equips sencers confien en Zabbix, Nagios o Prometheus per conèixer l'estat de CPU, memòria o disc, però quan un client reporta que 'el lloc es va alentir després del dinar', aquelles gràfiques només arronsen les espatlles. La resposta a 'quina pàgina, quina ruta de codi, des de quan' viu una capa més amunt: en el rendiment d'aplicacions (APM). El mercat SaaS ofereix solucions com Datadog APM o New Relic, però amb costos que per a una empresa amb desenes de llocs en servidors propis poden superar els cinc dígits anuals, a més d'un detall subtil: les metadades del trànsit de producció acaben al núvol d'un altre proveïdor, cosa que en entorns europeus o empresarials obre converses de compliment que ningú vol tenir.
A Intaro, on l'autor lidera el desenvolupament backend com a sotsdirector, han tingut aquesta capa d'APM durant més d'una dècada sense pagar un cèntim: Pinboard, un panell de control de codi obert per a Pinba, nascut al seu propi repositori el 2013. Aquest ecosistema se situa al costat de Zabbix, observant desenes de llocs productius en viu. Quan alguna cosa es degrada, Zabbix assenyala on; Pinboard respon exactament què: la URL, el grup de temporitzadors i el moment exacte en què va començar.
Pinba, el motor subjacent, agrega cada petició de tots els servidors PHP en temps real, consultable mitjançant SQL, però només reté una finestra mòbil de 15 minuts a la RAM. És brillant per al 'ara', però inútil per a 'comparar amb el dimarts passat'. La idea central de Pinboard és elegantment simple: cada 15 minuts, fer una fotografia de les dades vives i arxivar-la. Una ordre d'agregació programada llegeix les vistes en memòria de Pinba i escriu instantànies amb marca de temps en taules InnoDB ordinàries (la família ipm_*) que persisteixen tot el temps que es vulgui: un mes per defecte. Així es genera historial de trànsit, temps de resposta, CPU i memòria per lloc, per servidor i per lloc en servidor; percentils p90/p95/p99; les 10 pàgines més lentes, les que més memòria consumeixen i les que més CPU exigeixen, amb les seves URLs exactes; i les pàgines que retornen errors HTTP, perquè els pics de 5xx arribin amb nom i cognom.
El més interessant des del punt de vista tècnic succeeix al límit entre Pinboard i el motor. Com demanar a Pinba els percentils per host virtual? No escrivint una consulta, sinó creant una taula amb ENGINE=PINBA i un comentari que defineixi l'informe. Per exemple: CREATE TABLE ipm_pinba_report_by_server_90_95_99 ( ... ) ENGINE=PINBA COMMENT='report2:::90,95,99';. El motor analitza aquest comentari i des d'aquell moment manté l'agregació incrementalment a la RAM a mesura que arriben els paquets UDP. Seleccionar d'aquesta taula és una cerca instantània, no un càlcul pesat. Les migracions de Pinboard creen un conjunt d'aquestes taules virtuals, i l'agregador simplement les cull cada 15 minuts. La feina pesada ocorre on ja estan les dades; el panell es manté com un lector lleuger i econòmic.
La càrrega sobre els servidors de producció és mínima: un paquet UDP per petició. L'extensió PHP no afegeix latència mesurable, i els llocs ni tan sols noten si el panell existeix. Aquesta arquitectura s'executa en llocs reals de clients les 24 hores del dia, tots els dies.
Pinboard va ser creat per Ilyas Salikhov a Intaro i open-source l'abril de 2013. Va obtenir 475 estrelles a GitHub, 89 forks i pedaços d'una dotzena de col·laboradors. Però també era clarament un artifacte de 2013: PHP 5.3, Silex, Twig 1, Swiftmailer. El desenvolupament actiu es va esvair després de 2016; l'últim commit va ser el 2018, el mateix any en què Silex va ser oficialment discontinuat. El projecte no només va envellir, es va fossilitzar: no es podia instal·lar amb Composer en un servidor modern sense rituals complexos. I donat que Pinba també estava encallat en MySQL 5.x, tot l'ecosistema es va lliscar lentament cap a 'només funciona en servidors que temem tocar'. No obstant això, dins de l'empresa seguia corrent i sent útil: un panell de deu anys encara capturava regressions reals en llocs reals cada setmana. Eines així mereixen un rescat.
El 2026, l'autor va reprendre Pinboard. No va ser un port, sinó una reescriptura recolzada en les espatlles del projecte antic: el mateix model de dades provat i els mateixos informes, però tota la resta nou. Backend amb Symfony 8 i PHP 8.4/8.5, Doctrine DBAL 4, i PHPStan al nivell 10. Un codi que es va escriure per última vegada a l'era PHP 5 ara passa l'anàlisi estàtica més estricta. El frontend es va reconstruir amb Webpack Encore i pnpm, substituint el jQuery de 2013. Les operacions es van simplificar amb un stack Docker Compose: nginx, PHP-FPM, un contenidor cron per a l'agregació i el motor Pinba (el fork per a MySQL 8.4 LTS / MariaDB). Un sol docker compose up -d i el sistema arrenca. Es va afegir integració contínua amb tests i cobertura, escaneig de seguretat CodeQL, Dependabot i llançaments automatitzats. Es van eliminar trenta dependències amb vulnerabilitats acumulades. També es van corregir problemes subtils que arrossegava el codi antic, com bloquejos d'agregació després de caigudes, un error en la neteja de l'historial d'etiquetes i el filtratge d'accés per servidor per usuari.
El projecte viu a github.com/intaro/pinboard, sota llicència MIT, i la imatge Docker es descarrega unes 700 vegades al mes. Tot el stack, amb una sola ordre, sense factures de llicència. Per a equips de desenvolupament que busquen mantenir el control de les seves dades i evitar costos recurrents, Pinboard és una alternativa real a les solucions comercials. I aquí és on entra Q2BSTUDIO: com a empresa de desenvolupament de programari i tecnologia, sabem que cada projecte té necessitats úniques de monitorització. Tant si estàs construint aplicacions a mida per als teus clients com gestionant infraestructura al núvol amb cloud AWS/Azure, disposar d'eines com Pinboard et permet entendre el rendiment real del teu codi sense dependre de tercers. La integració d'IA, ciberseguretat, BI amb Power BI o agents intel·ligents requereix també visibilitat a nivell d'aplicació. Ser autoallotjat i gratuït, Pinboard encaixa perfectament en entorns on la privacitat i el control són crítics.
En resum, Pinboard demostra que de vegades no cal reinventar la roda, sinó negar-se a deixar morir el que funciona. Tretze anys després del seu primer commit, segueix fent el que va ser creat per fer: dir als desenvolupadors quina pàgina va encendre el llumí. I amb el nou manteniment, està llest per a altres tretze anys.

