NVIDIA / NVIDIA/OpenShell

Add optional OpenTelemetry tracing hooks to the Python SDK

Open
#1,818 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

state:triage-needed topic:observability
Dominant language
Rust
Stars
8.7k
Forks
1.3k
Avg merge
2d 11h
Merged PRs (30d)
253

Description

Motivation

OpenShell users need visibility into remote execution latency, failures, and gateway interactions. Optional OpenTelemetry hooks would improve observability without forcing tracing dependencies into the core install.

Proposed change

Auto-detect OpenTelemetry when installed and emit spans around major Python SDK operations such as connection setup, execution calls, and teardown. The implementation should be no-op when OpenTelemetry is not installed or not configured.

Acceptance criteria

  • Do not add a hard dependency on OpenTelemetry in the core package.
  • Emit spans for major SDK operations with useful attributes such as operation name, gateway target, status, and error type.
  • Add tests using a mocked or in-memory tracer provider.
  • Document how to enable tracing.

Notes

This is intended as an SDK-only change.

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 locating the Python SDK's connection setup, execution, and teardown entry points, then review how optional dependencies are handled. Done means optional tracing emits useful spans without a core OpenTelemetry dependency, tests cover a mocked or in-memory tracer, and enablement is documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, observability
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.