[erlang-questions] trouble with erlang or erlang is a ghetto

Tim Watson watson.timothy@REDACTED
Wed Jul 27 00:53:13 CEST 2011


> To Tony's list of Erlang warts I would also add the complete lack of transparency during performance optimization. This has bit me during OpenPoker development and also during the "Hot wheels" optimization contest [1].
>
> You do have the facility for call counting (eprof) as well as for per-process profiling with fprof. A regular Erlang system these days will likely have thousands of processes running, processing requests and returning a response. What you get with fprof is a useless profiling listing of thousands of processes.
>
> What you really want is to know what happens along the request processing path. It took N seconds to process the request. Where did this time go? You want to average this over hundreds of requests and see where the bottlenecks are. Do you really want this? You are out of luck, I'm sorry. No tools exist to help you.
>

Better profiling tool support would be nice. A few people started
trying to pull together something that would provide better visibility
- my own project, nodewatch, which is heavily based on eper and more
recently Richard Jones and friends produced
https://github.com/beamspirit/bigwig during the spawnfest competition.
I've stopped work on nodewatch for now, to see whether bigwig will
move faster - I don't have that much spare time and if others are
doing the same thing as their day job then I needn't bother. My
ultimate aim was to provide configurable aggregated stats as well as
trace support with time budgeting in mind (e.g., how long in the web
tier, how long hitting the back end, etc).



More information about the erlang-questions mailing list