Skip to content

Conversation

@HugoRCD
Copy link
Owner

@HugoRCD HugoRCD commented Feb 8, 2026

This pull request introduces a new batching and retry pipeline for event drains in the evlog package, enabling efficient, configurable buffering and delivery of events to external services. It updates the Axiom, PostHog, and Sentry adapters to support batch delivery, adds comprehensive tests for the new pipeline, and integrates the pipeline into the playground app for interactive testing.

@HugoRCD HugoRCD self-assigned this Feb 8, 2026
@vercel
Copy link

vercel bot commented Feb 8, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
evlog-docs Ready Ready Preview, Comment Feb 8, 2026 9:09pm

@HugoRCD HugoRCD requested a review from Copilot February 8, 2026 21:08
@github-actions
Copy link

github-actions bot commented Feb 8, 2026

Thank you for following the naming conventions! 🙏

@pkg-pr-new
Copy link

pkg-pr-new bot commented Feb 8, 2026

npm i https://pkg.pr.new/evlog@57

commit: 749936a

Copy link
Contributor

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

Adds a new shared drain “pipeline” to evlog to support buffered batching with retry semantics, and updates several drains and the playground to exercise batch delivery.

Changes:

  • Add createDrainPipeline (buffering + batch flush on size/interval + retry/backoff + overflow dropping) and export it as evlog/pipeline.
  • Update Axiom/PostHog/Sentry drains to accept batched contexts and send via new batch senders.
  • Add Vitest coverage for batching/retry/overflow/flush behaviors and add a playground UI section to trigger pipeline batching.

Reviewed changes

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

Show a summary per file
File Description
packages/evlog/tsdown.config.ts Adds pipeline build entry so it’s emitted to dist.
packages/evlog/src/pipeline.ts Introduces the batching/retry pipeline implementation and its public API.
packages/evlog/test/pipeline.test.ts Adds tests for batching, interval flush, retry strategies, buffer overflow, and flush/pending.
packages/evlog/src/adapters/axiom.ts Updates drain to accept batch inputs and uses batch sender.
packages/evlog/src/adapters/posthog.ts Updates drain to accept batch inputs and uses batch sender.
packages/evlog/src/adapters/sentry.ts Updates drain to accept batch inputs and uses batch sender.
packages/evlog/package.json Exposes ./pipeline via exports/typesVersions.
apps/playground/app/pages/index.vue Adds a UI action to fire 10 requests in parallel for batching.
apps/playground/app/config/tests.config.ts Adds a “Pipeline” test section to the playground UI.

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

@HugoRCD HugoRCD requested a review from Copilot February 9, 2026 19:53
@HugoRCD HugoRCD marked this pull request as ready for review February 9, 2026 19:53
Copy link
Contributor

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.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant