HNHacker News
TopNewBestAskShowJobs

RabbitmqGuy

376 karma · joined November 28, 2016

Simple guy building errorship.com

Are you tired of looking at metrics in datadog and then switching over to another website to track your applications exceptions?

errorShip is a python library that sends exceptions/errors generated by your application to your datadog account.

email: support@errorship.com

submissionscomments
RabbitmqGuy··on Are Package Registries Holding Open-Source Hostage?
The Golang package dependency story has been bumpy, but one thing they got absolutely right is not having a package registry.

Anyone can host their golang package at example.com/myPkg and Go wouldn't care less what/who runs example.com

RabbitmqGuy··on Why not use GraphQL?
Github on moving to graphQL and then moving out of it again; https://lobste.rs/s/me5emr/how_why_graphql_will_influence_so...

NB: I can't authenticate the veracity of the comments

RabbitmqGuy··on How you could have come up with Paxos yourself
Looks like streamlet requires synchronized time. That can be hard to achieve.

From the link; "The protocol runs sequentially in synchronized ‘epochs’ that are 2 seconds long. Every player starts in epoch 0 at the same time...."

RabbitmqGuy··on ØMQ – The Guide (2011)
> I believe the original developer passed away a few years ago?

Yeah, via euthanasia.

https://twitter.com/hintjens/status/783254242052206592?s=21

RabbitmqGuy··on Cloudflare One
I’m always able to tell what a particular cloudflare product does/is in the first paragraph. However for this one, I’m unable to even after reading the entire blogpost.

(edit) is this like zerotier, tailscale, beyondcorp etc?

RabbitmqGuy··on Color blindness
The author is Rob Pike; https://en.m.wikipedia.org/wiki/Rob_Pike
RabbitmqGuy··on Ask HN: What is your favorite YouTube channel to learn advanced programming?
https://www.youtube.com/c/AndrewKelley

Andrew is making a systems programming language; Zig. But he also does dwell on other general systems programming issues that are language agnostic

RabbitmqGuy··on How NAT Traversal Works
This is the kind of content that makes me visit hn, long & insightful
RabbitmqGuy··on Laying the foundation for Rust’s future
Zig also debuted their foundation a few weeks ago; https://ziglang.org/zsf/
RabbitmqGuy··on Interview with Bill Gates on Covid, social media
This.

Something I've wished for; hacker news only with top level comments

RabbitmqGuy··on Launch HN: Speedscale (YC S20) – Automatically create tests from actual traffic
Is this like goreplay[1]? How are you different?

1. https://github.com/buger/goreplay

RabbitmqGuy··on Monitoring demystified: A guide for logging, tracing, metrics
Splunk taking minutes to load dashboard is not a problem imposed by post-calculation, it's more of a problem of lack of schema.

Most post calculation works on free text logs and thus has to regex it's way to a solution. But it doesn't have to be that way; that's why the original poster talked about a lack of tooling in the post-calculation world

RabbitmqGuy··on Migrating Dropbox from Nginx to Envoy
Also have a look at polyform licenses

https://polyformproject.org/licenses/

RabbitmqGuy··on Some SQL Tricks of an Application DBA
Damn you work at jango? I've been a happy customer since ~2009.

It's the best kept secret on the internet. I wish you guys blogged about your engineering, I bet there's lots to say.

Keep rocking

RabbitmqGuy··on Ask HN: What is the best enterprise software you use every day?
https://about.sourcegraph.com/
RabbitmqGuy··on How to Learn JavaScript
> When solving a problem, everyone will point you to some pre-made solution. > But no! Not yet! Do it the hard way.

This. That is why I'm a big fan of Zed Shaw's 'learn X the hard way' method of learning

RabbitmqGuy··on Go 1.15 – Draft release notes
As a person who uses Go i don't need day by day updates to know that the Go team is working hard on generics. I trust that they are & indeed they are.

> now one year old with little visible progress, no updates since August on public git.

This is untrue.

In January this year the Go team wrote[1]; "Module support is in good shape and getting better with each day, and we are also making progress on the generics front (more on that later this year)."

If you looked at the draft/experimental[2] branch where generics development has been taking place, you can see that it has had activity as late as just last week.

In the featherweightGo presentation, Phil Wadler said Rob Pike wrote to him asking if he would be interested in working with the Go team so that they can figure out generics and try and get them right. And that is how featherweightGo came to be.

So a lot has/is been happening.

1. https://blog.golang.org/go1.15-proposals

2. https://go-review.googlesource.com/c/go/+/187317

3. https://youtu.be/Dq0WFigax_c

RabbitmqGuy··on Solving Jepsen with OpenCensus Distributed Tracing
This is a great debugging story. I don't know if dgraph hosts the traces themselves or some other service
RabbitmqGuy··on A simple way to get more value from metrics
TimescaleDB
RabbitmqGuy··on The case for national paid maternity leave
For whatever reason, I had always thought that paid maternity leave was available universally in all countries. I hadn't even fathomed that the opposite could be true.

America continues to surprise me.

RabbitmqGuy··on Infrastructure Monitoring with Prometheus at Zerodha
This was a really good post. Their first blogpost is also amazing; https://zerodha.tech/blog/hello-world/

They have basically self hosted almost everything with a team of 30

RabbitmqGuy··on Show HN: Errorship, use datadog as an error tracker
Hi. That's a good summary of what errorship does. The pricing [1] page has an faq that touches on the build vs buy question

1. https://errorship.com/pricing.html

RabbitmqGuy··on Show HN: Errorship, use datadog as an error tracker
> Having to look at the list of all exceptions and figure out which ones are of interest wouldn’t be ideal.

You can filter for exceptions by tags. You can also use full text search to filter for exceptions. ie all the functionality provided[1] by the datadog eventstream[1] is available for your errors.

> Also, nitpick: it’s 2020, maybe update the front page screenshot to Python 3: is this even maintained?

errorship is compatible with both python2 and python3. Yes it is maintained. We have a testsuite that is ran in CI under both python2 and python3. Some of our customers during early trials still had some python2 applications that they had yet to port over.

1. https://docs.datadoghq.com/events/#event-stream

RabbitmqGuy··on Show HN: Errorship, use datadog as an error tracker
I had also noticed the lack of mention in the docs, so I reached out to datadog sometime last year. Their response was that it doesn't have any limits or quota
RabbitmqGuy··on Show HN: Errorship, use datadog as an error tracker
Hi.

> If your server is down, my application would crash too.

The errorship library is written in such a way that it fails open. If our servers are down(or any other failure), it does not affect your application and your application continues to work okay.

RabbitmqGuy··on Show HN: Errorship, use datadog as an error tracker
errorship is not using the datadog eventstream to send all logs to it. Rather, errorship just sends exceptions, their stack traces(and a few other metadata like hostname) to the eventstream.

> although not sure how DD would feel about that

The datadog documentation[1] says; "An event represents any record of activity noteworthy for engineers"[1]. We certainly believe that exceptions that occur in engineer's applications are noteworthy activities and as such belong to the eventstream.

1. https://docs.datadoghq.com/events/

RabbitmqGuy··on Show HN: Errorship, use datadog as an error tracker
The main benefit is that you do not have to context switch from datadog metrics/logs to go look at your exceptions in sentry.

With errorship, all these are made available in one place; in your datadog account.

You also do not need to maintain two services. If you are already using datadog(maybe their APM and their logging and metrics service) then you might as well use them for error tracking instead of maintaining an additional account with sentry.

However, it is not a must that you give up sentry to use errorship. errorship will work just as fine, if you choose to continue with sentry.

RabbitmqGuy··on Show HN: Errorship, use datadog as an error tracker
Yeah.

But also, errorship will still capture(and send to datadog) any exceptions that you may have forgot to capture or log.

RabbitmqGuy··on Show HN: Errorship, use datadog as an error tracker
Hi.

> but they seem clear that there's both a logging and metrics (apm) side to their product.

yes they have those two sides. what they do not have is an error tracking side; something like sentry[1]. errorship exists to bring the error tracking side into datadog.

The logging side of datadog is like splunk or elasticsearch, and their APM side is like newrelic. errorship is bringing the error tracking side.

some of the analogies may not apply 100%, but I hope I'm making sense.

1. https://sentry.io/

RabbitmqGuy··on Show HN: Errorship, use datadog as an error tracker
Hey HN!

errorShip is a python library that sends exceptions/errors generated by your application to your datadog account.

Are you tired of looking at metrics in datadog and then switching over to another website to track your applications exceptions? errorship exists to solve that context-switching problem, among others. It's a bit like sentry, bugsnag, rollbar etc; except implemented in your own datadog account.

I'm happy to receive any feedback or just chat about it.

Page 1 of 2Next →