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

Expose spans or span attributes for Quartz internal states

Open
#14,628 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

contribution welcome enhancement
Dominant language
Java
Stars
2.6k
Forks
1.2k
Avg merge
2d 18h
Merged PRs (30d)
228

Description

Is your feature request related to a problem? Please describe.
  • Visibility into what's going on inside Quartz, like job status changes or scheduling decisions, appears poor
  • Quartz instrumentation creates a lot of noise from DB spans in the root, i.e. un-grouped
Describe the solution you'd like

When looking at Quartz' listener interfaces, there are a few places to extract additional spans or span attributes from:

  • org.quartz.JobListener hooks receive org.quartz.JobExecutionContext or org.quartz.JobExecutionException, from which span attributes could be extracted.
  • org.quartz.SchedulerListener hooks could be used to create additional spans (that would also group the miriad of DB spans caused by Quartz), or span attributes could be extracted from org.quartz.SchedulerException.
Describe alternatives you've considered

No response

Additional context

This issue focusses on installing instrumentation into additional Quartz listener hooks to provide information on Quartz internals. I also created https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/14624 about adding more span attributes to the already existing job execution span.

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 locating the Quartz instrumentation and its existing job execution span, then trace the JobListener and SchedulerListener hooks named in the issue. Compare the requested internal-state visibility with issue 14624 and determine which hooks should add spans versus attributes. Done means additional Quartz listener instrumentation provides useful job or scheduling context while grouping the related database spans.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
observability
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.