{"componentChunkName":"component---src-templates-doc-tsx","path":"/product/sentry-basics/guides/enrich-data/","result":{"data":{"file":{"id":"2fd0f8f7-4088-54f4-8fb1-b99439218da8","relativePath":"product/sentry-basics/guides/enrich-data/index.mdx","sourceInstanceName":"docs","childMarkdownRemark":null,"childMdx":{"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Put Your Data to Work\",\n  \"sidebar_order\": 5,\n  \"redirect_from\": [\"/guides/enrich-data/\"],\n  \"description\": \"Learn how to configure Sentry workflows and tools to fine-tune the data sent to Sentry.\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"The Sentry SDK captures errors, exceptions, crashes, and generally anything that goes wrong in your application in real-time.\\nOnce captured, the SDK will enrich the error data with contextual information that it grabs from the application's runtime and send all this data as an \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"event\"), \" to your Sentry account.\"), mdx(\"p\", null, \"While Sentry adds a lot of this contextual data by default, we highly encourage you to \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"add your custom data\"), \" through the SDK. Multiple Sentry workflows and tools can be configured and fine-tuned based on this data - so adapting those to the way you work, will go a long way in getting even more value out of Sentry.\"), mdx(\"h2\", {\n    \"id\": \"types-of-data\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#types-of-data\",\n    \"aria-label\": \"types of data permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Types of Data\"), mdx(\"p\", null, \"The SDK allows you to set various types of data that will then be attached to every event that occurs in your application. Generally, those data types are :\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Unstructured Data\"), \" - include additional data like \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Breadcrumbs\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Extra data\"), \", and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Custom Contexts\"), \". While these fields are \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"unsearchable\"), \", they enrich your events with information that will help you debug and resolve the associated issues.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Structured Data\"), \" - key/value pairs that are \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"indexed and searchable\"), \", allowing you to search, filter, and query \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"through all your errors\"), \" cross-project in addition to helping you debug specific issues. These include:\"), mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Custom Tags\"), \" - are a way to reflect key characteristics that apply to your applications, dev process, or business in your error data - variants and flavors of your app, a user type, tenant ID, payment plan, etc.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Release\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Environment\"), \" - are predefined data fields available as SDK configuration options.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"User Context\"), \" - comprised of a set of predefined data fields. Setting any one of those (when applicable), allows Sentry to construct a user identity and define user uniqueness.\")))), mdx(\"h2\", {\n    \"id\": \"utilizing-your-data\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#utilizing-your-data\",\n    \"aria-label\": \"utilizing your data permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Utilizing your Data\"), mdx(\"p\", null, \"Adding custom \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"structured data\"), \" that is unique to your applications, users, and business logic enriches your error data and provides valuable context to every error. That same data can also be utilized to customize Sentry workflows and adapt them to your precise needs. Let's look at those major workflows:\"), mdx(\"h3\", {\n    \"id\": \"alert-rules\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"#alert-rules\",\n    \"aria-label\": \"alert rules permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Alert Rules\"), mdx(\"p\", null, \"Targeted alerts are key to focusing attention when your app breaks and notifying exactly the people who can fix it. The more data you add to your errors, the more flexibility you gain to create pinpointed alerts. The following data types can be incorporated in your alert rules by adding the relevant conditions to trigger the alert:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"User Context\"), \": Once a certain issue has impacted a defined threshold of unique users.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Custom Tags\"), \": When events contain custom tag values that match your defined values.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Environment\"), \": When events are occurring in a specific environment.\")), mdx(\"p\", null, \"These can all come in handy in both issue and metric alerts, for instance:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Issue Alerts\"), \": The following rule will trigger a Slack message when \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"a certain issue\"), \" of level error or fatal, originating from my \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"EMEA\", \"*\", \" releases\"), \" in my \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"production environment\"), \" and \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"impacts more than 50 enterprise end-users in one hour\"), \"\\n\", mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1200px\"\n    }\n  }), \"\\n      \", mdx(\"a\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/0f4152d270612c1b7a5c892d99076ded/9f9a4/002.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }), \"\\n    \", mdx(\"span\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"64%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAIAAAAmMtkJAAAACXBIWXMAAAsSAAALEgHS3X78AAABsUlEQVQoz2WS2Y4cIQxF+f9vzEOkjCZdCzvGYEz13KJ7opFSOoXMYrxczO7i5253Gx6nD1TrGCRCXcqCBNNRvqc/ya2bTORDZG46JxgKFMZzfbW20/ra+phTVP/Rx+gyjI/F+ki1ETcXsvPJuWhdDKlk4tpHqhhF5mxD2xiAZTGGybW5VGKpifgMZXPpCMWXHgrHTLeDamlyRvLUI2tqcNOKWlozCLhZd7hw+PhxxN9/3cdZHD8zS4hZUMO8EvVff/YtsKtXqCrzQi7YNSIjUwVUebNpDxz705NSw3ZCtXpdrUtKZV6XTtyl6AVaAxeTuSHmGV6kkKmP++4xL9Tic/Ex58qiEz/rYirkSLkY7uJTRs9jIR9TTAUr3Hrljltgo6uIo3fY6x6vC0qg2ymTQSNzIeSMw4UYBk4v5FZu3m7zP8bUys3AAYkhYMPpexXM73Ghb2QxfmBQpA3JhuxTgQBLTIWM6CdEriJvA7UseWlNoRbAC6uPwz1Ot1t/+vj5OPbTdZ0Qf7N+swEGhMTufXuXDbaLkRhRTYPc1N7UjixczHirgFcWt/0aXyz7fiddvgDgxO93p8meMwAAAABJRU5ErkJggg==')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"img\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"Additional Data for Issue Alerts\",\n    \"title\": \"Additional Data for Issue Alerts\",\n    \"src\": \"/static/0f4152d270612c1b7a5c892d99076ded/c1b63/002.png\",\n    \"srcSet\": [\"/static/0f4152d270612c1b7a5c892d99076ded/5a46d/002.png 300w\", \"/static/0f4152d270612c1b7a5c892d99076ded/0a47e/002.png 600w\", \"/static/0f4152d270612c1b7a5c892d99076ded/c1b63/002.png 1200w\", \"/static/0f4152d270612c1b7a5c892d99076ded/9f9a4/002.png 1560w\"],\n    \"sizes\": \"(max-width: 1200px) 100vw, 1200px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  })), \"\\n  \"), \"\\n    \"))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Metric Alerts\"), \": The following rule will trigger a Slack message in case more than \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"50 enterprise end-users in an hour\"), \" are impacted by \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"fatal level errors\"), \" (\", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"from multiple issues\"), \") originating from my \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"EMEA\", \"*\", \" releases\"), \" in my \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"production environment\"), \".\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1200px\"\n    }\n  }), \"\\n      \", mdx(\"a\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/c3376c55d029fc2b9bb3f22c53b06120/c655d/006.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }), \"\\n    \", mdx(\"span\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"61%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAIAAADtbgqsAAAACXBIWXMAAAsSAAALEgHS3X78AAABUUlEQVQoz21Si47kIAzr/3/q7kx5hjygsE7pnVajlawoSTFxTA+zkQqlTNS41FYKATkDFeW45jUnYr88Xms95bgQj5Qrs6CwPgBFtLFznGtNamXtfRNSqpixmU6OhWPmGHMu1MdDU+uIay0WTbmAsckhZpwU0YeMyd+vQLWJmINNfeiFsXMtUZSGHC3vzke2jYHqwGIhFiKBQsATVrkvAHkLwblN/g2fnCvFlHEaq261eyaoiI0FUtH8JN83HnC5sGYS0l7VSAwJWW//gE6z8SeO9Dq/3uH7HUpz02HFHR+QaFPbQP8DkN3cw1RiyNAOz8a9LeBus8JwBVPtY/N750LnmcBHrMRYBvhPhhq+3RN1s38D1hzvkE64LYbHIpYGnWIQvwEdbB3Rd+m+kec38PWIuaZSQy6ud66OJ53+Mz7Aq84l1l8nzMFyZGP6LTZq4x919rx0xhr8UAAAAABJRU5ErkJggg==')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"img\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"Additional Data for Metric Alerts\",\n    \"title\": \"Additional Data for Metric Alerts\",\n    \"src\": \"/static/c3376c55d029fc2b9bb3f22c53b06120/c1b63/006.png\",\n    \"srcSet\": [\"/static/c3376c55d029fc2b9bb3f22c53b06120/5a46d/006.png 300w\", \"/static/c3376c55d029fc2b9bb3f22c53b06120/0a47e/006.png 600w\", \"/static/c3376c55d029fc2b9bb3f22c53b06120/c1b63/006.png 1200w\", \"/static/c3376c55d029fc2b9bb3f22c53b06120/c655d/006.png 1586w\"],\n    \"sizes\": \"(max-width: 1200px) 100vw, 1200px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  })), \"\\n  \"), \"\\n    \")))), mdx(\"p\", null, \"For more information, see \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/product/alerts-notifications/#alerts\"\n  }), \"Alerts\"), \".\"), mdx(\"h3\", {\n    \"id\": \"filter-search--order-issues\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"#filter-search--order-issues\",\n    \"aria-label\": \"filter search  order issues permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Filter, Search & Order Issues\"), mdx(\"p\", null, \"In your Issue stream:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Filter issues according to your application's \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"environments\"), \" using the top-level filter bar.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Sort issues by the number of (unique) impacted \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"users\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Search through issues by your \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"custom tags\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"user context\"), \" attributes, and \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"release\"), \" ids in the issue search bar.\")), mdx(\"p\", null, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1200px\"\n    }\n  }), \"\\n      \", mdx(\"a\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/e8f8f75c4a2d1fee78293a8cb2c280ff/ab98c/003.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }), \"\\n    \", mdx(\"span\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"33.666666666666664%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAAAsSAAALEgHS3X78AAAA6ElEQVQY01VQ2W7EIAzM/39lH1o10QLhtDFXOoC02qKRY5txZsyREpdS+xhA66P3kYiZZTxPHxOtoTeYsw8R/c2srQOHNo7zHJfSpHTkIVCi7Fy0NhAJSh+S84koS6lAlkosiIfzFCODhAKTyPH7nCsiEBPf1u+ZUtsW3IDY8fWtzutW6gZvGXyWYXznySJKGThHiZtPwOzxc+qXckZbzMPW8/+IFOdjnrL9U7b2pfx76utSgNa3dSEmSgszISa8k0/YpTZI4VEa4kykzOHzZc3tjHGg7sVg/g34L7XO3lpkGZ57hQxy+wPyxJeE9GQLFAAAAABJRU5ErkJggg==')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"img\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"Issues View\",\n    \"title\": \"Issues View\",\n    \"src\": \"/static/e8f8f75c4a2d1fee78293a8cb2c280ff/c1b63/003.png\",\n    \"srcSet\": [\"/static/e8f8f75c4a2d1fee78293a8cb2c280ff/5a46d/003.png 300w\", \"/static/e8f8f75c4a2d1fee78293a8cb2c280ff/0a47e/003.png 600w\", \"/static/e8f8f75c4a2d1fee78293a8cb2c280ff/c1b63/003.png 1200w\", \"/static/e8f8f75c4a2d1fee78293a8cb2c280ff/d61c2/003.png 1800w\", \"/static/e8f8f75c4a2d1fee78293a8cb2c280ff/ab98c/003.png 2356w\"],\n    \"sizes\": \"(max-width: 1200px) 100vw, 1200px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  })), \"\\n  \"), \"\\n    \")), mdx(\"p\", null, \"For more information, see \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/product/sentry-basics/search/\"\n  }), \"Search\"), \".\"), mdx(\"h3\", {\n    \"id\": \"discover\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"#discover\",\n    \"aria-label\": \"discover permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Discover\"), mdx(\"p\", null, \"Discover is a powerful query engine that builds upon your error data allowing you to reveal patterns, anomalies, and deeper insights in the health of your entire system. With this in mind, the more (custom) data you add to your errors, the more flexibility you'll gain in building queries that address your \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"environments\"), \", \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"releases\"), \", custom development, and business characteristics through \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"tags\"), \", and the end-users impacted by those errors.\"), mdx(\"p\", null, \"For instance, the Discover query below displays all the errors (total of 143 events) that occurred in my \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"production environment\"), \" distributed by the \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"customer-type custom tag\"), \" and ordered by the \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"uniquely impacted end users\"), \".\"), mdx(\"p\", null, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1200px\"\n    }\n  }), \"\\n      \", mdx(\"a\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/6445e1912bcc52b1bda1f50785481366/437e0/004.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }), \"\\n    \", mdx(\"span\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"67.66666666666666%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAIAAACgpqunAAAACXBIWXMAAAsSAAALEgHS3X78AAABpklEQVQoz41S204cMQzN//9HRR94LLvdpwJVLxJCSKtBQly2YrUrLkUzk5ncHSecTLQUeKgYHUW2c2xPji20cZ5iyplTZk7M2VrX9dI6X4MhcuSkrevlOCpdaCWeKLJQNrRSjda7yJZihQkFL+67oLZeDsp6EvdPHTItMj8MlFAuoIpo+2FQxoVInP6PwPwuIihGIDLemz4ISGCsQ5aAU4TJOb1CBGkyeHdVRXqJIB/9SjJP7NI8F8Fx4Xyo11OrXLv5QAESp10VJIcYEaLdaSG7D5gT3DLFQOCX2xjhwa9DmsIYlSqUVIulVA181ag2JDHGgYZagK1VchLDiMcHX9pyBeypMePEPOWgAdDuH9q2HUAGeolqJLAhnVTGE5bEEZdV8SQV1Cw7M2iLW3gXl3ef934vFufAfN4cfbvYblvRS6W1ydM/V+DzVFayCpOn83r1+GW2/Lo4n82bg1lzdrruOy1GZQvt7aiQjFBVoUie8+rP35Oj1d263647oGk2jw9SSOMMNHi7xtqT+bfSRDmfLW/3P538+rH6fnz18/Bmebh52qhnXmop51qouT4AAAAASUVORK5CYII=')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"img\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"Discover Query\",\n    \"title\": \"Discover Query\",\n    \"src\": \"/static/6445e1912bcc52b1bda1f50785481366/c1b63/004.png\",\n    \"srcSet\": [\"/static/6445e1912bcc52b1bda1f50785481366/5a46d/004.png 300w\", \"/static/6445e1912bcc52b1bda1f50785481366/0a47e/004.png 600w\", \"/static/6445e1912bcc52b1bda1f50785481366/c1b63/004.png 1200w\", \"/static/6445e1912bcc52b1bda1f50785481366/d61c2/004.png 1800w\", \"/static/6445e1912bcc52b1bda1f50785481366/437e0/004.png 2094w\"],\n    \"sizes\": \"(max-width: 1200px) 100vw, 1200px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  })), \"\\n  \"), \"\\n    \")), mdx(\"p\", null, \"For more information, see \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/product/discover-queries/\"\n  }), \"Discover\"), \".\"), mdx(\"h3\", {\n    \"id\": \"issue-ownership\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"#issue-ownership\",\n    \"aria-label\": \"issue ownership permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Issue Ownership\"), mdx(\"p\", null, \"Ownership allows you to target email notifications and automatically assign ownership to members in your project teams, by defining ownership rules in your project settings. Ownership rules can be defined based on an error's origin \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"URL\"), \", the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"path\"), \" of the files in the error's stack-trace, or an error's \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"tag\"), \" value.\"), mdx(\"p\", null, \"This means that by adding meaningful \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"custom tags\"), \" to your errors, you'll be able to reduce noise by pinpointing notifications to the right people and automatically assign new issues to their proper owners.\"), mdx(\"p\", null, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1200px\"\n    }\n  }), \"\\n      \", mdx(\"a\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/74668a30ad460fde86fcac531ed32edb/b5dee/005.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }), \"\\n    \", mdx(\"span\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"29.333333333333332%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAIAAABM9SnKAAAACXBIWXMAAAsSAAALEgHS3X78AAAAjklEQVQY052O2w7EIAhE/f9f7UW7FS8w6ILb9006mcRROUAoVHtjqHIXs2URDB1mEWm1M4uqAuDOCh3qhhihId9EuQijUrNG+UO1NAPsW1joLnY1xgpabc7ASRsDOJy3bT/289xjiiml6zxSPBJlmmP+VlD4vBX08XoMfi7NOZ/g8b+s0uH5Sgv2HV4J+gXdZ2HeWfU9fAAAAABJRU5ErkJggg==')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"img\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"Issue Owner Tag Rule\",\n    \"title\": \"Issue Owner Tag Rule\",\n    \"src\": \"/static/74668a30ad460fde86fcac531ed32edb/c1b63/005.png\",\n    \"srcSet\": [\"/static/74668a30ad460fde86fcac531ed32edb/5a46d/005.png 300w\", \"/static/74668a30ad460fde86fcac531ed32edb/0a47e/005.png 600w\", \"/static/74668a30ad460fde86fcac531ed32edb/c1b63/005.png 1200w\", \"/static/74668a30ad460fde86fcac531ed32edb/b5dee/005.png 1237w\"],\n    \"sizes\": \"(max-width: 1200px) 100vw, 1200px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  })), \"\\n  \"), \"\\n    \")), mdx(\"p\", null, \"For more information, see \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/product/error-monitoring/issue-owners/\"\n  }), \"Issue Owners\"), \".\"), mdx(\"h3\", {\n    \"id\": \"release-workflows\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"#release-workflows\",\n    \"aria-label\": \"release workflows permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Release Workflows\"), mdx(\"p\", null, \"Configuring the release version ID on the SDK will associate every error that happens in your application runtime with a specific release version of your code. This way you know exactly\\xA0when\\xA0an error was introduced into your source code. It also unlocks these powerful features and workflows:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Suspect Commits & Suggested Assignee\"), \" - With a release in place, Sentry can suggest suspect commits that might have an introduced the error to your code and through that commit also suggest the author as an assignee.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Resolve with Release\"), \" - When you mark an Issue as resolved in a specific release, new events of that issue occurring in previous releases will be ignored and will not trigger any notifications.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Regression Notifications\"), \" - In case you marked an issue as resolved in a release and new events are still occurring in that same release or any future releases, Sentry will consider that a regression and will notify you.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Release Health\"), \" (Currently available on the Android and iOS SDKs) - Sentry can monitor the health of your releases by observing various metrics like user adoption, session duration, crash-free users and sessions, and others. For more information, see \", mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"/product/releases/health/\"\n  }), \"Health\"), \".\")), mdx(\"p\", null, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1200px\"\n    }\n  }), \"\\n      \", mdx(\"a\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/1b07ac7acc8f273118ab6c315c9edc12/912fc/001.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }), \"\\n    \", mdx(\"span\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"67.33333333333333%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAIAAAAmMtkJAAAACXBIWXMAAAsSAAALEgHS3X78AAACEklEQVQoz01SO24UQRCdayBxBBwQEPkYSGRIDggg5AIIOYIYISAicYp8Aa6ABIk/CRYrr9azM7P9qf5Ud3X38HZWstyqqZ7+vOr3qqqznrWLJnCq871xaQ/NBp40/f5z1Y+aYjI+Os6x1K4fzXayLgnWPhWYY4F/CPa54MLOevhYaygtSA1SOoQixzElH1kZB9MW0XOuNUmJuJ0yZ2ERqW3ZyfDSGpZdbfsxz/Ownd68evvi+cnJy9ciBTulNRb4uULLMiZlDXlL3gXmJJ2UKjic58169ezo+PGjo6dPjsEDO61SS73tr2haYVVqHSYVl2cPUbpSW11eXt1cnJ5+evf+68cPn/v1dbSr9eX5r5/ffnz/cn529vf6AmAfYuSEn5QlQzMm52NeJC1BZvgsVQTESpQZRqEYisy87QelLFEAUgrAUrS2ShnggQaPAxUowUREWpsQgjI2eK9HbX0KERlEKubOuqAc25CIxaUCTxGlEi7Fc1LWWR8N7pAnpEo7UMhZ2hK6Mzu9vlObwQw7dzfRaCLFEnPFsSzaylIVIotyHsjvkbWFwJ0dd/9uh1F5KEcNyCEjqK3A4xJyU/da5hg9HhxHoBPyghpZ4zq3U5utnkzUjg361HoIQQjoAgxZgcfnPaFxlPa8gBHUudCZYbpZbW97M+g4maC00xQoJM8ZhMG6LC+DNqdMe6zUpX/Qav8BriLdHDn7Wi4AAAAASUVORK5CYII=')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"img\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"Release\",\n    \"title\": \"Release\",\n    \"src\": \"/static/1b07ac7acc8f273118ab6c315c9edc12/c1b63/001.png\",\n    \"srcSet\": [\"/static/1b07ac7acc8f273118ab6c315c9edc12/5a46d/001.png 300w\", \"/static/1b07ac7acc8f273118ab6c315c9edc12/0a47e/001.png 600w\", \"/static/1b07ac7acc8f273118ab6c315c9edc12/c1b63/001.png 1200w\", \"/static/1b07ac7acc8f273118ab6c315c9edc12/d61c2/001.png 1800w\", \"/static/1b07ac7acc8f273118ab6c315c9edc12/912fc/001.png 1934w\"],\n    \"sizes\": \"(max-width: 1200px) 100vw, 1200px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  })), \"\\n  \"), \"\\n    \")), mdx(\"p\", null, \"For more information, see \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/product/releases/\"\n  }), \"Releases\"), \".\"));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#types-of-data","title":"Types of Data"},{"url":"#utilizing-your-data","title":"Utilizing your Data","items":[{"url":"#alert-rules","title":"Alert Rules"},{"url":"#filter-search--order-issues","title":"Filter, Search & Order Issues"},{"url":"#discover","title":"Discover"},{"url":"#issue-ownership","title":"Issue Ownership"},{"url":"#release-workflows","title":"Release Workflows"}]}]},"internal":{"type":"Mdx"}}}},"pageContext":{"excerpt":"The Sentry SDK captures errors, exceptions, crashes, and generally anything that goes wrong in your application in real-time.\nOnce captured, the SDK will enrich the error data with contextual information that it grabs from the application's runtime and send all this data as an  event  to your Sentry account. While Sentry adds a lot of this contextual data by default, we highly encourage you to  add your custom data  through the SDK. Multiple Sentry workflows and tools can be configured and fine-tuned based on this data - so adapting those to the way you work, will go a long way in getting even more value out of Sentry. Types of Data The SDK allows you to set various types of data that will then be attached to every event that occurs in your application. Generally, those data types are : Unstructured Data  - include additional data like  Breadcrumbs ,  Extra data , and  Custom Contexts . While these fields are  unsearchable , they enrich your events with information that will help you debug and resolve the associated issues. Structured Data  - key/value pairs that are  indexed and searchable , allowing you to search, filter, and query  through all your errors  cross-project in addition to helping you debug specific issues. These include: Custom Tags  - are a way to reflect key characteristics that apply to your applications, dev process, or business in your error data - variants and flavors of your app, a user type, tenant ID, payment plan, etc. Release  and  Environment  - are predefined data fields available as SDK configuration options. User Context  - comprised of a set of predefined data fields. Setting any one of those (when applicable), allows Sentry to construct a user identity and define user uniqueness. Utilizing your Data Adding custom  structured data  that is unique to your applications, users, and business logic enriches your error data and provides valuable context to every error. That same data can also be utilized to customize Sentry workflows and adapt them to your precise needs. Let's look at those major workflows: Alert Rules Targeted alerts are key to focusing attention when your app breaks and notifying exactly the people who can fix it. The more data you add to your errors, the more flexibility you gain to create pinpointed alerts. The following data types can be incorporated in your alert rules by adding the relevant conditions to trigger the alert: User Context : Once a certain issue has impacted a defined threshold of unique users. Custom Tags : When events contain custom tag values that match your defined values. Environment : When events are occurring in a specific environment. These can all come in handy in both issue and metric alerts, for instance: Issue Alerts : The following rule will trigger a Slack message when  a certain issue  of level error or fatal, originating from my  EMEA *  releases  in my  production environment  and  impacts more than 50 enterprise end-users in one hour \n Metric Alerts : The following rule will trigger a Slack message in case more than  50 enterprise end-users in an hour  are impacted by  fatal level errors  ( from multiple issues ) originating from my  EMEA *  releases  in my  production environment . For more information, see  Alerts . Filter, Search & Order Issues In your Issue stream: Filter issues according to your application's  environments  using the top-level filter bar. Sort issues by the number of (unique) impacted  users . Search through issues by your  custom tags ,  user context  attributes, and  release  ids in the issue search bar. For more information, see  Search . Discover Discover is a powerful query engine that builds upon your error data allowing you to reveal patterns, anomalies, and deeper insights in the health of your entire system. With this in mind, the more (custom) data you add to your errors, the more flexibility you'll gain in building queries that address your  environments ,  releases , custom development, and business characteristics through  tags , and the end-users impacted by those errors. For instance, the Discover query below displays all the errors (total of 143 events) that occurred in my  production environment  distributed by the  customer-type custom tag  and ordered by the  uniquely impacted end users . For more information, see  Discover . Issue Ownership Ownership allows you to target email notifications and automatically assign ownership to members in your project teams, by defining ownership rules in your project settings. Ownership rules can be defined based on an error's origin  URL , the  path  of the files in the error's stack-trace, or an error's  tag  value. This means that by adding meaningful  custom tags  to your errors, you'll be able to reduce noise by pinpointing notifications to the right people and automatically assign new issues to their proper owners. For more information, see  Issue Owners . Release Workflows Configuring the release version ID on the SDK will associate every error…","title":"Put Your Data to Work","description":"Learn how to configure Sentry workflows and tools to fine-tune the data sent to Sentry.","draft":null,"noindex":null,"notoc":null,"sidebar_order":5,"redirect_from":["/guides/enrich-data/"],"keywords":null,"id":"2fd0f8f7-4088-54f4-8fb1-b99439218da8","legacy":false}},"staticQueryHashes":["1218203755","1222113826","1222113826","1766336459","2158593473","2764967025","3345802723","3818502851","3990806462","4015007367","4192517163","4264099332","518019976"]}