Skip to main content

Activity for jmrp.eu

Active on:

Loading activity...

Shipped: skill-eval-labTangled
PostedBluesky network

Mi RB5009 tenía un bucle de capa 2. Lo delataba el log del kernel, no el de RouterOS ni su monitor de puertos. Lo vi con mikroscope, que he hecho: un agente Go en un contenedor de RouterOS, de 1 a 100 Hz, y una CLI que reenvía a 11 destinos. MIT. github.com/jmrplens/mik... #Mikrotik #OpenSource

  • El logo de mikroscope, nueve barras ámbar de distinta altura cruzadas por una línea plana a su media, con las tres del centro por encima, sobre el nombre mikroscope y el lema: telemetría de kernel por debajo del segundo desde dentro de un router MikroTik. Un panel titulado lo que RouterOS promedia o pasa por alto enumera cuatro cifras. En torno a 1 s: la carga de CPU en la API, una media móvil, 0,1 a 0,6 s tarde en dos horas medidas. 2,5 %: una ráfaga de 100 ms en un núcleo, en una media de 1 s y 4 núcleos, que no dice cuándo. 0: líneas del bucle en el log de RouterOS, con el kernel anotando el bucle de capa 2 cada 2 s. Unas 35 000: interrupciones del temporizador por segundo, en ráfagas de 20 a 90 s en un núcleo cada vez, desde unas 2 500, con Home Assistant consultando la API; el profile de RouterOS apenas lo mostró. Debajo: mikroscope corre en el router, en un contenedor, y lee los contadores del propio kernel de 1 a 100 Hz. Medido en un RB5009, RouterOS 7.24.2 y 7.24.4; el 2,5 % es aritmética. Al pie, github.com/jmrplens/mikroscope y: código abierto, MIT, RouterOS 7.24 o posterior, arm64, arm y x86_64.
  • Cómo funciona mikroscope, en cuatro pasos numerados. 1, el kernel del router: /proc, /sys, /dev/kmsg y perf. El contenedor ve la CPU, interrupciones y memoria del router. 2, el agente, en un contenedor de RouterOS: binario Go estático en imagen scratch, sin conexión saliente. Muestrea de 1 a 100 Hz, 10 por defecto; guarda los últimos 60 s. Sirve deltas de ticks en bruto por HTTP en un veth /30. 3, el colector, a 11 destinos: con la API de RouterOS, añade el tráfico por interfaz a 1 Hz. Los destinos: fichero, Prometheus, InfluxDB 3, Loki, OTLP, Graphite, Elasticsearch, script SQL, PostgreSQL, Telegraf y salida estándar. 4, Grafana: 5 dashboards, uno por almacén, de 30 a 177 paneles. Reglas de alerta para InfluxDB 3, Prometheus y PostgreSQL. Lo que cuesta el agente a 10 Hz: 2,69 % de un núcleo, 13,2 MiB de memoria residente, 0 huecos y 0 pérdidas; RB5009UG+S+, RouterOS 7.24.2, 2026-09-18, una ventana de 300 s. Al final, doctor solo lee; install lista cada orden y pregunta antes, sobre dos órdenes: mikroscope doctor --router admin@192.168.88.1 y mikroscope install --router admin@192.168.88.1.
PostedBluesky network

My RB5009's kernel logged a layer-2 loop, a line every 2 s, while RouterOS's log and port monitor showed a healthy device. I saw it with mikroscope, which I built: Go agent in a RouterOS container, 1 to 100 Hz, and a CLI that forwards to 11 sinks. github.com/jmrplens/mik... #Mikrotik #OpenSource

  • The mikroscope logo, nine amber bars of different heights crossed by a flat line at their average, with the three middle bars rising above it, over the name mikroscope and the tagline: sub-second kernel telemetry from inside a MikroTik router. A panel headed what RouterOS averages or overlooks lists four figures. About 1 s: CPU load over the API, a trailing mean, 0.1 to 0.6 s late in two measured hours. 2.5 %: a 100 ms burst on one core, in a 4-core, 1 s average, which cannot say when. 0: loop lines in RouterOS's log, while the kernel logged the layer-2 loop every 2 s. About 35 000: timer interrupts a second, in 20 to 90 s bursts on one core at a time, up from about 2 500, while Home Assistant polled the API; RouterOS's own profile barely showed it. Below: mikroscope runs on the router, in a container, and reads the kernel's own counters at 1 to 100 Hz. Measured on one RB5009, RouterOS 7.24.2 and 7.24.4; the 2.5 % is arithmetic. At the foot, github.com/jmrplens/mikroscope and: open source, MIT, RouterOS 7.24 or later, arm64, arm and x86_64.
  • mikroscope, how it works, in four numbered steps. 1, the router's kernel: /proc, /sys, /dev/kmsg and perf. The container sees the router's CPU, interrupts and memory. 2, the agent, in a RouterOS container: static Go binary in a scratch image, no outbound connection. Samples at 1 to 100 Hz, 10 by default; keeps the last 60 s. Serves raw tick deltas over HTTP on a /30 veth. 3, the collector, into 11 sinks: with the RouterOS API, adds per-interface traffic at 1 Hz. The sinks: file, Prometheus, InfluxDB 3, Loki, OTLP, Graphite, Elasticsearch, SQL script, PostgreSQL, Telegraf and stdout. 4, Grafana: 5 dashboards, one per store, of 30 to 177 panels. Alert rules for InfluxDB 3, Prometheus and PostgreSQL. What the agent costs at 10 Hz: 2.69 % of one core, 13.2 MiB resident memory, 0 gaps and 0 drops; RB5009UG+S+, RouterOS 7.24.2, 2026-09-18, one 300 s window. Last, doctor only reads; install lists every command and asks first, above two commands: mikroscope doctor --router admin@192.168.88.1 and mikroscope install --router admin@192.168.88.1.
PostedBluesky network

GitHub guarda el tráfico 14 días y la actividad hasta 300 eventos. ghchronicle lo conserva todo: 92 medidas con su fecha, en InfluxDB, PostgreSQL, Prometheus y 8 destinos más, con dashboards de Grafana. Go, MIT. github.com/jmrplens/ghc... #GitHub #OpenSource #Grafana

  • El logo de ghchronicle, una cuadrícula verde de cinco por cinco que sube en diagonal, sobre el lema: todas las métricas que da GitHub, con la fecha en que ocurrieron. Un panel enumera lo que GitHub deja escapar: el tráfico a los 14 días, la actividad más allá de los 300 últimos eventos, las notificaciones leídas y las fechas de las estrellas cuando la lista crece. ghchronicle las recoge periódicamente y guarda cada una como un punto con fecha.
  • Cómo funciona ghchronicle, en cuatro pasos. 1, GitHub: REST y GraphQL, 34 familias, 92 medidas. 2, ghchronicle: barridos periódicos, cada punto con la fecha en que ocurrió y un backfill que se reanuda tras un corte. 3, once destinos: InfluxDB, PostgreSQL, TimescaleDB, Graphite, Elasticsearch, OpenSearch, Prometheus, OpenTelemetry, Loki, Telegraf y fichero. 4, Grafana: cinco dashboards de 154 paneles cada uno, que publica el propio binario. Se instala con una línea y se configura con ghchronicle -setup.
PostedBluesky network

GitHub keeps traffic for 14 days and your activity feed for 300 events. ghchronicle keeps all of it: 92 measurements dated when they happened, into InfluxDB, PostgreSQL, Prometheus and 8 more, with Grafana dashboards. Go, MIT. #GitHub #OpenSource #Grafana github.com/jmrplens/ghc...

  • The ghchronicle logo, a five by five grid of green squares rising on the diagonal, above the tagline: every metric GitHub will give, kept with the date it happened. A panel lists what GitHub lets go of: traffic after 14 days, the activity feed beyond the last 300 events, read notifications, and star dates once the list grows. ghchronicle sweeps them on a schedule and keeps each one as a dated point.
  • How ghchronicle works, in four steps. 1, GitHub: REST and GraphQL, 34 families, 92 measurements. 2, ghchronicle: sweeps on a schedule, dates each point when it happened, and a backfill that resumes after a kill. 3, eleven destinations: InfluxDB, PostgreSQL, TimescaleDB, Graphite, Elasticsearch, OpenSearch, Prometheus, OpenTelemetry, Loki, Telegraf and a file. 4, Grafana: five dashboards of 154 panels each, published by the binary itself. Install in one line, then run ghchronicle -setup.
Shipped: phonometry-assetsTangled
Shipped: mikroscopeTangled
Shipped: ghchronicle-card-trialTangled
Shipped: ghchronicleTangled
Shipped: coauthor-testTangled
Shipped: mcp.jmrp.ioTangled
Shipped: portainer-mcpTangled
PostedBluesky network

GitHub stacked PRs are now in public preview. Break a big change into ordered small PRs, review each layer separately, merge the whole stack in one click. Checks and branch protections still apply. gh extension install github/gh-stack gh.io/stacks #github #git #dev

PostedBluesky network

📚 libgen-mcp: a Go MCP server so your AI can search & download from Library Genesis (books, papers, comics…). No account, no API key, self-hosted, ~1.9k tokens. Works with Claude, Cursor & VS Code. github.com/jmrplens/libgen-mcp #AI #MCP #SelfHosted #SciHub

  • Infographic for libgen-mcp: a Go MCP server to search and download from Library Genesis. Download-arrow-over-a-book logo on a dark teal background. Stats: 3 tools, ~1.9k tokens, 99.9% test coverage, MIT. No account or API key, self-hosted (Windows/Linux/macOS), works with Claude, Cursor and VS Code. Available on MCP Registry, Cursor, Glama and Smithery.
PostedBluesky network

📚 libgen-mcp: servidor MCP en Go para que tu IA busque y descargue de Library Genesis (libros, papers, cómics…). Sin cuenta ni API key, self-hosted, ~1.9k tokens. Con Claude, Cursor y VS Code. github.com/jmrplens/libgen-mcp #IA #MCP #SelfHosted

  • Infografía de libgen-mcp: servidor MCP en Go para buscar y descargar de Library Genesis. Logo de flecha sobre un libro, fondo verde azulado. 3 herramientas, ~1,9k tokens, 99,9% cobertura, MIT. Sin cuenta ni API key, self-hosted, con Claude, Cursor y VS Code. En MCP Registry, Cursor, Glama, Smithery.
Shipped: libgen-mcpTangled
PostedBluesky network

🚀 New Bluesky feed: “Open Source & Homelab EN” Open source, dev & self-hosting in one place: C/C++, Rust, Python, firmware, Linux, Docker, Proxmox, NAS… Auto-curated + human reviewed, no AI. Add it and tell me what to improve 👇 #OpenSource #Homelab #SelfHosted

  • Blue banner: New feed for Bluesky — Open Source & Homelab EN. Open source, development and self-hosting, in English. Logo with terminal, git branch, chip, server and house.
PostedBluesky network

🚀 Estreno feed en Bluesky: «Open Source y Homelab ES» Open source, desarrollo y self-hosting en español: C/C++, Rust, Python, firmware, Linux, Docker, Proxmox, NAS… Curación automática + revisión humana, sin IA. Añádelo y cuéntame qué mejorarías 👇 #OpenSource #Homelab #SoftwareLibre

  • Cartel naranja: Nuevo feed para Bluesky — Open Source y Homelab ES. Código abierto, desarrollo y self-hosting, en español. Logo con terminal, rama git, chip, servidor y casa.
Shipped: homebrew-tapTangled
Shipped: kleidosTangled