Custom routes via server.extend() can't emit WideEvents / telemetry (logger not exported)
Maintainer antworten meist innerhalb von 3 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- express, node.js, typescript
- Bereich
- api, backend, observability
Rechercherichtung
Beginne mit dem von onPluginsReady verwendeten Einstiegspunkt server.extend() und prüfe logging/logger.js zusammen mit der Exports-Map des Pakets. Vergleiche die bestehende interne Verwendung von WideEvent mit den öffentlichen Exporten von @databricks/appkit und beta. Als abgeschlossen gilt die Arbeit, wenn benutzerdefinierte Routen eine dokumentierte oder unterstützte Möglichkeit haben, strukturierte Telemetrie pro Request auszugeben, wobei die öffentliche API-Grenze und das erwartete Verhalten klar sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
Custom Express routes added via createApp({ onPluginsReady(appkit){ appkit.server.extend(app => …) } }) can't emit AppKit WideEvents / structured telemetry. Built-in plugin routes (analytics, files, genie) emit per-request WideEvents to the configured OTLP exporter, but custom routes have no supported way to do the same. console.log from a custom route reaches stdout but isn't part of the OTLP WideEvent/log export.
Version
@databricks/appkit 0.38.1 · Node 24 · Databricks Apps · telemetry configured via OTLP.
What I'm doing
Mounting custom HTTP routes (an MCP server over Streamable HTTP, plus a model-serving proxy) via server.extend() in onPluginsReady, and wanting per-request/per-tool observability alongside the plugin routes.
What I tried
Plugin routes use an internal logger:
import { createLogger } from ".../logging/logger.js";
const logger = createLogger("analytics");
logger.event(req)?.setComponent("analytics", "executeQuery").setContext("analytics", {...});
But that API isn't publicly reachable: createLogger / the WideEvent API is not exported from @databricks/appkit or @databricks/appkit/beta, and the package exports map (only ., ./beta, ./dist/shared/src/plugin, ./type-generator, ./package.json) blocks importing @databricks/appkit/dist/logging/logger.js.
Ask (any one)
- Export the WideEvent logger (
createLogger+event/setComponent/setContext) as public API, or - Document a supported way to emit WideEvents / structured telemetry from
server.extend()routes, or - Auto-instrument custom routes registered via
server.extend().
Workaround
console.log (stdout only), or emitting a raw OTLP LogRecord via @opentelemetry/api-logs against the exporter AppKit already configures.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 119
- Forks
- 36
- Ø Merge
- 4 T. 16 Std.
- Gemergte PRs (30 T.)
- 37
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus databricks/appkit
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
databricks/appkit#729 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
@databricks/lakebase: pool drops maxLifetimeSeconds and other pg options, so connections never recycle and Unity Catalog claims access fails after 4 hoursEvtl. vergeben @billmcmillin hat das vor 5 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 20/100
databricks/appkit#718 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
databricks/appkit#699 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
Schwierigkeit 3/5 Ein halber Tag Anfängerfreundlichkeit 42/100
databricks/appkit#656 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 3 Tagen
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 28/100
databricks/appkit#648 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 3 Tagen
Alle Issues in databricks/appkit
Ähnliche Issues
-
Add "append" and "prepend" slots for vue-vuetify extended renderersEvtl. vergeben @simeyc hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
eclipsesource/jsonforms#2668 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
README の通知条件を実際の判定処理に合わせるEvtl. vergeben @unhappychoice hat das heute übernommen. Offenfactory:in-progress priority:medium
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
unhappychoice/oss-issue-opener#395 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug Website
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 77/100
OWASP/OWASP-Hunting#88 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag