DianaOlympos

DianaOlympos

Orion - Dynamic Distributed Profiling, find hotspot in a snap

Ever had to fix “This is slow” but it was super painful? I get you, it is hard. But it became far easier just now. Because now you can profile as deep as you want, as precisely as you want, live, in production, with nice UX and nearly no impact. No need to instrument anything in advance.

Just go to your Orion page after installing it and you can profile any function call in a few seconds. Across your cluster. At any point in the future.
https://hexdocs.pm/orion/1.0.3/Orion.html

https://raw.githubusercontent.com/LivewareProblems/Orion/main/screenshot.png

Want more? Feel free to talk with me, there are a lot of future features planned. This needs Elixir right now. We have plans to make it easier to use from other BEAM languages in the future, but for now, we are limiting it to this.

Most Liked

DianaOlympos

DianaOlympos

I just published 1.0.3, which fix a long standing bug that was masking it impossible to run multiple traces.

This should now be handled properly. This took a long time to fix, but it should be totally gone now (famous last words).

So please upgrade if you use Orion.

Thanks to @larshei for reporting :heart:

mayel

mayel

I listened to the ThinkingElixir podcast episode on this, and re. the discussion about adding it to LiveDashboard, this works to simply add a link to Orion in the dashboard nav:

defmodule MyApp.Web.OrionLink do
  @moduledoc false
  use Phoenix.LiveDashboard.PageBuilder

  @impl true
  def menu_link(_, _) do
    {:ok, "Orion tracing"}
  end
end

And in the router:


live_orion("/admin/system/orion")

live_dashboard("/admin/system",
        additional_pages: [
          orion: MyApp.Web.OrionLink,
          ...

Where Next?

Popular in Libraries Top

Qqwy
While not as prevalent as in imperative languages, arrays (collections with efficient random element access) are still very useful in Eli...
New
Jskalc
Hi! Today, after a couple weeks of development I’ve released v0.1 of LiveVue. It’s a seamless integration of Vue and Phoenix LiveView, i...
New
vic
Expat is a tiny experiment I did for extracting patterns and being able to reuse them (compose and share patterns between elixir librarie...
New
mplatts
With HEEX released we decided to start a components library using Tailwind CSS - check it out here: Petal Components. We also have a boi...
New
dbern
I’m excited to announce that TaxJar has developed and open-sourced DateTimeParser. We developed it because we found a need to parse user ...
New
mindok
What is ContEx? A pure Elixir server-side data plotting/charting library outputting SVG. It has nice barcharts in particular and works g...
New
josevalim
Yes, yet another parser combinator library! Most of the parser combinators in the ecosystem are either compile-time, often using AST tra...
159 18262 141
New
gabrielpoca
Hello everyone! I want to share with you something that I’m really proud of: https://stillstatic.io/ Still is a static site builder for...
New
mattludwigs
Grizzly is a library for working with Z-Wave devices. Z-Wave is a low-frequency radio protocol for controlling smart home devices on a me...
New
anshuman23
Hello all, I have been working on my proposed project called Tensorflex as part of Google Summer of Code 2018.. Tensorflex can be used f...
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
dotdotdotPaul
Okay, I'm having a heck of a time trying to figure out how to best handle the validation of belongs_to associations in Ecto. I'm sure I'...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
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
ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
lk-geimfari
What is most correct way to open, read and parse JSON file with poison? For example if we have example.json file in root of some projec...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
AstonJ
by Lance Halvorsen Elixir and Phoenix are generating tremendous excitement as an unbeatable platform for building modern web application...
460 27162 124
New

Sub Categories:

We're in Beta

About us Mission Statement