Export OpenTelemetry client spans for the native remote cache
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- rust
- Domaine
- backend, observability
Piste de recherche
Read crates/vt_remote_cache/src/lib.rs for the HTTP transport and crates/vt/src/session/cache/remote.rs for how RemoteClients is composed for a run. The issue describes a focused draft across these boundaries: the session owns the optional exporter lifetime, while the transport handles tracing and W3C propagation. Check the existing tests around both entry points; done means configured OTLP export and traceparent propagation work, spans flush after success or failure, and collector outages do not fail the run. Pull request #907 is already open.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Written by an AI agent (Codex) on behalf of @jasonkuhrt.
Problem
Users with an instrumented remote cache server cannot connect its requests to the vp run clients that made them. Native cache fetch, store and blob-download requests currently have neither exported OpenTelemetry client spans nor propagated W3C trace context, so those callers are missing from trace-based service maps.
Proposed capability
Allow vp run to export its native remote-cache HTTP client spans through standard OTLP/HTTP configuration. For example, with a collector configured in the command's environment:
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 \
OTEL_SERVICE_NAME=build-client \
vp run build --remote-cache read-write
The instrumented cache server should receive a traceparent identifying the exported client span. A tracing backend can then connect the caller to its cache server.
The proposed behavior is opt-in when an OTLP endpoint is configured, honors the standard service/resource/header/protocol variables and export opt-outs, and flushes at session completion, including a failed task. A normal cache miss remains successful cache behavior. Exported attributes exclude cache credentials, keys, payloads and error-response contents; an unavailable collector must not fail the task run.
Current implementation
The HTTP transport lives in crates/vt_remote_cache/src/lib.rs; RemoteClients in crates/vt/src/session/cache/remote.rs composes it for a run. The current transport calls reqwest directly without an OpenTelemetry tracer or W3C propagation.
A focused draft implementation follows those boundaries: the session owns the optional SDK/exporter lifetime, and the remote-cache transport accepts a tracer for its HTTP operations. It does not change cache keys, payloads or authentication. Existing internal Rust performance tracing is a separate capability.
- Langage dominant
- Rust
- Étoiles
- 480
- Forks
- 50
- Merge moyen
- 1 j 5 h
- PR mergées (30 j)
- 63
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de voidzero-dev/vite-task
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
voidzero-dev/vite-task#921 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 56/100
voidzero-dev/vite-task#910 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Automatic output tracking misses files a task renames into place, so a cache hit restores nothingOuverte
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
voidzero-dev/vite-task#908 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 56/100
voidzero-dev/vite-task#905 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
voidzero-dev/vite-task#904 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de voidzero-dev/vite-task
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
yunfie-twitter/Palleria#474 ·
Les mainteneurs répondent en général sous 1 jour
-
good first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
servo/rust-smallvec#827 ·
Les mainteneurs répondent en général sous 1 jour
-
bug tests
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour