open-telemetry / open-telemetry/opentelemetry-ruby

Implement the event-to-span-event bridge processor

Open
#2,352 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement logs spec-compliance spec:development
Dominant language
Ruby
Stars
606
Forks
301
Avg merge
3d 19h
Merged PRs (30d)
42

Description

Spec requirement

[Development] A LogRecordProcessor implementation that bridges qualifying LogRecords to span events on the current span. It MUST bridge if and only if: the record has a non-empty EventName, has a valid TraceId and SpanId, the resolved Context's current span IsRecording is true, and the record's TraceId/SpanId match the current span's. When bridged, it MUST add exactly one span event (name = EventName; timestamp = Timestamp if set, else ObservedTimestamp; all Attributes copied), and MUST NOT block the record's normal pipeline (sdk.md:561-600 (permalink)).

Current behavior

This processor has not been implemented.

Suggested fix

Add a new processor implementing the four-condition check and span event mapping described above. Keep it opt-in (not part of the default configured pipeline) since this spec is still marked Development.

Related rows in SPEC_COMPLIANCE_LOGS.md

SDK-41

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the SDK requirement in sdk.md:561-600 and the SDK-41 entry in SPEC_COMPLIANCE_LOGS.md, then locate the existing LogRecordProcessor entry points in the Ruby repository. Confirm the four bridging conditions, span-event field mapping, opt-in configuration, and that normal record processing remains non-blocking.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
observability-sre
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.