The official PHP SDK for Sentry (sentry.io)
The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.7.0.
metric_bucket
rate limits (#1726) & (#1728)
The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.5.0.
Add before_send_check_in
and before_send_metrics
(#1690)
\Sentry\init([
'before_send_check_in' => function (\Sentry\Event $event) {
$checkIn = $event->getCheckIn(),
// modify the check-in or return null to not send it
},
]);
\Sentry\init([
'before_send_metrics' => function (\Sentry\Event $event) {
$metrics = $event->getMetrics(),
// modify the metrics or return null to not send it
},
]);
The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.4.0.
Add metrics()->timing()
(#1670)
This allows you to emit a distribution metric based on the duration of the provided callback.
use function Sentry\metrics;
metrics()->timing(
key: 'my-metric',
callback: fn() => doSomething(),
);
Add withMonitor()
(#1679)
This wraps a callback into monitor check-ins.
use function Sentry\withMonitor;
withMonitor(
slug: 'my-monitor',
callback: fn () => doSomething(),
monitorConfig: new MonitorConfig(...),
);
Add new failure_issue_threshold
and recovery_threshold
configuration to MonitorConfig
(#1685)
Add TransactionContext::make()
and SpanContext::make()
(#1684)
use Sentry\Tracing\SpanContext;
$spanCpntext = SpanContext::make()
->setOp('http.client')
->setDescription('GET https://example.com')
Add support for fluent use of Transaction::setName()
(#1687)
Add support for the W3C traceparent
header (#1680)
Do not send an empty event if no metrics are in the bucket (#1676)
Fix the http_ssl_verify_peer
option to set the correct value to CURLOPT_SSL_VERIFYPEER
(#1686)
UserDataBag::getSegment()
and UserDataBag::setSegment()
. You may use a custom tag or context instead (#1681)
The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.3.0.
Add support for Sentry Developer Metrics (#1619)
use function Sentry\metrics;
// Add 4 to a counter named hits
metrics()->increment(key: 'hits', value: 4);
// Add 25 to a distribution named response_time with unit milliseconds
metrics()->distribution(key: 'response_time', value: 25, unit: MetricsUnit::millisecond());
// Add 2 to gauge named parallel_requests, tagged with type: "a"
metrics()->gauge(key: 'parallel_requests', value: 2, tags: ['type': 'a']);
// Add a user's email to a set named users.sessions, tagged with role: "admin"
metrics()->set('users.sessions, '[email protected]', null, ['role' => User::admin()]);
// Flush the metrics to Sentry
metrics()->flush();
// We recommend registering the flushing in a shutdown function
register_shutdown_function(static fn () => metrics()->flush());
To learn more about Sentry Developer Merics, join the discussion at https://github.com/getsentry/sentry-php/discussions/1666.
HubAdapter::class
(#1663)
final
keyword from Hub::class
, Client::class
and Scope::class
(#1665)
The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.2.0.
Add a config option to allow overriding the Spotlight url (#1659)
Sentry\init([
'spotlight_url' => 'http://localhost:8969',
]);
Restore setting the logger
value on the event payload (#1657)
Only apply the sample_rate
on error/message events (#1662)
This fixes an issue where Cron Check-Ins were wrongly sampled out if a sample_rate
lower than 1.0
is used.
@internal
annotation from ClientBuilder::class
(#1661)
The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.1.0.
Add support for Spotlight (#1647)
Spotlight is Sentry for Development. Inspired by an old project, Django Debug Toolbar. Spotlight brings a rich debug overlay into development environments, and it does it by leveraging the existing power of Sentry's SDKs.
To learn more about Spotlight, go to https://spotlightjs.com/.
response
status (#1644)