nikolis
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.
Trending in RFCs
Other Trending Topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #blog-post
- #phoenix_html
- #iex
- #graphql
- #genstage
- #ai
- #elixirconf-us
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex









