feat(observability): add runtime diagnostics and Divebell sync - #4813
feat(observability): add runtime diagnostics and Divebell sync#48132heal1 wants to merge 33 commits into
Conversation
🦋 Changeset detectedLatest commit: 3620cd5 The changes in this PR will be included in the next version bump. This PR includes changesets to release 48 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
✅ Deploy Preview for module-federation-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0236c49ce6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "dependencies": { | ||
| "@module-federation/sdk": "workspace:*" | ||
| "@module-federation/sdk": "workspace:*", | ||
| "@openruntime/core": "link:/Users/bytedance/ai/openruntime/packages/core" |
There was a problem hiding this comment.
Replace the absolute local OpenRuntime dependency
This new dependency points at /Users/bytedance/..., so a clean checkout or CI runner that does not have that developer-local path cannot satisfy pnpm install --frozen-lockfile, and a published @module-federation/observability-plugin would also carry an unusable local link. Since the new source imports @openruntime/core, this needs to be a real registry/workspace version rather than an absolute link: path.
Useful? React with 👍 / 👎.
cfd28c9 to
fe11138
Compare
@module-federation/devtools
@module-federation/cli
create-module-federation
@module-federation/dts-plugin
@module-federation/enhanced
@module-federation/error-codes
@module-federation/esbuild
@module-federation/managers
@module-federation/manifest
@module-federation/metro
@module-federation/metro-plugin-rnc-cli
@module-federation/metro-plugin-rnef
@module-federation/metro-plugin-rock
@module-federation/modern-js
@module-federation/modern-js-v3
@module-federation/native-federation-tests
@module-federation/native-federation-typescript
@module-federation/nextjs-mf
@module-federation/node
@module-federation/observability-plugin
@module-federation/playground
@module-federation/retry-plugin
@module-federation/rsbuild-plugin
@module-federation/rspack
@module-federation/rspress-plugin
@module-federation/rstest
@module-federation/runtime
@module-federation/runtime-core
@module-federation/runtime-tools
@module-federation/sdk
@module-federation/storybook-addon
@module-federation/third-party-dts-extractor
@module-federation/treeshake-frontend
@module-federation/treeshake-server
@module-federation/typescript
@module-federation/utilities
@module-federation/webpack-bundler-runtime
@module-federation/bridge-react
@module-federation/bridge-react-webpack-plugin
@module-federation/bridge-shared
@module-federation/bridge-vue3
@module-federation/inject-external-runtime-core-plugin
commit: |
|
🚀 Preview Environment Ready!
Details:
|
Bundle Size Report16 package(s) changed, 27 unchanged. Package dist + ESM entry
Bundle targets
Tree-shakable entrypoints
Consumer scenarios
Total dist (raw): 36.16 MB (+259.2 kB (+0.7%)) Bundle sizes are generated with rslib (Rspack). Package-root metrics preserve the historical report. Tracked subpath exports such as |
e80ae52 to
8608846
Compare
6385b09 to
23dfed1
Compare
23dfed1 to
7baff59
Compare
Description
This PR adds Module Federation runtime observability for remote resources, shared dependencies, Bridge lifecycles, runtime errors, and multi-instance state. It keeps the runtime changes focused on semantic hooks while the observability plugin owns report collection, diagnosis, correlation, and browser inspection.
The observability plugin now syncs remote, exposed-module, and shared-dependency state to Divebell through
@divebell/core@0.0.3. The integration follows the current Divebell API, including the removal of input-option providers. The runtime demo, automated coverage, documentation, and changesets have been updated accordingly.Validation completed:
pnpm --filter @module-federation/observability-plugin run buildpnpm --filter @module-federation/observability-plugin run test— 111 tests passedpnpm --filter @module-federation/playground run buildpnpm run ci:local --only=e2e-runtime— 28 browser tests passedpnpm --filter @module-federation/observability-plugin run lintpnpm exec prettier --check .Broader unrelated CI jobs were not rerun for the dependency-only follow-up because the affected packages and runtime demo already have targeted coverage.
Related Issue
No related issue was provided.
Types of changes
Checklist