Skip to content

Conversation

@BioPhoton
Copy link
Collaborator

@BioPhoton BioPhoton commented Jan 27, 2026

@github-actions github-actions bot added 📖 Project documentation improvements or additions to the project documentation 🔬 testing writing tests 🧩 utils labels Jan 27, 2026
@nx-cloud
Copy link

nx-cloud bot commented Jan 27, 2026

View your CI Pipeline Execution ↗ for commit b5a0c7b


☁️ Nx Cloud last updated this comment at 2026-02-01 21:47:14 UTC

@pkg-pr-new
Copy link

pkg-pr-new bot commented Jan 27, 2026

Open in StackBlitz

@code-pushup/ci

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/ci@1231

@code-pushup/cli

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/cli@1231

@code-pushup/core

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/core@1231

@code-pushup/create-cli

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/create-cli@1231

@code-pushup/models

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/models@1231

@code-pushup/nx-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/nx-plugin@1231

@code-pushup/axe-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/axe-plugin@1231

@code-pushup/coverage-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/coverage-plugin@1231

@code-pushup/eslint-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/eslint-plugin@1231

@code-pushup/js-packages-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/js-packages-plugin@1231

@code-pushup/jsdocs-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/jsdocs-plugin@1231

@code-pushup/lighthouse-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/lighthouse-plugin@1231

@code-pushup/typescript-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/typescript-plugin@1231

@code-pushup/utils

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/utils@1231

commit: b5a0c7b

# Conflicts:
#	packages/utils/docs/profiler.md
#	packages/utils/src/lib/profiler/constants.ts
#	packages/utils/src/lib/profiler/profiler.int.test.ts
#	packages/utils/src/lib/profiler/profiler.ts
#	packages/utils/src/lib/profiler/profiler.unit.test.ts
@github-actions
Copy link
Contributor

github-actions bot commented Jan 31, 2026

Code PushUp

🤨 Code PushUp report has both improvements and regressions – compared current commit f4bebc5 with previous commit 7b6e72c.

💼 Project utils

🤨 Code PushUp report has both improvements and regressions.

🕵️ See full comparison in Code PushUp portal 🔍

🏷️ Category ⭐ Previous score ⭐ Current score 🔄 Score change
Documentation 🟡 61 🟡 61 ↑ +0.5
Code coverage 🟢 95 🟢 94 ↓ −0.3

4 other categories are unchanged.

👍 1 group improved, 👎 1 group regressed, 👍 3 audits improved, 👎 5 audits regressed

🗃️ Groups

🔌 Plugin 🗃️ Group ⭐ Previous score ⭐ Current score 🔄 Score change
JSDocs coverage Documentation coverage 🟡 61 🟡 61 ↑ +0.5
Code coverage Code coverage metrics 🟢 95 🟢 94 ↓ −0.3

13 other groups are unchanged.

🛡️ Audits

🔌 Plugin 🛡️ Audit 📏 Previous value 📏 Current value 🔄 Value change
JSDocs coverage Variables coverage 🟥 50 undocumented variables 🟥 50 undocumented variables  +0 %
JSDocs coverage Types coverage 🟨 55 undocumented types 🟥 60 undocumented types ↑ +9.1 %
JSDocs coverage Methods coverage 🟨 10 undocumented methods 🟨 12 undocumented methods ↑ +20 %
JSDocs coverage Functions coverage 🟥 243 undocumented functions 🟥 242 undocumented functions ↓ −0.4 %
JSDocs coverage Properties coverage 🟥 39 undocumented properties 🟥 40 undocumented properties ↑ +2.6 %
Code coverage Branch coverage 🟩 91.9 % 🟩 91.4 % ↓ −0.5 %
Code coverage Function coverage 🟩 95.8 % 🟩 95.5 % ↓ −0.3 %
Code coverage Line coverage 🟩 97.8 % 🟩 97.7 % ↓ −0.2 %

436 other audits are unchanged.


13 other projects are unchanged.

@BioPhoton BioPhoton marked this pull request as ready for review February 1, 2026 03:28
@BioPhoton BioPhoton requested a review from Copilot February 1, 2026 03:49
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Refactors NodeJS profiling persistence to use a sharded write-ahead log (WAL) flow and updates trace serialization/normalization utilities and tests accordingly.

Changes:

  • Introduces ShardedWal + process/time ID helpers and wires NodeJS profiler persistence to shard/merge traces.
  • Refactors trace event encoding/decoding and trace file generation to support deterministic output.
  • Moves trace JSON(L) normalization helpers from @code-pushup/test-utils into packages/utils/mocks and updates Vitest include patterns.

Reviewed changes

Copilot reviewed 44 out of 44 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
testing/test-utils/src/lib/utils/omit-trace-json.unit.test.ts Removes old trace JSONL normalization unit tests from test-utils.
testing/test-utils/src/lib/utils/omit-trace-json.ts Removes old trace JSONL normalization helper from test-utils.
testing/test-utils/src/index.ts Stops exporting removed omit-trace-json helper.
testing/test-setup-config/src/lib/vitest-config-factory.unit.test.ts Updates Vitest config factory tests to include mocks/** patterns.
testing/test-setup-config/src/lib/vitest-config-factory.ts Adds mocks/** include globs for unit/int tests.
packages/utils/src/lib/wal.ts Refactors WAL types/codec behavior; removes in-file sharded WAL implementation.
packages/utils/src/lib/wal.int.test.ts Adds integration tests for WriteAheadLogFile.
packages/utils/src/lib/wal-sharded.unit.test.ts Adds unit tests for new ShardedWal behavior (memfs).
packages/utils/src/lib/wal-sharded.ts Introduces new ShardedWal implementation and shard ID generation.
packages/utils/src/lib/wal-sharded.int.test.ts Adds integration tests for ShardedWal file behavior.
packages/utils/src/lib/user-timing-extensibility-api-utils.ts Adjusts track config typing to omit dataType.
packages/utils/src/lib/profiler/wal-json-trace.unit.test.ts Expands codec + trace format tests for new serialization behavior.
packages/utils/src/lib/profiler/wal-json-trace.ts Updates trace WAL format to use new codec + trace file helpers and base name constant.
packages/utils/src/lib/profiler/trace-file.type.ts Simplifies trace event typings and trace container typing.
packages/utils/src/lib/profiler/trace-file-utils.unit.test.ts Updates tests to new trace event factories and encoding/decoding.
packages/utils/src/lib/profiler/trace-file-utils.ts Refactors trace event factories and adds event encode/decode + (de)serialization helpers.
packages/utils/src/lib/profiler/profiler.unit.test.ts Updates unit tests to reflect new enable-state API usage.
packages/utils/src/lib/profiler/profiler.ts Adds debug state to profiler options and env var handling.
packages/utils/src/lib/profiler/profiler.int.test.ts Updates integration tests for new profiler defaults and track payload expectations.
packages/utils/src/lib/profiler/profiler-node.ts Switches NodeJS profiler persistence to ShardedWal and updates lifecycle/stats.
packages/utils/src/lib/profiler/profiler-node.int.test.ts Reworks NodeJS profiler integration tests for sharded output, snapshots, multiprocess test.
packages/utils/src/lib/profiler/constants.ts Adds sharding/output env vars and switches debug env var to DEBUG.
packages/utils/src/lib/profiler/snapshots/sharded-path-trace-events.jsonl Removes snapshot for previous single-shard JSONL output.
packages/utils/src/lib/profiler/snapshots/entries-write-to-shard.jsonl Adds snapshot for normalized shard JSONL output.
packages/utils/src/lib/profiler/snapshots/entries-write-to-shard.json Adds snapshot for normalized finalized trace JSON output.
packages/utils/src/lib/profiler/snapshots/debugMode-test.json Adds snapshot for debug-mode trace output.
packages/utils/src/lib/profiler/snapshots/custom-tracks-trace-events.jsonl Removes snapshot for previous custom-tracks JSONL output.
packages/utils/src/lib/profiler/snapshots/comprehensive-stats-trace-events.jsonl Removes snapshot for previous stats JSONL output.
packages/utils/src/lib/profiler/snapshots/buffered-test.json Adds snapshot for buffered-entry capture output.
packages/utils/src/lib/process-id.unit.test.ts Adds tests for new time/process/thread ID utilities.
packages/utils/src/lib/process-id.ts Introduces helpers for unique time/process/thread/instance IDs.
packages/utils/src/lib/performance-observer.unit.test.ts Updates tests for new debug env var and buffered behavior changes.
packages/utils/src/lib/performance-observer.ts Refactors buffered capture strategy and standardizes debug env var usage.
packages/utils/src/lib/create-runner-files.ts Uses new getUniqueProcessThreadId for per-runner uniqueness.
packages/utils/mocks/omit-trace-json.unit.test.ts Adds tests for new trace normalization helpers in mocks.
packages/utils/mocks/omit-trace-json.ts Adds new trace JSON/JSONL loading + normalization utilities for deterministic snapshots.
packages/utils/mocks/multiprocess-profiling/utils.ts Adds multiprocess profiling helper utilities.
packages/utils/mocks/multiprocess-profiling/profiler-worker.mjs Adds multiprocess coordinator script for profiling tests/demos.
packages/utils/mocks/multiprocess-profiling/profiler-worker-child.mjs Adds multiprocess child worker script for profiling tests/demos.
packages/utils/mocks/README.md Documents multiprocess profiling mocks usage.
packages/utils/eslint.config.js Allows sync fs usage in WAL/profiler test files.
packages/utils/docs/profiler.md Updates profiler docs for sharded WAL, env vars, state machine; includes new config tables.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

BioPhoton and others added 15 commits February 1, 2026 05:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📖 Project documentation improvements or additions to the project documentation 🔬 testing writing tests 🧩 utils

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants