open-telemetry / open-telemetry/opentelemetry-java-instrumentation

Kafka Streams punctuator tracing

Open
#15,611 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement needs triage
Dominant language
Java
Stars
2.6k
Forks
1.2k
Avg merge
2d 16h
Merged PRs (30d)
214

Description

Is your feature request related to a problem? Please describe.

In a Kafka Streams application, Punctuators are used to schedule periodic execution.

The stream thread calls an implementation of the Punctuator Interface to do whatever needs to be done.

It would be nice to start instrumentation from the Punctuator.punctuate() method.

Describe the solution you'd like

Can the Java agent start a Span from the Punctuator.punctuate() method?

Describe alternatives you've considered

Use a wrapper interface to explicitly start a Span.

Additional context

No response

Tip

React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.

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 Kafka Streams' Punctuator.punctuate() entry point and the repository's existing Kafka Streams instrumentation. Trace how the Java agent creates spans for related callbacks, then determine the relevant tests to extend. Done means a Punctuator invocation is automatically represented by a span without requiring a wrapper interface.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, kafka
Domain
stream-processing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.