On Wed, Mar 4, 2020 at 7:24 AM Florin Pățan <florinpa...@gmail.com> wrote:

> I think the current solution is a perfectly reasonable solution.
>
> As I explained in the article, you can have 0 performance impact when used
> in production environments, because you can disable this feature.
>

My experience is that a little performance impact is a small price to pay
for having better instrumentation in a system. Often, it allows you to
observe the behavior of the running system and this leads to optimizations
in the system long before they become a problem in production environments.
If we have a place where we should use all the power a modern CPU gives us,
I think this is a good place. Knowledge of a programs execution profile is
often extremely valuable in the long run. The key reason being that once
you have real users in the system, they start using your applications in
ways you never imagined they would. And thus, they often redefine what is a
hot code path inside the code base, requiring optimization. Also, you will
have outlier users who puts pressure on your system. But those outliers
today are the common user tomorrow, so optimizing for them is also
beneficial. You can skip this, in the name of efficiency, but chances are
you will be in peril as your are working blindly on assumptions about the
programs execution behavior.

As for the solution, I think it looks fine as well. Process tagging is
something I've used in many systems with massive concurrency, as the
knowledge is invaluable in post-mortem situations. Observability is
important[0].

[0] The by far best definition of Observability I've seen is due to Charity
Majors, who lifted the term straight out of Control Theory:
https://en.wikipedia.org/wiki/Observability It is one of those highly
formal definitions which informal spirit applies quite well to software.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAGrdgiU9bRnemqP4QSOu2dnANMy%3DxWC4-JbivcBupPYSoi8U4g%40mail.gmail.com.

Reply via email to