Skip to content

Add zipkin_input_otel package for Zipkin trace collection#17226

Draft
mrodm wants to merge 32 commits intomainfrom
claude/issue-17155-20260204-1126
Draft

Add zipkin_input_otel package for Zipkin trace collection#17226
mrodm wants to merge 32 commits intomainfrom
claude/issue-17155-20260204-1126

Conversation

@mrodm
Copy link
Copy Markdown
Collaborator

@mrodm mrodm commented Feb 4, 2026

Proposed commit message

Added OTel input package zipkin_input_otel for receiving Zipkin trace data.
It allows to configure the zipkinreceiver with endpoint and parse_string_tags variables.

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.
  • I have verified that any added dashboard complies with Kibana's Dashboard good practices

Author's Checklist

How to test this PR locally

Related issues

Screenshots

tiles view services apm example transactions apm

Generated with Claude Code as well as generated with the help from Cursor AI.

Create new OTel input package for receiving Zipkin trace data via the
OpenTelemetry Collector's zipkinreceiver. This is the first traces-type
OTel input package in the repository.

Package includes:
- Zipkin receiver configuration with endpoint and parse_string_tags vars
- Policy tests for default and custom variable configurations
- System test with docker-compose using stream webhook to send Zipkin
  V2 JSON spans (all 4 upstream testdata samples)
- Documentation with configuration, troubleshooting, and references

Closes #17155

Co-authored-by: Mario Rodriguez Molins <mrodm@users.noreply.github.com>
@mrodm mrodm self-assigned this Feb 4, 2026
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

The package structure follows existing OTel input package conventions well. The input template, test fixtures, and manifest are correctly configured against the upstream zipkinreceiver. One issue to address: the changelog link references issue #17155 instead of this PR #17226.


Why is Claude responding? | Type @claude to interact further

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

@mrodm
Copy link
Copy Markdown
Collaborator Author

mrodm commented Feb 4, 2026

@claude for the logo of this zipkin package use this zipkin logo from: https://github.com/openzipkin/zipkin/blob/master/zipkin-lens/public/static/media/zipkin-logo.png .

Join to that logo, the OTEL logo to the right bottom corner with the transparent background. The original OTEL icon is https://github.com/open-telemetry/opentelemetry.io/blob/main/iconography/32x32/Open_Telemetry.svg.

Requirements for this logo:

  • It should be in svg format.
  • It should have the transparent background.
  • The dimensions of this logo should be 64x64ps or 32x32px

The logo should be in svg format and with the transparent background.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 4, 2026

Claude finished @mrodm's task in 5m 29s —— View job


Creating combined Zipkin + OTel logo

  • Gather repository context
  • Fetch OpenTelemetry SVG logo source
  • Fetch and analyze Zipkin logo
  • Review existing OTel input package logo patterns
  • Create combined SVG logo (64x64px, transparent background)
  • Commit and push changes

Summary

Updated the zipkin_otellogo.svg with a proper combined logo:

  • Zipkin icon: Official magnifying glass icon sourced from vectorlogo.zone/zipkinio, rendered in dark color (#1a1a1a) in the main area of the canvas
  • OpenTelemetry icon: Wrench/tool icon in the bottom-right corner using the standard OTel brand colors (orange #f5a800 and blue #425cc7), following the same pattern used by other _input_otel packages (e.g., iis_input_otel)
  • Format: SVG, 64x64px, transparent background
  • Updated manifest.yml icon size from 32x32 to 64x64 to match

Please verify the logo renders as expected in your environment since I cannot preview SVG rendering directly.
|


Why is Claude responding? | Type @claude to interact further

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

github-actions bot and others added 2 commits February 4, 2026 12:17
Replace placeholder logo with a proper combined SVG that includes:
- Zipkin magnifying glass icon (from official vectorlogo.zone sources)
  in the main area using dark color (#1a1a1a)
- OpenTelemetry wrench icon in the bottom-right corner using the
  standard OTel brand colors (orange #f5a800, blue #425cc7),
  following the same pattern as other _input_otel packages

Logo is 64x64px SVG with transparent background.

Co-authored-by: Mario Rodriguez Molins <mrodm@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@mrodm
Copy link
Copy Markdown
Collaborator Author

mrodm commented Feb 4, 2026

@claude for the logo of this zipkin package use this zipkin logo from: https://github.com/openzipkin/zipkin/blob/master/zipkin-lens/public/static/media/zipkin-logo.png . You must not use the logo from https://www.vectorlogo.zone/logos/zipkinio/index.html

Given the logo found here (https://github.com/openzipkin/zipkin/blob/master/zipkin-lens/public/static/media/zipkin-logo.png) you need to join the OTEL logo to the right bottom corner. The original OTEL icon is https://github.com/open-telemetry/opentelemetry.io/blob/main/iconography/32x32/Open_Telemetry.svg.

Requirements for this logo:

  • It should be in svg format.
  • It should have the transparent background.
  • The dimensions of this logo should be 64x64ps or 32x32px

The logo should be in svg format and with the transparent background.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 4, 2026

Claude finished @mrodm's task in 5m 22s —— View job


Creating combined Zipkin + OTel logo

  • Gather repository context
  • Fetch Zipkin logo from official openzipkin/zipkin repo
  • Fetch OpenTelemetry SVG logo
  • Create combined SVG logo (64x64px, transparent background)
  • Commit and push changes

Summary

Updated zipkin_otellogo.svg with the official Zipkin logo sourced from the openzipkin/zipkin repository (the orange geometric arrow/compass icon), not from vectorlogo.zone as previously.

The combined logo:

  • Zipkin: Official PNG logo embedded as base64, rendered as the main element (the orange geometric arrow/compass design)
  • OpenTelemetry: Vector icon in the bottom-right corner using standard OTel brand colors (orange #f5a800 and blue #425cc7)
  • Format: SVG, 64x64px, transparent background

Please verify the logo renders as expected since I cannot preview SVG rendering directly.

--- |


Why is Claude responding? | Type @claude to interact further

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

…repo

Use the official Zipkin logo PNG from openzipkin/zipkin repository
(zipkin-lens/public/static/media/zipkin-logo.png) embedded as base64,
combined with the OpenTelemetry vector icon in the bottom-right corner.
The SVG is 64x64px with transparent background.

Co-authored-by: Mario Rodriguez Molins <mrodm@users.noreply.github.com>
@andrewkroh andrewkroh added documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. New Integration Issue or pull request for creating a new integration package. labels Feb 4, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 4, 2026

✅ Vale Linting Results

No issues found on modified lines!


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.

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Two items to address:

  1. System test hit_count discrepancy: The 4 sample trace files contain 12 total spans (9+1+1+1), but the test asserts only 9 (exactly the count from sample1.json). The commented-out # hit_count: 12 suggests this was noticed but not resolved. Either fix the test setup so all sample files are ingested (and assert 12), or remove the unused sample files and the commented-out line. As-is, this masks potential issues with the receiver or the stream tool configuration.

  2. Sample test data quality: All 9 spans in sample1.json are byte-for-byte identical (same traceId, spanId, parentId, timestamps, tags, everything). This provides minimal test coverage since it's effectively the same span repeated 9 times. Consider using distinct spans with different trace IDs, span IDs, service names, and operation names to better exercise the receiver. The other sample files (sample2-4) do provide some variety (e.g., missing serviceName, error tags), but they appear to not be ingested based on the hit_count.


Why is Claude responding? | Type @claude to interact further

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Reviewed the package implementation. The existing unresolved comments from prior reviews remain valid and should be addressed:

  1. test-default-config.yml: The hit_count discrepancy (asserting 9 when 12 spans exist across all sample files) needs resolution
  2. docker-compose.yml: The commented-out STREAM_ADDR line should be removed
  3. manifest.yml: Minor inconsistency with icon size (64x64 vs 32x32 used by other OTel input packages)

The package structure otherwise follows established OTel input package conventions correctly.


Why is Claude responding? | Type @claude to interact further

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

Ensure that the zipkin logo has a size of 32x32.
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

The existing unresolved comment about the hit_count discrepancy (line 7-8 in test-default-config.yml) remains the primary concern. The test asserts 9 spans but 4 sample files contain 12 total spans, suggesting sample2-4.json may not be ingested properly. This should be resolved before merge.


Why is Claude responding? | Type @claude to interact further

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Two unresolved issues from prior reviews remain:

  1. defer inside loop (main.go:127): Response bodies accumulate until function returns
  2. hit_count discrepancy (test-default-config.yml:7-8): Test asserts 9 spans but 12 exist across sample files

These should be addressed before merge.


Why is Claude responding? | Type @claude to interact further

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Optional cleanup: The _dev/deploy/docker/source/ directory (Dockerfile, go.mod, main.go) appears unused since the docker-compose.yml now uses brave-example:armeria. Consider removing these files if they're no longer needed for future reference.


Why is Claude responding? | Type @claude to interact further

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

@mrodm
Copy link
Copy Markdown
Collaborator Author

mrodm commented Feb 24, 2026

/test

@mrodm
Copy link
Copy Markdown
Collaborator Author

mrodm commented Feb 25, 2026

Working on elastic/elastic-package#3295 to be able to set use_apm attribute

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

The branch needs to be rebased or merged with main to pick up the CODEOWNERS entry for sql_server_input_otel that was added after this branch was created. Otherwise merging this PR will accidentally delete that entry.


Why is Claude responding? | Type @claude to interact further

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

@mrodm
Copy link
Copy Markdown
Collaborator Author

mrodm commented Mar 3, 2026

Pending on elastic/elastic-package#3295 to allow setting all the required processors and connectors.

@mrodm
Copy link
Copy Markdown
Collaborator Author

mrodm commented Mar 3, 2026

/test

1 similar comment
@mrodm
Copy link
Copy Markdown
Collaborator Author

mrodm commented Mar 4, 2026

/test

mrodm added 3 commits March 25, 2026 12:12
Setting a default value for min_version also ensures that the
configuration for `tls` is always valid in the agent template.
@elasticmachine
Copy link
Copy Markdown

💚 Build Succeeded

History

cc @mrodm

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

Labels

claude-plz-triage documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. New Integration Issue or pull request for creating a new integration package.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create Input Package: Zipkin receiver

4 participants