nikolis

nikolis OP

BeamScope

Why I created this: Needed some very particular metrics regarding the state of my Elixir cluster in a relatively small project that it did not have already a proper Observability Stack, after some though I considered that there some ways to get data that would more or less gave me the same “image” that I was looking for but I could not justify the employment of such means for the particular use case. Thus the idea of BeamScope popped into my mind.

The general idea was is there any way to keep cluster state inside the the cluster? and if so how can we minimize CPU utilization and memory footprint but still stay Availability, and Partition Tolerance. Can it fit with the current observability stacks?

so after a some cooking and with the assistance of AI I reached the following
Core philosophy

BeamScope maintains a coherent, distributed runtime model of an Elixir cluster and exports that model to existing observability ecosystems. It is deliberately not an OpenTelemetry Collector, a Prometheus, a Grafana, or a monitoring database. Those tools are consumers. BeamScope owns the runtime model.

Synchronize observations, not replicate data. High-frequency telemetry is aggregated locally in ETS; only compact, versioned snapshots ever cross the network, and they are merged into a per-node replica of the cluster model. There is no central aggregator, no consensus, and no global lock — eventual consistency of observations is the correct and accepted trade-off.

From my trials it looks like it’s justifying it’s existance and I am considering moving forward witht his to make it a production grade library. But before going any further I would want to ask for some feedback and/or idea/proposal.

Where Next? Top

Trending in RFCs Top

nikolis
BeamScope Why I created this: Needed some very particular metrics regarding the state of my Elixir cluster in a relatively small project...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
type1fool
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New

We're in Beta

About us Mission Statement