mlflow/server/js/src/telemetry/README.md
Telemetry in MLflow's UI is based on a SharedWorker, which is a type of web worker that can be accessed by multiple tabs. This allows us to effectively consolidate and batch logs.
TelemetryClient.ts:
app.tsx (the top-level MLflow frontend component).DesignSystemEventProvider, which generates view and click events for every interactive component.logEvent is called, the client forwards the log to the SharedWorker via postMessageTelemetryLogger.worker.ts:
/ui-telemetry server endpoint.telemetry-worker entrypoint in craco.config.js)LogQueue.ts: