4 ms·
Its really not that difficult to trace this stuff with modern APM tools. Datadog and Elastic APM support this out of the box for most languages/frameworks. And
by yuppiepuppie 3y ago
Its really not that difficult to trace this stuff with modern APM tools. Datadog and Elastic APM support this out of the box for most languages/frameworks. And id be suprised if other big players in space didnt also.
- davidw 3y ago"Just use Datadog" is fine for a bigger more established company. But it's a lot of expense and overhead for someone closer to starting out. I do not think it's a "home run" kind of win, but it's definitely a "nice to have" that you can just run everything in one place, and worry about splitting it up when (if) you get bigger.
- throwawaymaths 3y agoYeah that's fine but expensive for the tracing problem. You've completely ignored the harder bit which if you have any experience you know is a motherfucker of a problem: what happens if your async request fails, and notifies you, or, fails and forgets to notify you, or succeeds but takes way too long. What sort of state management schemes do you have to put into place yo make sure your database isn't full of corrupted data that is going to crash you later (or, worse, silently violate an assumed invariant - and maybe black hole your money or your customers money) The nice thing is that elixir gives you this either automatically or with a line or two of code.
- yuppiepuppie 3y agoNot sure what the condescending tone is for... I do have quite extensive experience with it. And it is a difficult problem. Lots of frameworks/languages deal with them differently (dlqs, auto-retry, etc.), and each has its pros and cons. In addition, one should have to weigh how important each task is and determine if a 1 in million loss justifies having an extensive resiliency built in. If Elixir has done that out of the box with a few lines of code like you say, great to hear. And Id love to try it out on day.