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

kip
Image is an image processing library for Elixir. It is based upon the fabulous vix library that provides a libvips wrapper for Elixir. I...
574 16576 179
New
tmbb
I’ve been working on two packages (not on hex.pm yet) to build admin interfaces for phoenix apps: bureaucrat - which contains a bunch ...
New
cjen07
parameterized pipe in elixir: |n> edit: negative index in |n> and mixed usage with |> are supported example: use ParamP...
New
woutdp
Hi! I wanted to introduce my latest project LiveSvelte. It allows you to render Svelte inside LiveView with end-to-end reactivity. It’s ...
New
benlime
I created a new library GitHub - benvp/ex_cva: Class Variance Authority for Elixir which aims to make it very easy to define different va...
New
MRdotB
I needed to reuse React components from my Chrome extension in my Phoenix/LiveView backend. I noticed that for Svelte/Vue, there are live...
New
wmnnd
Hi there, for my project DBLSQD, I needed a file storage solution that is a bit more flexible than Arc. Because I thought others might f...
New
Qqwy
While not as prevalent as in imperative languages, arrays (collections with efficient random element access) are still very useful in Eli...
New
gjaldon
As the title states, EctoEnum has just been updated after some time of hardly any activity in the repo. Here’s the latest release: https:...
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

Other popular topics Top

sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
977 41022 311
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
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
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod -- where is this set? Thanks.
New
fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list....
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? https://hexdocs.pm/ecto/Ecto.Repo.h...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New

Sub Categories:

We're in Beta

About us Mission Statement