open-telemetry / open-telemetry/opentelemetry-python-contrib

GNAP: proposal for git-native agent coordination instrumentation contrib package

Open
#4,347 2 comments 0 reactions 0 assignees View on GitHub

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:

  1. Task coordination latency (time in todo/, doing/ states)
  2. Agent utilization (how many tasks per agent)
  3. 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.

Spec: https://github.com/farol-team/gnap

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.