open-telemetry / opentelemetry.io

The OpenTelemetry website and documentation
https://opentelemetry.io
Creative Commons Attribution 4.0 International
537 stars 1.19k forks source link

[Discussion/IA] Move "automatic instrumentation" out of "Language APIs & SDKs" #3783

Closed svrnm closed 9 months ago

svrnm commented 9 months ago

@open-telemetry/docs-approvers As a follow up to #3761 I'd like to suggest a significant change to the "Automatic Instrumentation" pages as well:

Move all "Automatic" pages that provide "true"[^1] zero-code instrumentation into a top level section that is separate from "Language APIs & SDKs"

Why?

As of today we heavily confuse end-users by not consistently using the term "automatic", it often means "automated approaches to extracting portable telemetry data with zero source code modification" (see OTEP-1, but it is also often used for throwing a bundle of instrumentation libraries into your SDK initialization and seeing a lot of telemetry dropping out of your application. Both are fair use cases for the word automatic, but as @martinjt pointed out in #3228 this is "is making people [...] a little confused about the "right" approach.", so getting rid of manual (as in #3761) was step 1 towards that goal, and getting rid of automatic is step 2.

The obvious solution would be renaming the "Automatic" category under "Language APIs & SDKs > Language", but spending some time thinking about it, this still does not solve all the problems:

What this change contains

[^1]: Ruby has an "Automatic" page but it talks about an instrumentation library bundle, so it's not "true" zero code.

How it could look like

Note: The word "Zero-Code Instrumentation" is the first one that came to mind, we might consider something different. I think it's important that we find the right word to describe "automated approaches to extracting portable telemetry data with zero source code modification."

(The remaining "Automatic" in that image is a copy&paste error, ignore it)

Screenshot 2024-01-15 at 21 39 39
cartermp commented 9 months ago

So I think in general I like this split, since I think there's often different audiences who care about this (or at least the same audience has separate concerns at different stages of their observability journey).

One thing I'll advocate for is that we include a stub for the K8s operator.

svrnm commented 9 months ago

So I think in general I like this split, since I think there's often different audiences who care about this (or at least the same audience has separate concerns at different stages of their observability journey).

💯 , I tried to avoid saying that the one is for devs, and the other one is for ops, because this is not exactly the truth, so I like what you say about "the same audience has separate concerns at different stages of their observability journey".

One thing I'll advocate for is that we include a stub for the K8s operator.

Good point, python is doing that already in a simple way here: https://opentelemetry.io/docs/languages/python/automatic/operator/

svrnm commented 9 months ago

@open-telemetry/dotnet-approvers , @open-telemetry/java-approvers @open-telemetry/javascript-approvers @open-telemetry/php-approvers @open-telemetry/python-approvers please take a look at this proposal, as it's going to affect especially your part of the documentation. What do you all think?