Skip to content

Added Weaver configuration for all telemetry, and a generated mkdocs site#2794

Open
martinjt wants to merge 22 commits intoopen-telemetry:mainfrom
martinjt:weaver-docs
Open

Added Weaver configuration for all telemetry, and a generated mkdocs site#2794
martinjt wants to merge 22 commits intoopen-telemetry:mainfrom
martinjt:weaver-docs

Conversation

@martinjt
Copy link
Copy Markdown
Member

@martinjt martinjt commented Dec 5, 2025

Changes

This adds a new service called telemetry-docs which serves a documentation site for the custom telemetry documented by the demo across all the services.

It also includes a weaver registry for the all those attributes.

This does not include a live-check interface, that will come later, nor does this include codegen for these attributes or metrics.

Merge Requirements

For new features contributions, please make sure you have completed the following
essential items:

  • CHANGELOG.md updated to document new feature additions
  • Appropriate documentation updates in the docs
  • Appropriate Helm chart updates in the helm-charts

Maintainers will not merge until the above have been completed. If you're unsure
which docs need to be changed ping the
@open-telemetry/demo-approvers.

@github-actions github-actions bot added the helm-update-required Requires an update to the Helm chart when released label Dec 5, 2025
@julianocosta89
Copy link
Copy Markdown
Member

@martinjt can we configure live-check to ensure the telemetry schema is always up to date?

I just don't want that to be another burden for maintainers.

Also, the k8s manifests shouldn't be part of this PR. That is generated via helm update whenever we have a new release

@martinjt
Copy link
Copy Markdown
Member Author

We can, i just didnt want to make it part of this PR since its already got a lot of moving parts.

I can remove the k8s bits.

@puckpuck puckpuck marked this pull request as ready for review December 17, 2025 14:12
@puckpuck puckpuck requested a review from a team as a code owner December 17, 2025 14:12
@github-actions
Copy link
Copy Markdown

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 7, 2026

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@julianocosta89
Copy link
Copy Markdown
Member

@martinjt I had a chat with @puckpuck in the last SIG meeting and we were discussing this PR.
As an OTel user, I couldn't understand why would we run the documentation as part of the Demo.

Shouldn't we keep this PR just with the /telemetry-schema and have the telemetry docs as part of the https://opentelemetry.io/docs/demo/ docs?

Something like how the semconv docs is currently done.

@martinjt
Copy link
Copy Markdown
Member Author

My view is that we need to show people how to use Weaver for the things it's built for (Markdown documentation, and telemetry validation). The easiest of those to see is generating markdown. We show them how that's done in this repo, not be having another repo generate them and display them.

If this repo had to have something else host the docs, that wouldn't be something that people could clone, run and iterate on. We need to show people how they can use weaver, give them a place to test it, just like we do with all the languages and their instrumentations.

It's totally valid that the otel docs could ALSO use the schema to generate some more docs that are static and updated on a specific schedule. The repo, the helm chart and the images, should be able to run to allow the user to see all of them together, it shouldn't be that I run the demo, then consult the otel website for the docs (which could be for a different version).

As an application developer, I would likely have a way of viewing the changes of the documentation, I'd maybe have something in my pipeline generate github pages. Either way, it's local to the repo and something that a developer can generate

@julianocosta89
Copy link
Copy Markdown
Member

What if we keep the doc service as a different docker compose file? This would allow users to test weaver, but the docs services wouldn't always start with the Demo.
I've added an entry to discuss this at the SIG meeting tomorrow (Wed 14 Jan). (I won't be able to attend it, but happy to accept whatever is agreed by the majority).

@github-actions
Copy link
Copy Markdown

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions
Copy link
Copy Markdown

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions
Copy link
Copy Markdown

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@julianocosta89
Copy link
Copy Markdown
Member

julianocosta89 commented Feb 10, 2026

@martinjt I've touched your PR, hope you don't mind.
Here are the things I've changed:

  • Removed the k8s manifests (those are updated via Helm only when we have a new release)
  • Reduced image size from 236MB to 102MB, by switching from mkdocs serve with Python runtime to static site build + nginx
    • With that we also gained traces from the telemetry docs service.
  • Set static Weaver version on the Dockerfile to avoid breaking changes from latest.
  • Bumped Python version to 3.14.
  • Added the new service to the build images workflow.

This should be good to go, but as I've changed a couple of things, I'll wait for your review.

@julianocosta89
Copy link
Copy Markdown
Member

Hey @martinjt just a kind bump 😊

flagd-ui:
condition: service_started
telemetry-docs:
condition: service_started
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Since the envoy template is shared with minimal docker compose. We should add these in minimal compose or the envoy template will fail to resolve ${TELEMETRY_DOCS_HOST} and ${TELEMETRY_DOCS_PORT}.

## Schema Files

- `telemetry-schema/registry_manifest.yaml` - Registry metadata
- `telemetry-schema/attributes/common.yaml` - Logical attribute group definitions
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We don't have common.yaml, Should we remove this?

Comment on lines +34 to +39
- id: app.payment.amount
type: string
brief: Payment amount
stability: stable
note: The monetary amount being charged
examples: ["29.99", "99.95", "150.00"]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nice, this helped me to easily see a difference in instrumentation. app.payment.amount in order.yaml is type: string but app.shipping.amount is type: double` amounts should consistently use the same type. Probably needs fix in a separate PR. I already find this useful 👍🏽

Comment on lines +16 to +21
- id: app.shipping.cost.total
type: string
brief: Total shipping cost
stability: stable
note: The total cost of shipping for an order (string representation)
examples: ["10.50", "25.00"]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Same inconsistency for cost totals. app.shipping.cost.total is type: string while app.quote.cost.total is type: double

site_name: OpenTelemetry Demo Telemetry Schema
site_description: Semantic conventions and telemetry schema for the OpenTelemetry Demo application
site_author: OpenTelemetry Demo Contributors
site_url: https://opentelemetry-demo.example.com/telemetry/
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should we change this to http://localhost:8080/telemetry/

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 6, 2026

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions
Copy link
Copy Markdown

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions
Copy link
Copy Markdown

This PR was marked stale due to lack of activity. It will be closed in 7 days.

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

Labels

helm-update-required Requires an update to the Helm chart when released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants