Custom routes via server.extend() can't emit WideEvents / telemetry (logger not exported)
Los mantenedores suelen responder en 3 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- express, node.js, typescript
- Área
- api, backend, observability
Línea de trabajo
Comienza con el punto de entrada server.extend() utilizado desde onPluginsReady y revisa logging/logger.js junto con el mapa de exports del paquete. Compara el uso interno existente de WideEvent con los exports públicos de @databricks/appkit y beta. Se considera terminado cuando las rutas personalizadas tienen una forma documentada o compatible de emitir telemetría estructurada por solicitud, con el límite de la API pública y el comportamiento esperado claramente definidos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 119
- Forks
- 36
- Merge medio
- 4 d 16 h
- PR fusionados (30 d)
- 37
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de databricks/appkit
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
databricks/appkit#729 ·
Los mantenedores suelen responder en 3 días
-
@databricks/lakebase: pool drops maxLifetimeSeconds and other pg options, so connections never recycle and Unity Catalog claims access fails after 4 hoursPosiblemente ocupada @billmcmillin la tomó hace 5 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
databricks/appkit#718 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
databricks/appkit#699 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 3/5 Medio día Aptitud para principiantes 42/100
databricks/appkit#656 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 28/100
databricks/appkit#648 · 2 comentarios ·
Los mantenedores suelen responder en 3 días
Todos los issues de databricks/appkit
Issues similares
-
Add "append" and "prepend" slots for vue-vuetify extended renderersPosiblemente ocupada @simeyc la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
eclipsesource/jsonforms#2668 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
README の通知条件を実際の判定処理に合わせるPosiblemente ocupada @unhappychoice la tomó hoy. Abiertofactory:in-progress priority:medium
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
unhappychoice/oss-issue-opener#395 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug Website
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
OWASP/OWASP-Hunting#88 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día