Skip to content

Add zipkin_input_otel package for Zipkin trace collection - #17226

Merged
mrodm merged 38 commits into
mainfrom
claude/issue-17155-20260204-1126
May 5, 2026
Merged

Add zipkin_input_otel package for Zipkin trace collection#17226
mrodm merged 38 commits into
mainfrom
claude/issue-17155-20260204-1126

Conversation

@mrodm

@mrodm mrodm commented Feb 4, 2026

Copy link
Copy Markdown
Collaborator

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
tiles view
  • Services
services apm
  • Transactions
example transactions apm
  • Overview
example overview 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

@github-actions github-actions Bot left a comment

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.

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.

Comment thread packages/zipkin_input_otel/changelog.yml Outdated
@mrodm

mrodm commented Feb 4, 2026

Copy link
Copy Markdown
Collaborator Author

@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

github-actions Bot commented Feb 4, 2026

Copy link
Copy Markdown
Contributor

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

mrodm commented Feb 4, 2026

Copy link
Copy Markdown
Collaborator Author

@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

github-actions Bot commented Feb 4, 2026

Copy link
Copy Markdown
Contributor

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
Comment thread packages/zipkin_input_otel/manifest.yml Outdated
@github-actions

github-actions Bot commented Feb 4, 2026

Copy link
Copy Markdown
Contributor

✅ 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.

@github-actions github-actions Bot left a comment

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.

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.

Comment thread packages/zipkin_input_otel/_dev/test/system/test-default-config.yml Outdated
Comment thread packages/zipkin_input_otel/_dev/deploy/docker/docker-compose.yml Outdated

@github-actions github-actions Bot left a comment

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.

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.

@github-actions github-actions Bot left a comment

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.

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.

Comment thread packages/zipkin_input_otel/_dev/deploy/docker/source/main.go Outdated

@github-actions github-actions Bot left a comment

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.

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.

@mrodm

mrodm commented Mar 3, 2026

Copy link
Copy Markdown
Collaborator Author

/test

1 similar comment
@mrodm

mrodm commented Mar 4, 2026

Copy link
Copy Markdown
Collaborator Author

/test

Comment thread packages/zipkin_input_otel/manifest.yml Outdated
@andrewkroh andrewkroh removed the New Integration Issue or pull request for creating a new integration package. label Apr 23, 2026
@elasticmachine

Copy link
Copy Markdown

💚 Build Succeeded

History

cc @mrodm

@mrodm
mrodm marked this pull request as ready for review May 4, 2026 17:36
@mrodm
mrodm requested a review from a team as a code owner May 4, 2026 17:36
@mrodm
mrodm requested a review from a team May 4, 2026 17:37

@teresaromero teresaromero left a comment

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.

🚀

@mrodm
mrodm merged commit 13e02ea into main May 5, 2026
12 checks passed
@mrodm
mrodm deleted the claude/issue-17155-20260204-1126 branch May 5, 2026 11:44
@andrewkroh andrewkroh added the New Integration Issue or pull request for creating a new integration package. label May 5, 2026
@elastic-vault-github-plugin-prod

Copy link
Copy Markdown
Contributor

Package zipkin_input_otel - 0.1.0 containing this change is available at https://epr.elastic.co/package/zipkin_input_otel/0.1.0/

@andrewkroh andrewkroh added the Integration:zipkin_input_otel Zipkin OpenTelemetry Input Package label May 5, 2026
herrBez pushed a commit to herrBez/integrations that referenced this pull request Jun 1, 2026
)

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.

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
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>
Co-authored-by: Fabrizio Ferri-Benedetti <algernon@fastmail.com>
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. Integration:zipkin_input_otel Zipkin OpenTelemetry Input Package New Integration Issue or pull request for creating a new integration package.

5 participants