Skip to content
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

meta(changelog): Update changelog for 7.88.0 #9849

Merged
merged 8 commits into from
Dec 14, 2023
Merged

Conversation

AbhiPrasad
Copy link
Member

Need for ddm release.

github-actions bot and others added 8 commits December 13, 2023 13:19
[Gitflow] Merge master into develop
Adds check-in instrumentation to `Deno.cron` via the `DenoCron`
integration.

- This requires v1.38 of Deno run with the `--unstable` flag. 
- The deno published types we auto download do not include unstable
features, so I had to get them from `deno types --unstable` and check
them into this PR
Where possible, we should use the new `processEvent` and/or `setup`
hooks of the integrations, instead of `setupOnce`. This updates this for
the core integrations.
This PR introduces functionality for a browser metrics SDK in an alpha
state. Via the newly introduced APIs, you can now flush metrics directly
to Sentry in the browser.

To enable capturing metrics, you first need to add the `Metrics`
integration. This is done for treeshaking purposes.

```js
Sentry.init({
  dsn: '__DSN__',
  integrations: [
    new Sentry.metrics.MetricsAggregator(),
  ],
});
```

Then you'll be able to add `counters`, `sets`, `distributions`, and
`gauges` under the `Sentry.metrics` namespace.

```js
// Add 4 to a counter named `hits`
Sentry.metrics.increment('hits', 4);

// Add 2 to gauge named `parallel_requests`, tagged with `happy: "no"`
Sentry.metrics.gauge('parallel_requests', 2, { tags: { happy: 'no' } });

// Add 4.6 to a distribution named `response_time` with unit seconds
Sentry.metrics.distribution('response_time', 4.6, { unit: 'seconds' });

// Add 2 to a set named `valuable.ids`
Sentry.metrics.set('valuable.ids', 2);
```

Under the hood, adding the `Metrics` integration adds a
`SimpleMetricsAggregator`. This is a bundle-sized efficient metrics
aggregator that aggregates metrics and flushes them out every 5 seconds.
This does not use any weight based logic - this will be implemented in
the `MetricsAggregator` that is used for server runtimes (node, deno,
vercel-edge).

To make metrics conditional, it is defined on the client as `public
metricsAggregator: MetricsAggregator | undefined`.

Next step is to add some integration tests for this functionality, and
then add server-runtime logic for it.

Many of the decisions taken for this aggregator + flushing
implementation was to try to be as bundle size efficient as possible,
happy to answer any specific questions.
This should fix an issue where we were unable to record canvas because
the canvas manager bundle was split from the main `record` bundle and
was unable to emit mutations from the canvas manager.
@AbhiPrasad AbhiPrasad requested review from mydea, a team and Lms24 and removed request for a team December 14, 2023 16:33
@AbhiPrasad AbhiPrasad changed the base branch from develop to master December 14, 2023 16:35
@AbhiPrasad AbhiPrasad merged commit b3269ca into master Dec 14, 2023
24 checks passed
@AbhiPrasad AbhiPrasad deleted the prepare-release/7.88.0 branch December 14, 2023 16:50
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.

None yet

5 participants