open-telemetry / open-telemetry/opentelemetry-python-contrib
GNAP: proposal for git-native agent coordination instrumentation contrib package
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.1k
- Forks
- 1.1k
- Avg merge
- 4d 15h
- Merged PRs (30d)
- 16
Description
Proposal: opentelemetry-instrumentation-gnap contrib package for AI agent coordination
OpenTelemetry Python has excellent coverage for web frameworks, databases, and cloud services in opentelemetry-python-contrib. As AI agent systems proliferate, coordination between agents becomes an important layer to observe.
GNAP (Git-Native Agent Protocol) coordinates AI agents via a shared git repo: tasks move through board/todo/ → board/doing/ → board/done/. Every transition is a git operation — a natural instrumentation point.
Proposed: opentelemetry-instrumentation-gnap
Following the pattern of existing OTel instrumentations:
from opentelemetry.instrumentation.gnap import GNAPInstrumentor
GNAPInstrumentor().instrument()
# Automatically creates spans for:
# - gnap.task.create (todo→ board)
# - gnap.task.claim (todo→doing)
# - gnap.task.complete (doing→done)
# - gnap.task.timeout or gnap.task.fail
# Span attributes:
# gnap.task.id, gnap.task.type, gnap.agent.id
# gnap.board.repo, gnap.transition.duration
This would plug into any OpenTelemetry backend (Jaeger, Zipkin, AWS X-Ray, etc.) and give multi-agent system operators visibility into:
- Task coordination latency (time in todo/, doing/ states)
- Agent utilization (how many tasks per agent)
- Coordination bottlenecks (tasks stuck in doing/)
Why this belongs in opentelemetry-python-contrib:
GNAP is protocol-level (just git + files), so the instrumentation is minimal and focused. It follows the same pattern as existing resource-level instrumentations. As multi-agent systems become more common, coordination observability will be as important as HTTP or DB tracing.
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
Start by reviewing the GNAP specification and the existing instrumentation patterns in opentelemetry-python-contrib. No repository files, entry points, or tests are named; done would require a documented GNAP instrumentation package that creates the proposed task-transition spans and attributes, with tests confirming the behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, python
- Domain
- observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100