-
Notifications
You must be signed in to change notification settings - Fork 2
SentryObservabilityAdapter
Viames Marino edited this page Apr 22, 2026
·
1 revision
Pair\Services\SentryObservabilityAdapter forwards Pair observability spans and events to Sentry without requiring the Sentry PHP SDK.
It implements ObservabilityAdapter and ObservabilityEventAdapter:
- completed spans are sent as Sentry transaction envelopes
- warning/error log events are sent as Sentry event envelopes
- adapter failures are swallowed by
Observability, so telemetry cannot break application flow
For projects that already use the official Sentry SDK, prefer the SDK. This adapter exists as a dependency-free bridge for Pair projects that want basic error and tracing export with minimal setup.
SENTRY_DSN=
SENTRY_ENVIRONMENT=
SENTRY_RELEASE=
SENTRY_TRACES_SAMPLE_RATE=1.0
SENTRY_ERROR_SAMPLE_RATE=1.0
SENTRY_TIMEOUT=10
SENTRY_CONNECT_TIMEOUT=3Notes:
-
SENTRY_DSNcontrols where events are sent. -
SENTRY_ENVIRONMENTfalls back toAPP_ENV. -
SENTRY_RELEASEfalls back toAPP_VERSION. -
SENTRY_TRACES_SAMPLE_RATEcontrols transaction export. -
SENTRY_ERROR_SAMPLE_RATEcontrols warning/error event export.
use Pair\Core\AdapterKeys;
use Pair\Core\Application;
use Pair\Services\SentryObservabilityAdapter;
$app = Application::getInstance();
$app->setAdapter(AdapterKeys::OBSERVABILITY, new SentryObservabilityAdapter());Using AdapterKeys::OBSERVABILITY also activates the Observability facade for the current process.
- Keep
SENTRY_DSNin.env, not in Git. - Start with low
SENTRY_TRACES_SAMPLE_RATEin high-traffic production systems. - Leave
SENTRY_ERROR_SAMPLE_RATE=1.0unless the project has very high error volume. - Pair redacts common sensitive attribute names before telemetry leaves the process.
- Do not attach request bodies or raw SQL through custom attributes.
See also: Observability, ObservabilityEvent, OpenTelemetryHttpExporter, Configuration file.