{"id":48498,"date":"2025-02-12T02:34:34","date_gmt":"2025-02-12T02:34:34","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=48498"},"modified":"2025-02-12T02:34:34","modified_gmt":"2025-02-12T02:34:34","slug":"complete-list-of-sentry-terminology","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/complete-list-of-sentry-terminology\/","title":{"rendered":"Complete List of Sentry Terminology"},"content":{"rendered":"\n<p>Here\u2019s a table with each Sentry terminology and a one-liner explanation:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>Terminology<\/strong><\/th><th><strong>Explanation<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>Event<\/strong><\/td><td>A single occurrence of an error or performance issue captured by Sentry.<\/td><\/tr><tr><td><strong>Issue<\/strong><\/td><td>A collection of related events grouped based on shared characteristics like stack trace similarity.<\/td><\/tr><tr><td><strong>Stack Trace<\/strong><\/td><td>The sequence of function calls that led to an error, pointing to the exact line of code.<\/td><\/tr><tr><td><strong>Breadcrumbs<\/strong><\/td><td>A timeline of events leading to the error, providing context like user actions and API calls.<\/td><\/tr><tr><td><strong>Transaction<\/strong><\/td><td>Represents an end-to-end user request, tracking performance across services and operations.<\/td><\/tr><tr><td><strong>Span<\/strong><\/td><td>An individual operation within a transaction, such as an API call or database query.<\/td><\/tr><tr><td><strong>Release<\/strong><\/td><td>A specific version of your application tracked for errors and performance issues.<\/td><\/tr><tr><td><strong>Environment<\/strong><\/td><td>The deployment context (e.g., Production, Staging, Development) where the event occurred.<\/td><\/tr><tr><td><strong>Session<\/strong><\/td><td>Represents a user session, used to track metrics like crash rate and error-free sessions.<\/td><\/tr><tr><td><strong>DSN (Data Source Name)<\/strong><\/td><td>A unique URL that connects your application to Sentry for error reporting.<\/td><\/tr><tr><td><strong>Tag<\/strong><\/td><td>Custom key-value pairs attached to events for filtering and categorization.<\/td><\/tr><tr><td><strong>Transaction Trace<\/strong><\/td><td>Tracks the performance journey of a request, highlighting latency and bottlenecks.<\/td><\/tr><tr><td><strong>Attachment<\/strong><\/td><td>Additional data sent with an event, like log files or screenshots.<\/td><\/tr><tr><td><strong>Project<\/strong><\/td><td>A logical grouping of errors and performance data for a specific application.<\/td><\/tr><tr><td><strong>User Context<\/strong><\/td><td>Provides details about the affected user, such as ID, email, device, and location.<\/td><\/tr><tr><td><strong>Severity Level<\/strong><\/td><td>Indicates the impact of an issue (Info, Warning, Error, Fatal).<\/td><\/tr><tr><td><strong>Performance Metric<\/strong><\/td><td>Tracks key performance indicators like latency, throughput, and error rate.<\/td><\/tr><tr><td><strong>Cron Monitoring<\/strong><\/td><td>Tracks and alerts on failed or flaky scheduled jobs (e.g., cron jobs).<\/td><\/tr><tr><td><strong>Sample Rate<\/strong><\/td><td>Controls the percentage of events sent to Sentry to manage volume.<\/td><\/tr><tr><td><strong>Source Map<\/strong><\/td><td>Maps minified production code back to original source code for accurate debugging.<\/td><\/tr><tr><td><strong>Organization<\/strong><\/td><td>The top-level entity in Sentry, managing multiple projects and teams.<\/td><\/tr><tr><td><strong>Team<\/strong><\/td><td>A group of users working on specific projects within an organization.<\/td><\/tr><tr><td><strong>Rate Limiting<\/strong><\/td><td>Limits the number of events sent to Sentry to prevent exceeding quotas.<\/td><\/tr><tr><td><strong>Quota<\/strong><\/td><td>Defines how many events can be processed within a specific billing plan.<\/td><\/tr><tr><td><strong>Event Fingerprint<\/strong><\/td><td>Determines how events are grouped into issues, based on stack trace or custom logic.<\/td><\/tr><tr><td><strong>Session Replay<\/strong><\/td><td>Replays real user sessions to visually see what happened before an error occurred.<\/td><\/tr><tr><td><strong>Code Coverage<\/strong><\/td><td>Shows whether the faulty code is partially or fully covered by tests.<\/td><\/tr><tr><td><strong>Uptime Monitoring<\/strong><\/td><td>Monitors uptime and alerts on outages for websites and APIs.<\/td><\/tr><tr><td><strong>Integrations<\/strong><\/td><td>Seamless integration with tools like GitHub, Jira, Slack, and CI\/CD pipelines.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Here\u2019s a <strong>complete list of Sentry terminologies<\/strong> along with <strong>detailed descriptions<\/strong> for each:<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>1. Event<\/strong><\/h2>\n\n\n\n<p>An <strong>Event<\/strong> in Sentry represents a single error or performance issue captured from your application.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It contains all relevant information like the <strong>stack trace<\/strong>, <strong>error message<\/strong>, <strong>timestamp<\/strong>, <strong>user data<\/strong>, and <strong>environment<\/strong>.<\/li>\n\n\n\n<li>Events are grouped into <strong>Issues<\/strong> based on similarities in their stack traces.<\/li>\n<\/ul>\n\n\n\n<p><strong>Example<\/strong>:<br>A <code>TypeError: Cannot read property 'foo' of undefined<\/code> in a React app is an <strong>event<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>2. Issue<\/strong><\/h2>\n\n\n\n<p>An <strong>Issue<\/strong> in Sentry is a collection of <strong>related events<\/strong> grouped together.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Issues help developers focus on fixing a recurring problem rather than individual occurrences.<\/li>\n\n\n\n<li>Each issue is assigned a <strong>level (e.g., error, fatal, warning)<\/strong> for prioritization.<\/li>\n<\/ul>\n\n\n\n<p><strong>Example<\/strong>:<br>All <code>404 errors<\/code> on the <code>\/login<\/code> page are grouped into a single <strong>Issue<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3. Stack Trace<\/strong><\/h2>\n\n\n\n<p>A <strong>stack trace<\/strong> shows the sequence of function calls and code execution paths that led to the error.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Helps developers trace the <strong>exact line of code<\/strong> where the error occurred.<\/li>\n\n\n\n<li>Sentry provides <strong>annotated stack traces<\/strong> with local variables for deeper context.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>4. Breadcrumbs<\/strong><\/h2>\n\n\n\n<p><strong>Breadcrumbs<\/strong> are a timeline of events that happened before the error occurred.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>They provide context about <strong>user actions, API calls, navigation events, and console logs<\/strong>.<\/li>\n\n\n\n<li>Helps recreate the steps that caused the issue.<\/li>\n<\/ul>\n\n\n\n<p><strong>Example<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>User clicks a button \u2192 API call fails \u2192 Error occurs \u2192 Breadcrumbs capture the whole process.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>5. Transaction<\/strong><\/h2>\n\n\n\n<p>A <strong>Transaction<\/strong> in Sentry is a performance monitoring event that tracks the end-to-end journey of a user request.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Includes <strong>API calls, database queries, and user interactions<\/strong>.<\/li>\n\n\n\n<li>Helps pinpoint which part of the request is causing latency.<\/li>\n<\/ul>\n\n\n\n<p><strong>Example<\/strong>:<br>A <strong>transaction trace<\/strong> for a <code>GET \/profile<\/code> request might show:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Database Query \u2192 100ms<\/li>\n\n\n\n<li>API Call \u2192 300ms<\/li>\n\n\n\n<li>Template Rendering \u2192 500ms<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>6. Release<\/strong><\/h2>\n\n\n\n<p>A <strong>Release<\/strong> in Sentry represents a specific <strong>version<\/strong> of your application.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sentry tracks errors and performance issues per release, helping you monitor new deployments.<\/li>\n\n\n\n<li>You can link releases to commits and deployment history.<\/li>\n<\/ul>\n\n\n\n<p><strong>Example<\/strong>:<br><code>Release 1.0.3<\/code> shows 3 new errors compared to <code>Release 1.0.2<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>7. Environment<\/strong><\/h2>\n\n\n\n<p>An <strong>Environment<\/strong> helps you segment issues by <strong>deployment context<\/strong>, such as <strong>Production<\/strong>, <strong>Staging<\/strong>, or <strong>Development<\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Allows developers to test error behavior in different environments without mixing results.<\/li>\n<\/ul>\n\n\n\n<p><strong>Example<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Error in <strong>Production<\/strong>: High priority<\/li>\n\n\n\n<li>Error in <strong>Staging<\/strong>: Lower priority, but should be fixed before deployment<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>8. Session<\/strong><\/h2>\n\n\n\n<p>A <strong>Session<\/strong> in Sentry represents a single user session within your app.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Used to track <strong>session-based metrics<\/strong> like <strong>crash rate<\/strong> and <strong>error-free sessions<\/strong>.<\/li>\n\n\n\n<li>Helps identify how stable your app is for real users.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>9. DSN (Data Source Name)<\/strong><\/h2>\n\n\n\n<p>A <strong>DSN<\/strong> is a unique URL provided by Sentry to connect your application to the Sentry service.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It tells your application where to send error and performance data.<\/li>\n<\/ul>\n\n\n\n<p><strong>Example DSN<\/strong>:<br><code>https:\/\/examplePublicKey@sentry.io\/12345<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>10. Tag<\/strong><\/h2>\n\n\n\n<p><strong>Tags<\/strong> are custom key-value pairs attached to events for filtering and categorization.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tags help group and search for related errors based on specific criteria like <strong>feature, device, browser, user role<\/strong>, etc.<\/li>\n<\/ul>\n\n\n\n<p><strong>Example Tags<\/strong>:<br><code>feature: login<\/code>, <code>browser: Chrome<\/code>, <code>user_role: admin<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>11. Transaction Span<\/strong><\/h2>\n\n\n\n<p>A <strong>Transaction Span<\/strong> represents an individual operation within a <strong>transaction<\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Spans help break down <strong>performance traces<\/strong> into smaller components like <strong>HTTP requests, SQL queries<\/strong>, etc.<\/li>\n\n\n\n<li>Each transaction can contain multiple spans.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>12. Traces Sample Rate<\/strong><\/h2>\n\n\n\n<p>The <strong>Traces Sample Rate<\/strong> determines how many <strong>performance events (transactions)<\/strong> are sent to Sentry.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Set between <code>0<\/code> and <code>1<\/code>. <code>1<\/code> means <strong>capture all events<\/strong>, <code>0.5<\/code> means <strong>capture 50% of events<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p><strong>Example<\/strong>:<br>In a high-traffic app, set <code>tracesSampleRate = 0.1<\/code> to reduce the volume of performance data.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>13. Attachment<\/strong><\/h2>\n\n\n\n<p>An <strong>Attachment<\/strong> is any file or data sent along with an event.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Can include <strong>log files, user-uploaded files, screenshots<\/strong>, or other debugging data.<\/li>\n<\/ul>\n\n\n\n<p><strong>Example<\/strong>:<br>A crash report might include a <strong>log file<\/strong> as an attachment.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>14. Project<\/strong><\/h2>\n\n\n\n<p>A <strong>Project<\/strong> in Sentry is a logical grouping of errors and performance data for a specific application or service.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Each project has a unique DSN and settings.<\/li>\n<\/ul>\n\n\n\n<p><strong>Example<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Frontend Project<\/code>: Tracks React errors.<\/li>\n\n\n\n<li><code>Backend Project<\/code>: Tracks Node.js errors.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>15. User Context<\/strong><\/h2>\n\n\n\n<p><strong>User Context<\/strong> provides details about the user who experienced the error, such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>User ID<\/strong><\/li>\n\n\n\n<li><strong>Email<\/strong><\/li>\n\n\n\n<li><strong>Device Info<\/strong><\/li>\n\n\n\n<li><strong>Location<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Helps developers see how specific users are affected by an issue.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>16. Severity Level<\/strong><\/h2>\n\n\n\n<p>Every issue in Sentry has a <strong>severity level<\/strong> to indicate its impact.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Info<\/strong>: Minor log information.<\/li>\n\n\n\n<li><strong>Warning<\/strong>: Potential issues but not critical.<\/li>\n\n\n\n<li><strong>Error<\/strong>: Recoverable error that needs attention.<\/li>\n\n\n\n<li><strong>Fatal<\/strong>: Non-recoverable crash or failure.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>17. Performance Metric<\/strong><\/h2>\n\n\n\n<p><strong>Performance Metrics<\/strong> track how your application performs over time, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Latency<\/strong><\/li>\n\n\n\n<li><strong>Throughput<\/strong><\/li>\n\n\n\n<li><strong>Error Rate<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Helps you optimize your app for better user experience.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>18. Cron Monitoring<\/strong><\/h2>\n\n\n\n<p>A feature that tracks <strong>scheduled tasks<\/strong> (like cron jobs) and alerts you when they fail.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Provides insights into why and where the cron job failed.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>19. Sample Rate<\/strong><\/h2>\n\n\n\n<p>The <strong>Sample Rate<\/strong> controls how many error events are captured by Sentry.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Error sample rate<\/strong>: Controls error events.<\/li>\n\n\n\n<li><strong>Trace sample rate<\/strong>: Controls performance events.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>20. Source Map<\/strong><\/h2>\n\n\n\n<p><strong>Source Maps<\/strong> are used to map minified code back to its original source for better stack traces.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Essential for debugging JavaScript applications in production.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>21. Organization<\/strong><\/h2>\n\n\n\n<p>An <strong>Organization<\/strong> is the top-level entity in Sentry, under which multiple <strong>projects<\/strong> and <strong>teams<\/strong> are managed.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Organizations can have multiple users with different roles and permissions.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>22. Team<\/strong><\/h2>\n\n\n\n<p>A <strong>Team<\/strong> in Sentry is a group of users working on specific projects.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Teams can be assigned to specific issues and receive targeted alerts.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>23. Rate Limiting<\/strong><\/h2>\n\n\n\n<p>Controls the number of events sent to Sentry to avoid overwhelming the system or exceeding quotas.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>24. Quota<\/strong><\/h2>\n\n\n\n<p>A <strong>Quota<\/strong> defines how many events (errors, transactions) can be processed within a specific billing plan.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>25. Event Fingerprint<\/strong><\/h2>\n\n\n\n<p>A <strong>Fingerprint<\/strong> determines how Sentry groups related events into a single issue.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>By default, Sentry groups events based on stack trace similarity.<\/li>\n<\/ul>\n\n\n\n<p><strong>Custom Fingerprint Example<\/strong>:<br>Group errors based on the <strong>user\u2019s role<\/strong> or <strong>feature<\/strong> rather than stack trace.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Want Visual Examples or Workflow for Each Term?<\/strong><\/h2>\n\n\n\n<p>Let\u2019s break it down with <strong>visuals<\/strong> and <strong>real-world examples<\/strong> for each key terminology in <strong>Sentry<\/strong> to make it super clear.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">1\ufe0f\u20e3 <strong>Event (Visualized)<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Definition:<\/strong><\/h3>\n\n\n\n<p>An <strong>event<\/strong> represents a single occurrence of an error or performance issue in your application. It contains a stack trace, user details, and related metadata.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Example:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A user visits your React app and gets an error:<br><code>TypeError: Cannot read property 'email' of undefined<\/code>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Visual Representation:<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">Event Details:\n---------------\n- <span class=\"hljs-built_in\">Error<\/span>: <span class=\"hljs-built_in\">TypeError<\/span>\n- Stack Trace: login.js:<span class=\"hljs-number\">123<\/span>\n- User: John Doe (ID: <span class=\"hljs-number\">101<\/span>)\n- Browser: Chrome <span class=\"hljs-number\">110<\/span>\n- Device: MacBook Pro\n- Environment: Production\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2\ufe0f\u20e3 <strong>Issue (Grouped Events)<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Definition:<\/strong><\/h3>\n\n\n\n<p>An <strong>issue<\/strong> is a group of related events (errors) with the same root cause.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Example:<\/strong><\/h3>\n\n\n\n<p>You see <strong>200 events<\/strong> grouped into an <strong>issue<\/strong> called <code>TypeError in login.js<\/code>, indicating the same error has occurred multiple times for different users.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Visual Representation:<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">Issue: <span class=\"hljs-string\">\"TypeError: Cannot read property 'email'\"<\/span>\n---------------------------------------------------\n- Total Events: <span class=\"hljs-number\">200<\/span>\n- First Seen: <span class=\"hljs-number\">2<\/span> days ago\n- Last Seen: <span class=\"hljs-number\">1<\/span> hour ago\n- Affected Users: <span class=\"hljs-number\">150<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">3\ufe0f\u20e3 <strong>Stack Trace (Code-Level Insight)<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Definition:<\/strong><\/h3>\n\n\n\n<p>A <strong>stack trace<\/strong> shows the sequence of function calls that led to the error, pointing to the exact lines of code.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Example:<\/strong><\/h3>\n\n\n\n<p>Error in your <strong>Node.js<\/strong> app:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-built_in\">TypeError<\/span>: Cannot read property <span class=\"hljs-string\">'email'<\/span> <span class=\"hljs-keyword\">of<\/span> <span class=\"hljs-literal\">undefined<\/span>  \n    at \/app\/routes\/login.js:<span class=\"hljs-number\">123<\/span>:<span class=\"hljs-number\">45<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\"><strong>Visual:<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">Stack Trace:\n-------------\n<span class=\"hljs-number\">1.<\/span> loginHandler (<span class=\"hljs-regexp\">\/app\/<\/span>routes\/login.js:<span class=\"hljs-number\">123<\/span>)\n<span class=\"hljs-number\">2.<\/span> validateInput (<span class=\"hljs-regexp\">\/app\/u<\/span>tils\/validator.js:<span class=\"hljs-number\">45<\/span>)\n<span class=\"hljs-number\">3.<\/span> main (<span class=\"hljs-regexp\">\/app\/i<\/span>ndex.js:<span class=\"hljs-number\">10<\/span>)\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4\ufe0f\u20e3 <strong>Breadcrumbs (User Actions Leading to Error)<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Definition:<\/strong><\/h3>\n\n\n\n<p><strong>Breadcrumbs<\/strong> provide a trail of events that happened before the error\u2014like user clicks, API calls, or console logs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Example:<\/strong><\/h3>\n\n\n\n<p>Error occurred after the following actions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>User navigated<\/strong> to <code>\/login<\/code>.<\/li>\n\n\n\n<li><strong>API Request<\/strong>: GET <code>\/api\/user\/profile<\/code> \u2192 500 Internal Server Error.<\/li>\n\n\n\n<li><strong>User clicked<\/strong> the login button.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Visual:<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">Breadcrumbs:\n-------------\n<span class=\"hljs-number\">1.<\/span> Navigation: \/login\n<span class=\"hljs-number\">2.<\/span> Console Error: Failed to fetch profile data\n<span class=\"hljs-number\">3.<\/span> API Call: GET \/api\/user\/profile \u2192 <span class=\"hljs-number\">500<\/span>\n<span class=\"hljs-number\">4.<\/span> User Action: Clicked <span class=\"hljs-string\">\"Login\"<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">5\ufe0f\u20e3 <strong>Transaction &amp; Spans (Performance Monitoring)<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Definition:<\/strong><\/h3>\n\n\n\n<p>A <strong>transaction<\/strong> tracks the entire journey of a user request across multiple services, while <strong>spans<\/strong> represent individual operations (like API calls or database queries).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Example:<\/strong><\/h3>\n\n\n\n<p>Request to <code>\/user\/profile<\/code>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Transaction Trace<\/strong> shows:\n<ul class=\"wp-block-list\">\n<li>API Request \u2192 100ms<\/li>\n\n\n\n<li>Database Query \u2192 300ms<\/li>\n\n\n\n<li>Rendering \u2192 200ms<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Visual Representation:<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">Transaction Trace:\n------------------\n<span class=\"hljs-regexp\">\/user\/<\/span>profile (<span class=\"hljs-number\">600<\/span>ms total)\n   \u251c\u2500\u2500 API Call (<span class=\"hljs-number\">100<\/span>ms)\n   \u251c\u2500\u2500 DB Query (<span class=\"hljs-number\">300<\/span>ms)\n   \u2514\u2500\u2500 Rendering (<span class=\"hljs-number\">200<\/span>ms)\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">6\ufe0f\u20e3 <strong>Release Tracking<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Definition:<\/strong><\/h3>\n\n\n\n<p>A <strong>release<\/strong> is a specific version of your application. Sentry tracks errors and performance issues per release.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Example:<\/strong><\/h3>\n\n\n\n<p><strong>Release v2.1.0<\/strong> introduced 5 new errors and a regression that affected 20% of users.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Visual:<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">Release<\/span>: <span class=\"hljs-selector-tag\">v2<\/span><span class=\"hljs-selector-class\">.1<\/span><span class=\"hljs-selector-class\">.0<\/span>\n<span class=\"hljs-selector-tag\">-----------------<\/span>\n<span class=\"hljs-selector-tag\">-<\/span> <span class=\"hljs-selector-tag\">New<\/span> <span class=\"hljs-selector-tag\">Issues<\/span>: 5\n<span class=\"hljs-selector-tag\">-<\/span> <span class=\"hljs-selector-tag\">Performance<\/span> <span class=\"hljs-selector-tag\">Regression<\/span>: <span class=\"hljs-selector-tag\">Yes<\/span>\n<span class=\"hljs-selector-tag\">-<\/span> <span class=\"hljs-selector-tag\">Affected<\/span> <span class=\"hljs-selector-tag\">Users<\/span>: 20%\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">7\ufe0f\u20e3 <strong>Session Replay (User Session Video)<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Definition:<\/strong><\/h3>\n\n\n\n<p>Watch real user sessions to visually see what happened before an error occurred.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Helps reduce time spent reproducing bugs.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Example:<\/strong><\/h3>\n\n\n\n<p>The session replay shows:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>User clicked login<\/strong> \u2192 <strong>Form validation failed<\/strong> \u2192 <strong>API request failed<\/strong> \u2192 Error.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">8\ufe0f\u20e3 <strong>Cron Monitoring<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Definition:<\/strong><\/h3>\n\n\n\n<p>Tracks <strong>scheduled jobs<\/strong> (cron jobs) and notifies you when they fail.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Example:<\/strong><\/h3>\n\n\n\n<p>Your <strong>daily report generation job<\/strong> failed due to a timeout. Sentry alerts you with the error details.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Visual:<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">Cron Job: Daily Report Generator\n---------------------------------\n- Status: Failed\n- <span class=\"hljs-built_in\">Error<\/span>: Timeout\n- Suggested Fix: Increase timeout to <span class=\"hljs-number\">10<\/span>s\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">9\ufe0f\u20e3 <strong>Tag (Custom Filters for Error Events)<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Definition:<\/strong><\/h3>\n\n\n\n<p><strong>Tags<\/strong> are key-value pairs that help categorize events.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Example:<\/strong><\/h3>\n\n\n\n<p><strong>Tags<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>feature: checkout<\/code><\/li>\n\n\n\n<li><code>browser: Chrome<\/code><\/li>\n\n\n\n<li><code>user_role: admin<\/code><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Use Case:<\/strong><\/h3>\n\n\n\n<p>Filter all errors in the <code>checkout<\/code> feature for <strong>Chrome users<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">1\ufe0f\u20e30\ufe0f\u20e3 <strong>User Context<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Definition:<\/strong><\/h3>\n\n\n\n<p>Provides details about the user affected by the error.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Example:<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">User<\/span> <span class=\"hljs-selector-tag\">Info<\/span>:\n<span class=\"hljs-selector-tag\">-----------<\/span>\n<span class=\"hljs-selector-tag\">-<\/span> <span class=\"hljs-selector-tag\">User<\/span> <span class=\"hljs-selector-tag\">ID<\/span>: 101\n<span class=\"hljs-selector-tag\">-<\/span> <span class=\"hljs-selector-tag\">Name<\/span>: <span class=\"hljs-selector-tag\">John<\/span> <span class=\"hljs-selector-tag\">Doe<\/span>\n<span class=\"hljs-selector-tag\">-<\/span> <span class=\"hljs-selector-tag\">Email<\/span>: <span class=\"hljs-selector-tag\">john<\/span><span class=\"hljs-keyword\">@example<\/span>.com\n- <span class=\"hljs-attribute\">Browser:<\/span> Chrome <span class=\"hljs-number\">110<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Visual Workflow of Sentry in Action<\/strong><\/h2>\n\n\n\n<p>Here\u2019s a simple <strong>end-to-end workflow diagram<\/strong>:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-number\">1.<\/span> User Action \u2192 <span class=\"hljs-number\">2.<\/span> <span class=\"hljs-built_in\">Error<\/span> Occurs \u2192 <span class=\"hljs-number\">3.<\/span> Sentry Captures Event \n       \u2193                        \u2193\n<span class=\"hljs-number\">4.<\/span> Stack Trace + Breadcrumbs \u2192 <span class=\"hljs-number\">5.<\/span> Sentry Dashboard\n       \u2193                        \u2193\n<span class=\"hljs-number\">6.<\/span> Alerts &amp; Notifications   \u2192  <span class=\"hljs-number\">7.<\/span> Developer Fixes Issue\n       \u2193                        \u2193\n<span class=\"hljs-number\">8.<\/span> Code Deployed (New Release) \u2192 <span class=\"hljs-number\">9.<\/span> Monitor <span class=\"hljs-keyword\">for<\/span> Regression\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here\u2019s a table with each Sentry terminology and a one-liner explanation: Terminology Explanation Event A single occurrence of an error or performance issue captured by Sentry. Issue A collection of related events grouped based on shared characteristics like stack trace similarity. Stack Trace The sequence of function calls that led to an error, pointing to&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-48498","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48498","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=48498"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48498\/revisions"}],"predecessor-version":[{"id":48499,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48498\/revisions\/48499"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=48498"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=48498"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=48498"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}