fnegrini

fnegrini

Performance and analysis tools

Hello,

I’m looking for performance and analysis tools for my Erlang program which can give me real time information such as:

  • Memory usage
  • CPU usage (Percentage per core)
  • Processes count per core
  • Others…

Sugestions?

Thanks!

Most Liked

jola

jola

As you’ve asked for real time information, such as process count per core, I’m assuming you’re asking for monitoring tools rather than benchmarking. Erlang comes with some built in tools, there’s also some you can add through hex.

etop

Command: :etop.start

Starts an in terminal UI similar to the unix top command. Does for processes in the VM what top does for processes in eg a linux system.

observer

Command: :observer.start

Starts a windowed application that displays a huge amount of information on the running VM, including memory, processes, load, process trees, and lots of other stuff.

observer-cli

An upgraded version of etop with lots of information, can be installed through hex. Possible to run remotely.

recon

This is a collection of tools used to get more information on your system, useful for debugging problematic systems.

13
Post #3
binaryseed

binaryseed

NewRelic does have an Elixir agent…

PragTob

PragTob

So yes benchee is more for measuring performance before something goes live or for testing out multiple approaches locally, from what I understand you want to have more of an introspection into the running system. @jola offered multiple great solutions there.

Adopting Elixir, which is great, has a chapter about Metrics and instrumenting your system.

Other projects they mention as being used in the wild:

I like whole Application Performance Monitoring Solutions in the SaaS space such as:

And for even more options you could take a look at some of our previous threads on the subject:

hauleth

hauleth

There also is OpenCensus for Erlang that has few integrations already and is provider agnostic. Telemetry.Metrics provides OC-inspired set of metrics as well.

And please, could we stop promoting that abomination of library called exometer? It sends shivers down my spine on just mention. Not only it was hellhole to compile it with Mix it also is highly outdated (really, no metric tags in 2019?). There are much better and simpler solutions already available (for example vmstats and statix for the example). And with raise of the telemetry tracking metrics will be even easier.

PragTob

PragTob

I’ve never used exometer so I couldn’t tell, but calling a library an “abomination” isn’t the right way to go or talk about open source libraries. People took care and time to build it offering it to you for free - nobody forces you to use it. You could even improve it. You have your reasons for not using it, that’s fine but you don’t have to resort to insults. That’s what contributes to burnout for maintainers & others. Also that’s really not something I want to see as a tone in the community as it also keeps people away from open source, as they are often afraid of that exact thing happening to them.

Never mind that the library is mentioned positively in a book (again Adopting Elixir) written by people respected by lots of us which was published about a year ago and where one of the authors is a lead developer at a big elixir company (bleacher report) using exometer apparently happily (otherwise I doubt he’d have included it in the book). Might not work for you, but might work for others.

Where Next?

Popular in Questions Top

Tee
can someone please explain to me how Enum.reduce works with maps
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 record...
New
tduccuong
Hi, is there any work on GUI with Elixir, that is similar to Electron/Javascript? My idea is to bundle Phoenix and BEAM into a single se...
New
logicmason
Hi there, I'm working through my first release with elixir/phoenix. I've built a release with distillery and found that it crashes when I...
New
quazar
How to set Jason to encode all fields in ecto schema, I don’t care about security and implementing only is taking long list of attributes...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New

Other popular topics Top

shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
William
I would like to know that is there any online source for learning Phoenix Framework for building E-Commerce Store? Any advantage on build...
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
itssasanka
Hi all, Trying to get some more clarity over utc_datetime and naive_datetime for Ecto: https://hexdocs.pm/ecto/Ecto.Schema.html#module-...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 49522 488
New
polypush135
As many of you may have realized by now (sorry for all the posts here) I’ve been working on a db problem where I’m trying to aggregate a ...
New
johnnyicon
Hi all, I've just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I'm trying to use Postg...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers' Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
273 38985 115
New

We're in Beta

About us Mission Statement