Add zipkin_input_otel package for Zipkin trace collection#17226
Add zipkin_input_otel package for Zipkin trace collection#17226
Conversation
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>
There was a problem hiding this comment.
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.
|
@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:
The logo should be in svg format and with the transparent background. |
|
Claude finished @mrodm's task in 5m 29s —— View job Creating combined Zipkin + OTel logo
SummaryUpdated the
Please verify the logo renders as expected in your environment since I cannot preview SVG rendering directly. Why is Claude responding? | Type Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not. |
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>
|
@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:
The logo should be in svg format and with the transparent background. |
|
Claude finished @mrodm's task in 5m 22s —— View job Creating combined Zipkin + OTel logo
SummaryUpdated The combined logo:
Please verify the logo renders as expected since I cannot preview SVG rendering directly. --- | Why is Claude responding? | Type 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>
✅ Vale Linting ResultsNo 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. |
There was a problem hiding this comment.
Two items to address:
-
System test
hit_countdiscrepancy: The 4 sample trace files contain 12 total spans (9+1+1+1), but the test asserts only 9 (exactly the count fromsample1.json). The commented-out# hit_count: 12suggests 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. -
Sample test data quality: All 9 spans in
sample1.jsonare byte-for-byte identical (sametraceId,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., missingserviceName, error tags), but they appear to not be ingested based on thehit_count.
Why is Claude responding? | Type @claude to interact further
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
packages/zipkin_input_otel/_dev/test/system/test-default-config.yml
Outdated
Show resolved
Hide resolved
packages/zipkin_input_otel/_dev/deploy/docker/docker-compose.yml
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Reviewed the package implementation. The existing unresolved comments from prior reviews remain valid and should be addressed:
- test-default-config.yml: The hit_count discrepancy (asserting 9 when 12 spans exist across all sample files) needs resolution
- docker-compose.yml: The commented-out STREAM_ADDR line should be removed
- 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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Two unresolved issues from prior reviews remain:
deferinside loop (main.go:127): Response bodies accumulate until function returns- 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>
There was a problem hiding this comment.
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.
|
/test |
|
Working on elastic/elastic-package#3295 to be able to set |
There was a problem hiding this comment.
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.
|
Pending on elastic/elastic-package#3295 to allow setting all the required processors and connectors. |
|
/test |
1 similar comment
|
/test |
Setting a default value for min_version also ensures that the configuration for `tls` is always valid in the agent template.
💚 Build Succeeded
History
cc @mrodm |
Proposed commit message
Added OTel input package
zipkin_input_otelfor receiving Zipkin trace data.It allows to configure the zipkinreceiver with endpoint and parse_string_tags variables.
Checklist
changelog.ymlfile.I have verified that any added dashboard complies with Kibana's Dashboard good practicesAuthor's Checklist
use_apmvariable in policy and system tests in input packages elastic-package#3295How to test this PR locally
Related issues
use_apmvariable in policy and system tests in input packages elastic-package#3295use_apmvariable in policy and system tests in input packages elastic-package#3295Screenshots
Generated with Claude Code as well as generated with the help from Cursor AI.