Cross-service distributed trace debugger: ingest OTel/Datadog/Splunk trace IDs and pin failures to exact source lines across multiple repos
Project description
oneport-debug-tracer
Cross-service distributed-trace root cause analysis. Give it a trace ID; it maps every span to the exact line of code across all your repositories — even when a single request crosses a React frontend, a Go API gateway, and a Python payment service — and tells you what broke and why.
This is the gap Claude Code and Copilot can't close: they trace code within one repo. A real production request fails across many.
Try it in 60 seconds (no Datadog, no API key)
pip install oneport-debug-tracer
oneport-tracer demo
The demo runs the real span-to-code engine against a bundled sample trace and
a mini three-language monorepo (TypeScript → Go → Python). You'll see each span
resolved to its exact file:line and a full root-cause analysis of a realistic
cross-service bug — a checkout 500 whose true cause is a broken contract with
the auth service.
Span (call tree) Service Duration Status Matched code location
─────────────────────────────────────────────────────────────────────────────────
submitCheckout frontend 1240 ms ● error frontend/src/checkout.ts:7
└─ RouteCharge api-gateway 1150 ms ● error api-gateway/handlers/charge.go:6
└─ charge_card payment-service 8 ms ● error payment-service/src/payment.py:8
Add --format json to get machine-readable output for Jira/CI pipelines.
Use it on your own traces
# 1. Authenticate (stores your license key)
oneport-auth login
# 2. Point it at your trace platform + repos
export DD_API_KEY=… DD_APP_KEY=…
export ANTHROPIC_API_KEY=… # or run fully local: see oneport-debug-local
oneport-tracer analyze \
--trace-id <id-from-pagerduty> \
--platform datadog \
--repos repos.yaml
repos.yaml maps service names (as they appear in your traces) to git remotes
or local clones:
payment-service: git@github.com:acme/payment-service.git
api-gateway: git@github.com:acme/api-gateway.git
frontend: git@github.com:acme/frontend.git
Supported platforms: datadog, splunk, otel, jaeger, tempo.
Supported languages for code mapping: Python, Java, Kotlin, Go, TypeScript/JavaScript.
How it works
- Ingest all spans for the trace from your APM platform.
- Index every repo's symbols and HTTP routes (Python AST + tree-sitter for Java/Kotlin/Go/TS, with a regex fallback when tree-sitter isn't installed).
- Match each span to its source line by operation name, HTTP route, and
qualified
Class.methodnotation. - Analyze the failing path with an LLM (cloud or fully on-prem) and emit a
structured
RCAResult— ready for the terminal, Jira, Slack, or a SIEM.
Secrets are scanned and redacted from every prompt before it leaves your machine, and every analysis is written to a tamper-evident, hash-chained audit log.
Output
A structured root-cause analysis: severity, root cause, confidence, the exact affected code locations (repo · file · line · function · git-blame author), and a recommended fix. Part of the OnePort Debug enterprise debugging suite.
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oneport_debug_tracer-0.1.0-py3-none-any.whl.
File metadata
- Download URL: oneport_debug_tracer-0.1.0-py3-none-any.whl
- Upload date:
- Size: 27.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4ad97eea3e048342d840724d2db80427222603539289435aeb7e581554fea71
|
|
| MD5 |
f651c276b5c2257b571c4dabcdc1544e
|
|
| BLAKE2b-256 |
7e533995ab515b5a54d197f84623fd4f5c9b5d79a30a09853dc5162466e2dd13
|