docs: Add guide for creating OTel Input Packages#17396
Conversation
Add comprehensive documentation for developing OpenTelemetry Input Packages, including: - Package structure and manifest configuration - Handlebars template development patterns - Variable types and configuration options - Testing requirements (policy and system tests) - Documentation guidelines and submission checklist - Links to existing examples (statsd, prometheus, hostmetrics) Also update index.md and integration-definitions.md to reference the new guide. Closes #17381 Co-authored-by: Bill Easton <strawgate@users.noreply.github.com>
Vale Linting ResultsSummary: 3 suggestions found 💡 Suggestions (3)
The Vale linter checks documentation changes against the Elastic Docs style guide. To use Vale locally or report issues, refer to Elastic style guide for Vale. |
|
@claude can you address PR feedback please |
There was a problem hiding this comment.
The documentation is well-structured and comprehensive. However, the CI docs-build is failing because otel-input-packages.md is not registered in docs/extend/toc.yml. The file must be added to the table of contents for the documentation build to succeed.
Why is Claude responding? | Type @claude to interact further
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
|
|
Claude finished @strawgate's task in 1m 19s —— View job Addressing PR Feedback
All review feedback has been addressed in commit cb1ef46:
--- | Why is Claude responding? | Type Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not. |
… add notes - Add otel-input-packages.md to toc.yml to fix docs build - Simplify 'When to Create' section: OTel for Receivers, Beats for traditional - Add note about dataset matching bug in sample files - Add elastic-package format to submission checklist - Add search hint for example packages Co-authored-by: Bill Easton <strawgate@users.noreply.github.com>
|
@claude there's still some open feedback, i think it's been addressed, if so can you resolve it? |
There was a problem hiding this comment.
Documentation looks accurate and comprehensive. All existing feedback from has been addressed in the latest commit (cb1ef46), including the toc.yml entry. The docs-build CI needs to re-run on the latest commit to verify the fix.
Why is Claude responding? | Type @claude to interact further
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
|
Claude finished @strawgate's task in 1m 33s —— View job Checking Open Review Feedback
All 5 review threads have been verified as addressed in commit cb1ef46 and resolved:
Why is Claude responding? | Type Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not. |
|
@claude is there any information in this guide that exists elsewhere in the docs that we should just be pointing to? |
|
Claude finished @strawgate's task in 1m 5s —— View job Checking for Documentation Overlap
After comparing the OTel Input Packages guide against existing documentation, here's my analysis: Overlapping Content That Should Be Cross-Referenced1. Testing Documentation (Policy & System Tests)
Recommendation: The testing sections could be significantly condensed to just:
2. Variable Types Table (lines 88-100) Status: This is acceptable since it's OTel-focused and compact. No change needed. 3. Package Structure Status: No change needed - the structure is OTel-specific. 4. Documentation Section (lines 281-308) Recommendation: Could simplify to say "Follow documentation guidelines with these OTel-specific additions..." and then just list OTel-specific items like linking to upstream OTel receiver docs. Content That's Unique and Well-PlacedThese sections are appropriately OTel-specific:
Summary
Would you like me to make these changes to reduce duplication? Why is Claude responding? | Type Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not. |
|
@claude let's link to the relevant docs where we can! Thanks! |
|
Claude finished @strawgate's task in 2m 29s —— View job Linking to Relevant Docs
Done! Added cross-references to existing documentation throughout the OTel Input Packages guide (commit c7e9ca6): Links added:
Also addressed:
Why is Claude responding? | Type Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not. |
- Link to integration-definitions.md for input package concepts - Link to manifest-spec.md for complete manifest specification - Link to testing.md overview and individual policy/system testing guides - Link to documentation-guidelines.md for doc standards - Apply jlind23's suggestion to add bug link for dataset matching issue - Remove duplicated running commands (now in linked docs) - Reorganize Additional Resources into internal and external sections Co-authored-by: Bill Easton <strawgate@users.noreply.github.com>
|
@claude let's come up with a quick step by step guide for writing the input template and the manifest variables. Basically find the receiver documentation upstream https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver look at the configuration options, identify relevant ones that we want to be configurable, add inputs for those, create the template based on the configuration, review the readme to understand the major components that should be mentioned in the readme, etc. Go ahead and review our input package PRs and then go review the upstream receivers and come up with a quick todo list we can add to the doc that will help ensure these are always done right :) |
|
Claude finished @strawgate's task in 3m 7s —— View job Creating Step-by-Step Guide for OTel Input Package Development
Done! Added a comprehensive Development Workflow section (commit 2ddd966) with 6 steps based on reviewing existing OTel input package PRs (#17303, #17226, #15739) and upstream OTel receiver documentation patterns. New section includes:
The guide also includes a type mapping table:
--- | Why is Claude responding? | Type Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not. |
Adds a comprehensive Development Workflow section with 6 steps: 1. Research the Upstream Receiver - how to find and understand OTel receiver docs 2. Identify Configurable Variables - mapping upstream types to package variables 3. Create the Input Template - building the Handlebars template 4. Write the Documentation - what to include in README.md 5. Test the Package - policy and system test guidance 6. Finalize and Submit - pre-submission checklist This helps ensure consistent, high-quality packages that align with existing patterns. Co-authored-by: Bill Easton <strawgate@users.noreply.github.com>
|
@claude Let's keep the step by step instructions you just added a bit more concise and not reproduce what's in other places (feel free to point to other docs, etc). Let's do a dry run of the steps and make sure they get you to a successful outcome when trying it for a sample receiver / input package. |
|
Claude finished @strawgate's task in 3m 6s —— View job Condensing Step-by-Step Guide and Validating with Dry Run
Summary: Condensed the Development Workflow section from ~110 lines to ~48 lines (commit b81cd61):
Dry run validation with InfluxDB receiver confirmed the condensed workflow provides sufficient guidance:
Also fixed Vale linter suggestions: --- | Why is Claude responding? | Type Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not. |
- Reduce workflow from ~110 lines to ~48 lines - Link to existing docs (policy-testing.md, system-testing.md, documentation-guidelines.md) instead of duplicating content - Keep type mapping table as quick reference - Fix Vale linter suggestions: 'see' → 'refer to', 'Simple' → 'Basic' - Validated workflow with InfluxDB receiver dry run Co-authored-by: Bill Easton <strawgate@users.noreply.github.com>
| Always include the `resourcedetection` processor for host enrichment: | ||
|
|
||
| ```handlebars | ||
| processors: | ||
| resourcedetection/system: | ||
| detectors: ["system"] | ||
| ``` |
There was a problem hiding this comment.
Should this processor be added always ?
If a receiver is collecting metrics from an endpoint, that maybe is not in the same host, should this be added ? It would be adding attributes from the elastic-agent host, is my understanding correct ?
There was a problem hiding this comment.
hopefully we have a more general way to handle this soon
There was a problem hiding this comment.
we're going to just do system for now and solve this more generally in fleet
|
@claude please address PR feedback, let's leave the instruction for resource detection for now |
|
Claude finished @strawgate's task in 1m 27s —— View job Addressing PR Feedback
All review feedback addressed in commit 5c01e00:
Note: Left the resource detection processor instruction as-is per request. Why is Claude responding? | Type Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not. |
…t item - Add links to existing OTel package icons as examples (hostmetrics, iis) - Add checklist item for generating sample_event.json from system tests Co-authored-by: Bill Easton <strawgate@users.noreply.github.com>
* docs: Add guide for creating OTel Input Packages Add comprehensive documentation for developing OpenTelemetry Input Packages, including: - Package structure and manifest configuration - Handlebars template development patterns - Variable types and configuration options - Testing requirements (policy and system tests) - Documentation guidelines and submission checklist - Links to existing examples (statsd, prometheus, hostmetrics) Also update index.md and integration-definitions.md to reference the new guide. Closes elastic#17381 Co-authored-by: Bill Easton <strawgate@users.noreply.github.com> * Address PR feedback: add toc.yml entry, simplify when-to-use section, add notes - Add otel-input-packages.md to toc.yml to fix docs build - Simplify 'When to Create' section: OTel for Receivers, Beats for traditional - Add note about dataset matching bug in sample files - Add elastic-package format to submission checklist - Add search hint for example packages Co-authored-by: Bill Easton <strawgate@users.noreply.github.com> * Add cross-references to existing documentation - Link to integration-definitions.md for input package concepts - Link to manifest-spec.md for complete manifest specification - Link to testing.md overview and individual policy/system testing guides - Link to documentation-guidelines.md for doc standards - Apply jlind23's suggestion to add bug link for dataset matching issue - Remove duplicated running commands (now in linked docs) - Reorganize Additional Resources into internal and external sections Co-authored-by: Bill Easton <strawgate@users.noreply.github.com> * Add step-by-step development workflow guide for OTel Input Packages Adds a comprehensive Development Workflow section with 6 steps: 1. Research the Upstream Receiver - how to find and understand OTel receiver docs 2. Identify Configurable Variables - mapping upstream types to package variables 3. Create the Input Template - building the Handlebars template 4. Write the Documentation - what to include in README.md 5. Test the Package - policy and system test guidance 6. Finalize and Submit - pre-submission checklist This helps ensure consistent, high-quality packages that align with existing patterns. Co-authored-by: Bill Easton <strawgate@users.noreply.github.com> * Condense Development Workflow section for conciseness - Reduce workflow from ~110 lines to ~48 lines - Link to existing docs (policy-testing.md, system-testing.md, documentation-guidelines.md) instead of duplicating content - Keep type mapping table as quick reference - Fix Vale linter suggestions: 'see' → 'refer to', 'Simple' → 'Basic' - Validated workflow with InfluxDB receiver dry run Co-authored-by: Bill Easton <strawgate@users.noreply.github.com> * Address PR feedback: add icon examples and sample_event.json checklist item - Add links to existing OTel package icons as examples (hostmetrics, iis) - Add checklist item for generating sample_event.json from system tests Co-authored-by: Bill Easton <strawgate@users.noreply.github.com> --------- Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Bill Easton <strawgate@users.noreply.github.com>
Summary
Add comprehensive documentation for developing OpenTelemetry Input Packages.
Changes
docs/extend/otel-input-packages.mdcovering package structure, manifest configuration, template development, testing, and submission requirementsdocs/extend/index.mdto link to the new guidedocs/extend/integration-definitions.mdto reference OTel Input PackagesCloses #17381
Generated with Claude Code