Pluggable integrations that enhance Sentry JavaScript SDKs with additional error tracking, monitoring, and debugging capabilities.
—
Adds session duration information to all events, tracking time since Sentry initialization. This integration provides temporal context for errors and helps understand application session lifecycle.
/**
* Adds session timing information to all events
* @returns Integration instance that tracks session duration
*/
function sessionTimingIntegration(): Integration;/**
* Legacy class-based session timing integration
* @deprecated Use sessionTimingIntegration() instead
*/
class SessionTiming implements Integration {
name: string;
processEvent(event: Event): Event;
}The integration adds three timing properties to the extra field of every event:
session:startsession:durationsession:endimport { sessionTimingIntegration } from '@sentry/integrations';
import * as Sentry from '@sentry/browser';
// Add session timing to all events
Sentry.init({
dsn: 'YOUR_DSN',
integrations: [
sessionTimingIntegration()
]
});
// Session timing works with any error or message
setTimeout(() => {
throw new Error('Error after 5 seconds');
}, 5000);
// The error event will include timing information:
// extra: {
// 'session:start': 1640995200000,
// 'session:duration': 5000,
// 'session:end': 1640995205000
// }All events processed by this integration receive additional timing context:
// Original event
{
message: "User action failed",
extra: {
userId: "12345"
}
}
// Enhanced with session timing
{
message: "User action failed",
extra: {
userId: "12345",
"session:start": 1640995200000, // Session initialized
"session:duration": 15000, // 15 seconds since start
"session:end": 1640995215000 // Current timestamp
}
}Understanding when errors occur during the application lifecycle:
Tracking application behavior over time:
Understanding user interaction patterns:
Session timing data enables temporal analysis:
// Query events by session duration ranges
// 0-30s: startup errors
// 30s-5min: short session errors
// 5min+: long session errorsSet up alerts based on session timing:
// Alert on errors occurring very early in sessions
if (event.extra['session:duration'] < 10000) {
// Potential startup issue
}This integration has no configuration options - it automatically tracks timing for all events from the moment it's initialized. The timing starts when the integration is created, not when Sentry.init() is called, providing accurate session duration measurement.
This integration is lightweight and provides valuable temporal context for debugging and analysis without any performance impact or additional setup requirements.
Install with Tessl CLI
npx tessl i tessl/npm-sentry--integrations