Skip to content

Add Mastodon blog post as a reference implementation#9673

Merged
tiffany76 merged 4 commits into
open-telemetry:mainfrom
tiffany76:add-devex-blogs-to-ref-implementations
May 2, 2026
Merged

Add Mastodon blog post as a reference implementation#9673
tiffany76 merged 4 commits into
open-telemetry:mainfrom
tiffany76:add-devex-blogs-to-ref-implementations

Conversation

@tiffany76
Copy link
Copy Markdown
Member

  • I have read and followed the Contributing docs, especially the "First-time contributing?" section.
  • This PR has content that I did not fully write myself.
  • I have the experience and knowledge necessary to understand, review, and validate all content in this PR.1

This PR copy/pastes the first DevEx SIG blog post on Mastodon to the new Reference Implementation section of the website. The technical content remains unchanged. The intro and conclusion have been rewritten to remove mentions of blogs and any calls to action.

cc: @danielgblanco

Footnotes

  1. Yes, I can answer maintainer questions about the content of this PR, without using AI.

@tiffany76 tiffany76 requested a review from a team as a code owner April 17, 2026 17:39
@otelbot-docs otelbot-docs Bot added the missing:docs-approval Co-owning SIG has provided approval, PR needs approval from docs maintainer label Apr 17, 2026
cSpell:ignore: devex otelbin Sidekiq Sloughter Öjeling
---

Date: March 18, 2026
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@danielgblanco We have the date in the front matter, but it doesn't appear on the page when rendered, I've added a line of text with the date. Let me know if you'd prefer to handle this some other way.

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.

Ideally it'd be nice if it showed like it does on blog posts (see below) but I'm not sure it's possible to achieve that without the whole section being a "blog"...

image

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.

Try adding: layout: blog to the front matter to see if that works. If not, I can look into this later (I won't have time this week). Can we leave the date in the main body in the meantime? And open an issue (assigned to me) if the layout trick doesn't work?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Sure, that works! I'll update the front matter tomorrow to see how it goes. Thanks, @chalin!

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.

Or type: blog -- which I think is better thay the layout config -- but can't recall for sure. Let me know which one works, giving preference to type.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I tried both layout: blog and type: blog and neither worked on my local preview. I added the by-line to the main body to complete the pseudo-blog layout (see eb5ac96) and I've created a followup issue.

@tiffany76 tiffany76 requested a review from danielgblanco April 17, 2026 17:42
@tiffany76
Copy link
Copy Markdown
Member Author

tiffany76 commented Apr 17, 2026

One other thing we should decide is what order we want to present these pages in. Right now, there's no logical order.

Alphabetical? By date?

@otelbot-docs otelbot-docs Bot removed the missing:docs-approval Co-owning SIG has provided approval, PR needs approval from docs maintainer label Apr 20, 2026
@danielgblanco
Copy link
Copy Markdown
Contributor

Alphabetical? By date?

I'd vote for alphabetical, because the titles will always start with the company name, so that's what people would be looking for?

A full production configuration is included below for reference (you can also
view it on [otelbin][otelbin-mastodon]):

```yaml
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.

This is a lot of YAML. Put it inside a details element?

<details><summary>Some heading text here</summary>

```yaml
... lots of yaml
```

</details> 

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Sure, will do.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Done in eb5ac96!

cSpell:ignore: devex otelbin Sidekiq Sloughter Öjeling
---

Date: March 18, 2026
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.

Try adding: layout: blog to the front matter to see if that works. If not, I can look into this later (I won't have time this week). Can we leave the date in the main body in the meantime? And open an issue (assigned to me) if the layout trick doesn't work?

operational burden.

[otelbin-mastodon]:
https://www.otelbin.io/?#config=receivers%3A*N__otlp%3A*N____protocols%3A*N______grpc%3A*N________endpoint%3A_0.0.0.0%3A4317*N______http%3A*N________endpoint%3A_0.0.0.0%3A4318*N________cors%3A*N__________allowed*_origins%3A*N____________-_*%22http%3A%2F%2F***%22*N____________-_*%22https%3A%2F%2F***%22*N*Nprocessors%3A*N__batch%3A_%7B%7D*N__resource%3A*N____attributes%3A*N______-_key%3A_deployment.environment.name*N________value%3A_*%22production*%22*N________action%3A_upsert*N______-_key%3A_property*N________value%3A_*%22mastodon.social*%22*N________action%3A_upsert*N______-_key%3A_git.commit.sha*N________from*_attribute%3A_vcs.repository.ref.revision*N________action%3A_insert*N______-_key%3A_git.repository*_url*N________from*_attribute%3A_vcs.repository.url.full*N________action%3A_insert*N__k8sattributes%3A*N____auth*_type%3A_*%22serviceAccount*%22*N____passthrough%3A_false*N____extract%3A*N______metadata%3A*N________-_k8s.namespace.name*N________-_k8s.pod.name*N________-_k8s.pod.start*_time*N________-_k8s.pod.uid*N________-_k8s.deployment.name*N________-_k8s.node.name*N______labels%3A*N________-_tag*_name%3A_app.label.component*N__________key%3A_app.kubernetes.io%2Fcomponent*N__________from%3A_pod*N____pod*_association%3A*N______-_sources%3A*N__________-_from%3A_resource*_attribute*N____________name%3A_k8s.pod.ip*N______-_sources%3A*N__________-_from%3A_resource*_attribute*N____________name%3A_k8s.pod.uid*N______-_sources%3A*N__________-_from%3A_connection*N__resourcedetection%3A*N____detectors%3A_%5Bsystem%5D*N____system%3A*N______resource*_attributes%3A*N________os.description%3A*N__________enabled%3A_true*N________host.arch%3A*N__________enabled%3A_true*N________host.cpu.vendor.id%3A*N__________enabled%3A_true*N________host.cpu.family%3A*N__________enabled%3A_true*N________host.cpu.model.id%3A*N__________enabled%3A_true*N________host.cpu.model.name%3A*N__________enabled%3A_true*N________host.cpu.stepping%3A*N__________enabled%3A_true*N________host.cpu.cache.l2.size%3A*N__________enabled%3A_true*N__transform%3A*N____error*_mode%3A_ignore*N*N____*H_Proper_code_function_naming*N____trace*_statements%3A*N______-_context%3A_span*N________conditions%3A*N__________-_attributes%5B%22code.namespace%22%5D_%21*E_nil*N________statements%3A*N__________-_set*Cattributes%5B%22resource.name%22%5D%2C*N____________Concat*C%5Battributes%5B%22code.namespace%22%5D%2C*N____________attributes%5B%22code.function%22%5D%5D%2C_%22*H%22*D*D*N*N______*H_Proper_kubernetes_hostname*N______-_context%3A_resource*N________conditions%3A*N__________-_attributes%5B%22k8s.node.name%22%5D_%21*E_nil*N________statements%3A*N__________-_set_*Cattributes%5B%22k8s.node.name%22%5D%2C*N____________Concat*C%5Battributes%5B%22k8s.node.name%22%5D%2C_%22k8s-1%22%5D%2C_%22-%22*D*D*N____metric*_statements%3A*N______-_context%3A_resource*N________conditions%3A*N__________-_attributes%5B%22k8s.node.name%22%5D_%21*E_nil*N________statements%3A*N__________-_set_*Cattributes%5B%22k8s.node.name%22%5D%2C*N____________Concat*C%5Battributes%5B%22k8s.node.name%22%5D%2C_%22k8s-1%22%5D%2C_%22-%22*D*D*N____log*_statements%3A*N______-_context%3A_resource*N________conditions%3A*N__________-_attributes%5B%22k8s.node.name%22%5D_%21*E_nil*N________statements%3A*N__________-_set_*Cattributes%5B%22k8s.node.name%22%5D%2C*N____________Concat*C%5Battributes%5B%22k8s.node.name%22%5D%2C_%22k8s-1%22%5D%2C_%22-%22*D*D*N__attributes%2Fsidekiq%3A*N____include%3A*N______match*_type%3A_strict*N______attributes%3A*N________-_key%3A_messaging.sidekiq.job*_class*N____actions%3A*N______-_key%3A_resource.name*N________from*_attribute%3A_messaging.sidekiq.job*_class*N________action%3A_upsert*N__tail*_sampling%3A*N____policies%3A*N______%5B*N________%7B*N__________name%3A_errors-policy%2C*N__________type%3A_status*_code%2C*N__________status*_code%3A_%7B_status*_codes%3A_%5BERROR%5D_%7D%2C*N________%7D%2C*N________%7B*N__________name%3A_randomized-policy%2C*N__________type%3A_probabilistic%2C*N__________probabilistic%3A_%7B_sampling*_percentage%3A_0.1_%7D%2C*N________%7D%2C*N______%5D*N*Nconnectors%3A*N__datadog%2Fconnector%3A*N____traces%3A*N______compute*_stats*_by*_span*_kind%3A_true*N*Nexporters%3A*N__datadog%3A*N____api%3A*N______site%3A_*S%7BDD*_SITE%7D*N______key%3A_*S%7BDD*_API*_KEY%7D*N____traces%3A*N______compute*_stats*_by*_span*_kind%3A_true*N______trace*_buffer%3A_500*N*Nservice%3A*N__pipelines%3A*N____traces%2Fall%3A*N______receivers%3A_%5Botlp%5D*N______processors%3A*N________%5B*N__________resource%2C*N__________k8sattributes%2C*N__________resourcedetection%2C*N__________transform%2C*N__________attributes%2Fsidekiq%2C*N__________batch%2C*N________%5D*N______exporters%3A_%5Bdatadog%2Fconnector%5D*N____traces%2Fsample%3A*N______receivers%3A_%5Bdatadog%2Fconnector%5D*N______processors%3A_%5Btail*_sampling%2C_batch%5D*N______exporters%3A_%5Bdatadog%5D*N____metrics%3A*N______receivers%3A_%5Bdatadog%2Fconnector%2C_otlp%5D*N______processors%3A*N________%5Bresource%2C_k8sattributes%2C_resourcedetection%2C_transform%2C_batch%5D*N______exporters%3A_%5Bdatadog%5D*N____logs%3A*N______receivers%3A_%5Botlp%5D*N______processors%3A*N________%5B*N__________resource%2C*N__________k8sattributes%2C*N__________resourcedetection%2C*N__________transform%2C*N__________attributes%2Fsidekiq%2C*N__________batch%2C*N________%5D*N______exporters%3A_%5Bdatadog%5D%7E
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.

This is a really long query arg string. Can it be trimmed, or does it have to be this long?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Short answer: otelbin doesn't offer a way. In the interest of time, I'm keeping this as is.

@chalin
Copy link
Copy Markdown
Contributor

chalin commented Apr 28, 2026

@tiffany76 - I think that if you merge or rebase it should resolve the CSPELL action blocker.

tiffany76 and others added 4 commits May 2, 2026 06:00
Signed-off-by: Tiffany Hrabusa <[email protected]>
@tiffany76 tiffany76 force-pushed the add-devex-blogs-to-ref-implementations branch from b995f97 to eb5ac96 Compare May 2, 2026 13:30
@otelbot-docs otelbot-docs Bot added the ready-to-be-merged This PR is ready to be merged by a maintainer label May 2, 2026
@tiffany76
Copy link
Copy Markdown
Member Author

@danielgblanco - I'm merging this now. If you see anything you'd like to change, let me know and I'll create a followup PR. Thanks!

@tiffany76 tiffany76 added this pull request to the merge queue May 2, 2026
Merged via the queue into open-telemetry:main with commit cddca0f May 2, 2026
27 checks passed
@tiffany76 tiffany76 deleted the add-devex-blogs-to-ref-implementations branch May 2, 2026 13:48
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.

Rename this file to index.md, dropping the leading _, because this is a leaf page bundle, not a section. That is the intention, right?

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.

GRISONRF pushed a commit to GRISONRF/opentelemetry.io that referenced this pull request May 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-be-merged This PR is ready to be merged by a maintainer

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants