grafana/public/app
Artur Wierzbicki f45eb309ef
Live: move centrifuge service to a web worker (#41090)
* Fix: make webpack pickup workers written in TS

* Add comlink to dependencies

* Temporary fix: copy paste `toDataQueryError` from @grafana/runtime to avoid web dependencies

* Implemented comlink-based centrifuge worker & worker proxy

* Temporary fix: implement comlink transferHandlers for subscriptions and streamingdataframes

* Move liveTimer filtering from CentrifugeService into GrafanaLiveService

* Switch from CentrifugeService to CentrifugeServiceWorkerProxy in GrafanaLive

* Naming fix

* Refactor: move liveTimer-based data filtering from GrafanaLiveService to CentrifugeServiceWorker

* observe dataStream on an async scheduler

* Fix: - Unsubscribe is now propagated from the main thread to the worker, - improve worker&workerProxy types

* Fix: Prettify types

* Fix: Add error & complete observers

* Docs: Add comment explaining the `subscriberTransferHandler`

* Fix: Replace `StreamingDataFrameHandler` with explicitly converting StreamingDataFrame to a DataFrameDTO

* Refactor: move liveTimer filtering to service.ts to make it easy to implement a `live-service-web-worker` feature flag

* Feat: add `live-service-web-worker` feature flag

* Fix: extract toDataQueryError.ts to a separate file within `@grafana-runtime` to avoid having a dependency from webworker to the whole package (@grafana-runtime/index.ts)

* Update public/app/features/dashboard/dashgrid/liveTimer.ts

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>

* Fix: fixed default import class in worker file

* Fix: cast worker as Endpoint

* Migrate from worker-loader to webpack native worker support v1 - broken prod build

* Fix: Use custom path in HtmlWebpackPlugin

* Fix: Loading workers from CDNs

* Fix: Avoid issues with jest ESM support by mocking `createWorker` files

* Fix: move the custom mockWorker rendering layout to `test/mocks`

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2021-11-09 21:05:01 +04:00
..
angular Angular: Move coreModule to app/angular and isolate angular usage more (#41433) 2021-11-09 08:37:16 +01:00
core Live: move centrifuge service to a web worker (#41090) 2021-11-09 21:05:01 +04:00
features Live: move centrifuge service to a web worker (#41090) 2021-11-09 21:05:01 +04:00
partials Chore: Migrates remaining Angular modals to React (#33476) 2021-04-28 15:22:28 +02:00
plugins Live: move centrifuge service to a web worker (#41090) 2021-11-09 21:05:01 +04:00
polyfills WIP Chore: reduce strict errors (#40462) 2021-10-15 08:57:55 +02:00
routes Navigation: Refactor mobile menu into it's own component (#41308) 2021-11-09 13:41:38 +00:00
store Chore: Bumps Immer, Redux Toolkit, Redux and React Redux (#38872) 2021-09-07 10:44:47 +02:00
types Navigation: Refactor mobile menu into it's own component (#41308) 2021-11-09 13:41:38 +00:00
app.ts Angular: Move coreModule to app/angular and isolate angular usage more (#41433) 2021-11-09 08:37:16 +01:00
AppWrapper.tsx Navigation: New NavBar designs behind feature toggle (#41045) 2021-11-02 11:19:18 +00:00
dev.ts React: Add why-did-you-render dev extension to better see what components re-render and why (in console) (#23455) 2020-04-09 19:44:05 +02:00
index.ts Chore: Prevent loading error from showing too early (#41347) 2021-11-08 16:13:37 +01:00