Skip to content

Add Instrumentation Supplementary Guidelines - #5191

Open
cijothomas wants to merge 7 commits into
open-telemetry:mainfrom
cijothomas:instrumentation-supplementary-guidelines
Open

cijothomas wants to merge 7 commits into
open-telemetry:mainfrom
cijothomas:instrumentation-supplementary-guidelines

Conversation

@cijothomas

@cijothomas cijothomas commented Jul 4, 2026 •

Copy link
Copy Markdown
Member

Fixes #5148

Companion PR for the website to ease discoverability: open-telemetry/opentelemetry.io#10815

@cijothomas
cijothomas force-pushed the instrumentation-supplementary-guidelines branch from c7585e8 to 2306300 Compare July 4, 2026 05:18
@cijothomas
cijothomas marked this pull request as ready for review July 4, 2026 05:21
@cijothomas
cijothomas requested a review from a team as a code owner July 4, 2026 05:21
@dashpole

dashpole commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

I reviewed the content, and think it is correct and useful. My main question is still whether this is the right place for it to live. I see this kind of document as user-facing, so I had imagined that it would be integrated into opentelemetry.io in a more discoverable way. But i'm open to other opinions.

@cijothomas

Copy link
Copy Markdown
Member Author

I reviewed the content, and think it is correct and useful. My main question is still whether this is the right place for it to live. I see this kind of document as user-facing, so I had imagined that it would be integrated into opentelemetry.io in a more discoverable way. But i'm open to other opinions.

The main audience is instrumentation library authors. We do have supplementary guidelines for sdk authors, sdk extension point authors etc. So not a bad idea to keep it in spec repo. (And have a link from the docs website https://opentelemetry.io/docs/concepts/instrumentation/libraries/ )

Comment thread specification/instrumentation-supplementary-guidelines.md
@svrnm

svrnm commented Jul 13, 2026

Copy link
Copy Markdown
Member

See my comment on the issue (#5148 (comment)): I am a big fan of having instrumentation guidelines, but we should decide if they sit in the spec, or if people would find them more easily in the docs.

@cijothomas

Copy link
Copy Markdown
Member Author

See my comment on the issue (#5148 (comment)): I am a big fan of having instrumentation guidelines, but we should decide if they sit in the spec, or if people would find them more easily in the docs.

Would open-telemetry/opentelemetry.io#10815 be sufficient for the discoverability part?

@lmolkova lmolkova assigned lmolkova and jmacd and unassigned lmolkova Jul 22, 2026
@cijothomas

Copy link
Copy Markdown
Member Author

@svrnm @dashpole Could you re-review and share your thoughts on keeping it in spec repo (this PR) and modify website docs as suggested here ?

@dashpole

dashpole commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

My preference is still to have the source of truth be the stand-alone, user-facing documentation on opentelemetry.io. The spec is the right place for content that is primarily for language implementation authors. This seems like content that is primarily for end users / instrumentation authors. I would expect the main, authoritative content to be on opentelemetry.io, and I would expect our supplementary guidelines to reference that, and add any details that are specific to instrumentation for sdks.

@opentelemetry-pr-dashboard

opentelemetry-pr-dashboard Bot commented Aug 11, 2026 •

Copy link
Copy Markdown

Pull request dashboard status

Waiting on the author · refreshed 2026-10-02 18:23 UTC

Respond to 6 review items (e.g. link a commit, explain why not, ask a follow-up):

  • Inline threads: 1, 2, 3
  • Top-level threads: 4, 5, 6
Status above doesn't look right?
  • Just replied or pushed? Anything around or after the refresh time above may not be picked up yet — give it a few minutes.
  • Should this be with reviewers? Comment /dashboard route:reviewers to route it to them.
  • Anything wrong — including the routing? Report it with what you expected; it helps us improve the dashboard.

@opentelemetry-pr-dashboard

This comment has been minimized.

@cijothomas

Copy link
Copy Markdown
Member Author

My preference is still to have the source of truth be the stand-alone, user-facing documentation on opentelemetry.io. The spec is the right place for content that is primarily for language implementation authors. This seems like content that is primarily for end users / instrumentation authors. I would expect the main, authoritative content to be on opentelemetry.io, and I would expect our supplementary guidelines to reference that, and add any details that are specific to instrumentation for sdks.

The audience is library owners who instrument natively or instrumentation library authors, not just end users. Spec's existing supplementary guidelines already serve them.
Eg: Metric supplementary guidelines - it says it's targeting instrumentation library authors.. Any end user who is writing instrumentation would benefit from the content there.
Logs supplementary guidelines - processor patterns for extension authors.
neither is normative, and both live in spec repo.

So, this PR is consistent with what the spec uses supplementary guidelines already for. I don't see any discoverability issue (open-telemetry/opentelemetry.io#10815 can help).

@carlosalberto

Copy link
Copy Markdown
Contributor

We actually have a top level supplementary-guidelines directory. Maybe we should put this doc there?

Comment thread specification/instrumentation-supplementary-guidelines.md
@cijothomas

Copy link
Copy Markdown
Member Author

We actually have a top level supplementary-guidelines directory. Maybe we should put this doc there?

I only see existing supplementary guidelines for each signal directory (logs/metrics) separately.
Or did you meant https://github.com/open-telemetry/opentelemetry-specification/tree/main/supplementary-guidelines which seem to be something like a leftover, and is not under specification directory.

Signed-off-by: cijothomas <cijo.thomas@gmail.com>
…ementary-guidelines

Signed-off-by: cijothomas <cijo.thomas@gmail.com>

# Conflicts:
#	CHANGELOG.md
@github-actions

Copy link
Copy Markdown

This PR was marked stale. It will be closed in 14 days without additional activity.

@github-actions github-actions Bot added the Stale label Sep 17, 2026
@cijothomas

Copy link
Copy Markdown
Member Author

@dashpole Can you re-review and check my comment in #5191 (comment)?

@jmacd

jmacd commented Sep 23, 2026

Copy link
Copy Markdown
Member

I agree with @cijothomas's suggestion that this is specification-adjacent material and not user-facing material.

I would approve open-telemetry/opentelemetry.io#10815 recommend link text like "for a more formal treatment".

@jmacd

jmacd commented Sep 23, 2026

Copy link
Copy Markdown
Member

To address @dashpole's concerns, I think opentelemetry.io could use code-ownership to ensure specification owners are required to approve changes in e.g., content/en/docs/concepts/instrumentation/libraries.md.

@github-actions github-actions Bot removed the Stale label Sep 24, 2026
@svrnm

svrnm commented Sep 25, 2026

Copy link
Copy Markdown
Member

To address @dashpole's concerns, I think opentelemetry.io could use code-ownership to ensure specification owners are required to approve changes in e.g., content/en/docs/concepts/instrumentation/libraries.md.

Agreed, I would in general like to have spec-approvers/TC to code-own the whole "concepts" section as it is in big parts a "simplified" version of the spec.

@opentelemetry-pr-dashboard

Copy link
Copy Markdown

Hi @cijothomas — just a friendly reminder that this pull request is waiting on you. The dashboard status comment has the open items and is kept current.

  • Replying is enough to hand it off — answer, explain why no change is needed, or ask a follow-up. The dashboard routes it onward once nothing on the list is waiting on you.
  • To hand it back for any other reason, including the dashboard getting this wrong, comment /dashboard route:reviewers.

Comment on lines +40 to +41
The specification already requires instrumentation to depend only on the
OpenTelemetry API, not the SDK (see [Overview](overview.md#sdk)).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit

Suggested change
The specification already requires instrumentation to depend only on the
OpenTelemetry API, not the SDK (see [Overview](overview.md#sdk)).
The specification already requires instrumentation to depend on the
OpenTelemetry API, and not the SDK (see [Overview](overview.md#sdk)).

I am not sure if "only" would not be misleading

* When the instrumentation targets a particular version of the OpenTelemetry
Semantic Conventions, it should set the scope `schema_url` to the
corresponding [Telemetry Schema](schemas/README.md) URL.
* The scope name and version are part of the emitted telemetry's identity.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't the schema_url also part of the identity?

## Testing

Instrumentation authors are encouraged to test the telemetry their
instrumentation emits using OpenTelemetry's in-memory exporter, asserting on the

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
instrumentation emits using OpenTelemetry's in-memory exporter, asserting on the
instrumentation emits e.g. using OpenTelemetry's in-memory exporter, asserting on the

There are other ways. E.g one can use https://pkg.go.dev/go.opentelemetry.io/otel/log/logtest to not even depend on the SDK in the tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consider cross-language guidelines for instrumentation library authors

7 participants