open-telemetry / open-telemetry/opentelemetry-java

Support long running multi tenant workflows

Open
#4,133 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature Request
Dominant language
Java
Stars
2.5k
Forks
1k
Avg merge
3d 17h
Merged PRs (30d)
58

Description

Is your feature request related to a problem? Please describe.
We manage deployments as a series of stages with each stage being delegated to a service provider interface. Our processing layer is vert.x and backend is postgresql. We are trying to explore our visibility options for an inflight deployment workflow and we evaluated open telemetry and ran into a few open questions:

  • The main vert.x job scans the db and picks all pending deployments and initiates new service provider tasks. We wanted to create or reuse existing spans for each pending deployment. Similarly we want to create or reuse spans for each service producer task in its vert.x job.
  • We want to be able to publish a started span { not just a finished one } via a span processor to our backends.
  • We want to be resilient to process startups and be able to create a span from a custom start time { when the in flight service provider/deployment record was first created }.

Describe the solution you'd like

  • Provide ability to switch contexts based on the current record being processed.
  • Provide ability to spans based on custom start times.
  • Provide ability to publish started spans { and not just completed spans } to the collector.

Describe alternatives you've considered

Since each task within our deployment workflow is homogenous, metrics with attributes will be a great fit. But for a general purpose workflow management system, we'd be better off with native tracing system that allows users to monitor an inflight trace in the backend.

Additional context
Add any other context or screenshots about the feature request 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

No files or tests are named. Start by reviewing the Java SDK entry points for span context, custom start times, and span processor export behavior, then relate them to the main vert.x job and service provider tasks. Done means the requested context switching, custom timestamps, and publishing of started spans are supported and covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, postgresql
Domain
backend, databases, observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.