[bot] Instrument Langfuse (4,207,214 weekly downloads)

Ouverte
#2,707 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
javascript, typescript
Domaine
observability

Piste de recherche

Start with js/src/auto-instrumentations/configs/all.ts and the existing js/src/auto-instrumentations/configs/langsmith.ts as the pattern to follow, then look at the e2e/scenarios/langsmith-instrumentation scenario. The open question is which Langfuse generation to target (legacy langfuse v3 or @langfuse/tracing with observe()), so settle that with a maintainer first. Done means a registered Langfuse config plus an e2e scenario that passes.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

typescript

<!-- library-gap-audit: langfuse-js-sdk -->

Summary

Langfuse is a widely-used open-source LLM observability/tracing platform whose official JS/TS SDK exposes a meaningful execution/tracing surface analogous to LangSmith — which this repo already instruments. Langfuse's SDK is not instrumented anywhere in this repository.

Langfuse ships two SDK generations, both currently published and in active use:

  • Legacy (langfuse, v3, maintenance mode): new Langfuse() client with .trace(), .span(), .generation(), .event(), .score().
  • Current (@langfuse/tracing + @langfuse/otel, v4+, GA as of 2025-08-28, latest release v6.1.0 on 2026-10-30): OpenTelemetry-based observe() function-wrapping decorator, startObservation()/startActiveObservation() manual span creation, and LangfuseSpanProcessor export, registered on a Node OTel SDK.

What's missing

  • No auto-instrumentation config, wrapper, or e2e scenario exists for either the legacy langfuse client API or the current @langfuse/tracing/observe() OTel-based API.
  • This mirrors the pattern already covered for LangSmith (js/src/auto-instrumentations/configs/langsmith.ts, wrapLangSmithClient/wrapLangSmithRunTrees/wrapLangSmithTraceable, e2e langsmith-instrumentation) — Langfuse is a directly comparable product with an equivalent client/tracing execution surface, but has zero coverage.

Weekly downloads

Weekly downloads: 4,207,214 (as of 2026-11-02; window 2026-10-23 to 2026-10-29; source https://api.npmjs.org/downloads/point/last-week/@langfuse/tracing — current/primary package for the active v4+ SDK line). For reference, the legacy langfuse package alone still logs 2,547,354/week over the same window (https://api.npmjs.org/downloads/point/last-week/langfuse).

Braintrust docs status

not_found — checked https://www.braintrust.dev/docs/integrations and https://www.braintrust.dev/docs/integrations/sdk-integrations/langsmith (which documents the comparable LangSmith integration). Langfuse does not appear in Braintrust's integrations index. Braintrust instead publishes a competitive-comparison article, https://www.braintrust.dev/articles/langfuse-vs-braintrust, positioning Langfuse as an alternative platform rather than an integration target; the only documented interop path is the shared OTLP standard, not a native SDK wrapper.

Upstream sources

Local repo files inspected

  • Repo-wide case-insensitive search for langfuse — only one incidental match, unrelated to actual instrumentation: js/src/instrumentation/plugins/livekit-plugin.ts:740 (!key.startsWith("langfuse."), a generic OTel-attribute filter that strips langfuse.-namespaced keys, not a Langfuse integration).
  • js/src/auto-instrumentations/configs/all.ts (full instrumentation registry — no Langfuse entry; langsmith.ts entry present for comparison)
  • e2e/scenarios/ directory listing (no langfuse-named scenario; langsmith-instrumentation exists for comparison)
  • docs/ directory (no mention of Langfuse)
Langage dominant
TypeScript
Étoiles
29
Forks
22
Merge moyen
1 j 6 h
PR mergées (30 j)
69

Préparer son environnement

  • Fournit un Dockerfile ou un fichier Docker Compose
  • Aucun modèle de pull request
  • Aucun guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de braintrustdata/braintrust-sdk-javascript

Toutes les issues de braintrustdata/braintrust-sdk-javascript

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.