Skip to content

feat(node): Instrument stream responses for openai #17110

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 13 commits into from
Jul 29, 2025

Conversation

RulaKhaled
Copy link
Member

@RulaKhaled RulaKhaled commented Jul 21, 2025

This adds support for OpenAI streaming responses in the Node.js SDK

What's new

  • Streaming Chat Completions: Support for stream: true in chat.completions.create()
  • Streaming Responses API: Support for streaming in the new OpenAI Responses API

// Streaming chat completions - automatically instrumented
const stream = await openai.chat.completions.create({
  model: 'gpt-4',
  messages: [...],
  stream: true
});

// Streaming responses API - automatically instrumented  
const responseStream = await openai.responses.create({
  model: 'gpt-4',
  input: 'Hello',
  stream: true
});

closes: #17037

Copy link
Contributor

github-actions bot commented Jul 21, 2025

size-limit report 📦

Path Size % Change Change
@sentry/browser 23.76 kB - -
@sentry/browser - with treeshaking flags 22.35 kB - -
@sentry/browser (incl. Tracing) 39.41 kB - -
@sentry/browser (incl. Tracing, Replay) 77.52 kB - -
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 67.39 kB - -
@sentry/browser (incl. Tracing, Replay with Canvas) 82.23 kB - -
@sentry/browser (incl. Tracing, Replay, Feedback) 94.35 kB - -
@sentry/browser (incl. Feedback) 40.45 kB - -
@sentry/browser (incl. sendFeedback) 28.44 kB - -
@sentry/browser (incl. FeedbackAsync) 33.34 kB - -
@sentry/react 25.5 kB - -
@sentry/react (incl. Tracing) 41.38 kB - -
@sentry/vue 28.2 kB - -
@sentry/vue (incl. Tracing) 41.21 kB - -
@sentry/svelte 23.79 kB - -
CDN Bundle 25.28 kB - -
CDN Bundle (incl. Tracing) 39.28 kB - -
CDN Bundle (incl. Tracing, Replay) 75.39 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) 80.82 kB - -
CDN Bundle - uncompressed 73.86 kB - -
CDN Bundle (incl. Tracing) - uncompressed 116.29 kB - -
CDN Bundle (incl. Tracing, Replay) - uncompressed 230.53 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 243.35 kB - -
@sentry/nextjs (client) 43.44 kB - -
@sentry/sveltekit (client) 39.84 kB - -
@sentry/node-core 47.48 kB +0.01% +1 B 🔺
@sentry/node 144.89 kB +0.54% +765 B 🔺
@sentry/node - without tracing 91.58 kB - -
@sentry/aws-serverless 103.03 kB -0.01% -1 B 🔽

View base workflow run

@RulaKhaled RulaKhaled changed the title [WIP] Stream responses OpenAI feat(node): Instrument stream responses for openai Jul 23, 2025
This reverts commit 1607304.
@RulaKhaled RulaKhaled requested a review from andreiborza July 24, 2025 12:43
@RulaKhaled RulaKhaled marked this pull request as ready for review July 24, 2025 14:24
@mydea mydea requested a review from AbhiPrasad July 25, 2025 09:24
Copy link
Member

@AbhiPrasad AbhiPrasad left a comment

Choose a reason for hiding this comment

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

I'd like us to add some more jsdoc explanations to packages/core/src/utils/openai/streaming.ts

@getsentry getsentry deleted a comment from cursor bot Jul 28, 2025
@RulaKhaled RulaKhaled force-pushed the stream-responses-openai branch from 67e717f to 4dd32e8 Compare July 28, 2025 10:54
@RulaKhaled RulaKhaled requested a review from AbhiPrasad July 28, 2025 11:15
@RulaKhaled RulaKhaled merged commit e3376ee into develop Jul 29, 2025
172 checks passed
@RulaKhaled RulaKhaled deleted the stream-responses-openai branch July 29, 2025 07:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Evaluate and support stream responses for both chat and responses APIs
2 participants