binaryseed

binaryseed

Introducing New Relic's Open Source Elixir Agent

Hi folks. Today I’m proud to announce the open-sourcing of New Relic’s Elixir Agent!

Elixir has been in use by my team in production at New Relic for a few years now. We’ve leveraged it to build stable high throughput web services, and it’s more than lived up to its mission of building scalable and maintainable applications. Of course, as a monitoring company it’s been critical that we have visibility into our own systems. We’ve been running a “stealth” agent in our Elixir services from day 1.

New Relic has also seen a steady increase in Elixir adoption by our user base. We get tons of feature requests from our customers, and the demand for visibility into Elixir services has continued to grow.

Since it’s beginning, New Relic has been connected to the Open Source community, and we continue to invest more. Now we’re open-sourcing an agent for the first time! We believe that visibility into software systems is critical to its success - and we want to help the open-source world bake that into the very foundations.

So here we are, at the intersection of these 3 factors - Elixir’s growth, New Relic’s commitment to open-source, and the grass-roots use of Elixir inside New Relic.

Interested in getting started? As of today you can:

The Agent implements a core set of features including Transaction Monitoring, Transaction Traces, Distributed Tracing, Error Traces and more. We even collect some key BEAM stats to see how the VM is performing. However, we don’t implement everything that our fully supported Agents like Java and Ruby do.

As an open-source project, we’re aiming to provide a stable and extensible foundation to provide observability into Elixir applications.

I’m excited about the future of this project and the future of Elixir!

Reach out to us here in the Forum, in #newrelic on Elixir’s Slack, or through Issues & Pull Requests on Github.

Most Liked

binaryseed

binaryseed

Now that Phoenix 1.4.0 is out, I’ve released 0.1.0 of the Phoenix adapter for the Agent!

binaryseed

binaryseed

I put together a thin Phoenix adapter for the Agent…

It’s an rc right now until Phoenix 1.4 is released… Check it out!

binaryseed

binaryseed

Yeah our new GraphQL API is built in Elixir with Absinthe!

It’s been in use for a long time inside the product and now we’ve started building a customer facing GraphQL API which will be our standard going forward…

https://docs.newrelic.com/docs/apis/graphql-api/getting-started/introduction-new-relic-graphql-api

There’s a few other things but this is the most noteworthy

binaryseed

binaryseed

No, it’s implemented all in Elixir

binaryseed

binaryseed

This is a New Relic open source project. It’s actually an expression of our belief in open source solutions to instrumentation, of which we think will only continue to grow.

As mentioned, the elixir-telemetry project is an example of that, and so is opencensus.

This is New Relic’s solution for monitoring elixir apps, not just me releasing a personal project.

Where Next?

Popular in Libraries Top

Qqwy
TypeCheck: Fast and flexible runtime type-checking for your Elixir projects. Core ideas Type- and function specifications are const...
336 13801 100
New
hpopp
After just over two years in development, this latest version of Pigeon is what I finally consider done in regards to my original vision ...
New
sabiwara
Dune is a sandbox for Elixir and aims to safely evaluate user-provided code. You can try it out using this basic Elixir playground made ...
New
arkgil
Hi all! I’m happy to announce that Telemetry v0.3.0 is out! This release marks the conversion from Elixir to Erlang so that all the libr...
New
benlime
LiveMotion enables high performance animations declared on the server and run on the client. As a follow up to my previous thread A libr...
New
Qqwy
Hello everyone, I wrote a small library today called MapDiff. It returns a map listing the (smallest amount of) changes to get from map...
New
danschultzer
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch. This project took far...
548 27727 240
New
Crowdhailer
Experimenting with this code. OK.try do user <- fetch_user(1) cart <- fetch_cart(1) order = checkout(cart, user) save_or...
New
OvermindDL1
I created a new library (rather I pulled out a couple files from my big project), it manages an operating system PID file for the BEAM. ...
New
wojtekmach
Hey everyone! Req is an HTTP client for Elixir that I’ve been working on for quite some time. There is already a lot of HTTP clients out...
New

Other popular topics Top

peerreynders
Manning 2016 Halloween weekend sale via Deal of the Day Friday, October 28 - Half off all MEAPs - code WM102816LT Saturday, October 29 ...
326 29600 154
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
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
yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
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
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
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
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
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New

Sub Categories:

We're in Beta

About us Mission Statement