fnegrini

fnegrini

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!

Showing Posts 1 to 8

axelson

axelson

Scenic Core Team

Benchee is the most popular benchmarking tool: GitHub - bencheeorg/benchee: Easy and extensible benchmarking in Elixir providing you with lots of statistics! · GitHub and I think it will get you most of what you want.

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.

https://github.com/zhongwencool/observer_cli

recon

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

https://github.com/ferd/recon

13
Post #2
cmkarlsson

cmkarlsson

You also have the builtin erlang profiling tools mentioned here: Profiling — Erlang System Documentation v29.0.2

I’ve used fprof together with erlgrind on many erlang projects but I think they should be usable in elixir as well

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.

binaryseed

binaryseed

NewRelic does have an Elixir agent..

https://github.com/newrelic/elixir_agent/

PragTob

PragTob

Interesting, I didn’t know and always wondered why they didn’t have one :scream:

Thanks for letting us know!

— All posts loaded —

Where Next? Top

Trending in Questions Top

RSP87
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
New
kszambelanczyk
Hello! Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app. I creat...
New
RemyXRenard
I’m seeing that a list inside a Kino.DataTable will be interpreted as a charlist, even if the Kino.configure() is set to charlists: :as_l...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
samoloth
Hi, I’ve just set up an application with ash_authentication. There is only magic link strategy for now, so there is no confirmation add o...
New
FlyingNoodle
If a change or preparation module uses Ash.Changeset.get_argument/2 or Ash.Query.get_argument/2 (or any of the other get_argument functio...
New
ryanwinchester
apply_graft/2 doesn’t rewrite an add_many sub-workflow’s deps on an add step. Grafted jobs cancel with “upstream job was deleted” Version...
New

Other Trending Topics Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
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
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
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

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews