open-telemetry / open-telemetry/opentelemetry-java
Support long running multi tenant workflows
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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