Searchable Properties

Sentry's search provides you with reserved keywords, like is, user, server, and browser, that you can use to search on the properties of issues and events (as well as the special case of releases). You can also create custom tags on which to search. This page includes a canonical list of all available issue and event search properties as well as guidance for how to use these properties.

Search Properties

Sentry's searchable properties fall into one of four categories: event, issue, session replay, or release.

Issue Properties

Issues are an aggregate of one or more error events. Searchable issues properties include status, assignment, aggregate counts, and age. You can search by issue properties in the Issues page and in Dashboards in the widget builder, depending on your dataset selection.

Event Properties

Events are the underlying event data captured using Sentry SDKs — that is, errors and transactions.

You can search by event properties in the following sentry.io pages:

  • Discover - in the query builder
  • Dashboards - within the widget builder, depending on dataset selection
  • Performance - only in transaction summaries
  • Replay - on the Replay page
  • Issues - as indicated in the table below
  • Alerts - when creating a metric alert

When searching on event properties within the Issues page, the search will return any issue that has one or more events matching the supplied event properties filter.

Replay Properties

Session Replay provides a video-like reproduction of user interactions on a site or web app. All user interactions, including page visits, mouse movements, clicks, and scrolls, are captured, helping developers connect the dots between a known issue and how a user experienced it in the UI.

You can search by session replay properties (indicated with an R in the properties table below) on the Replay page.

Release Properties

In Releases, you can only search by the following properties:

  • release
  • release.build
  • release.package
  • release.stage
  • release.version

However, these properties are also searchable in the other pages of sentry.io listed above (under Event Properties).

Search Tips

Search terms should auto-complete, and when they don't that means you have an invalid dataset. If you enter an invalid search term and tap Return or Enter, an error message is displayed. For example, in Discover, you cannot search using a grouping function (properties with a parentheses in the key, for example epm()) if you don't already have a grouping function included in the "Results" table columns.

When you search using a property that's a function, if the key includes a parameter, you still need to add a filter or value to have a complete search

tokenIn search, a key-value pair or raw search term. Also, a value used for authorization.
. For example, the function count_unique(field) takes whichever field you choose as the parameter and then you add a number as your value to filter on. So a typical search might look like: count_unique(user):>=20.

Other things to note:

  • Search properties that are duration or number types are typically used with a comparison operator rather than just a colon (:) to find exact matches, as an exact match is unlikely to exist.
  • Properties with the notation "Doesn't take a parameter" still require a filter or value, but don't take a parameter inside the parentheses. For example, epm():>12.
  • Default fields/parameters in search functions can be updated. For example, the default parameters column, operator, and value can be updated for count_if(column,operator,value).

Properties Table

Below is a list of issue-level and event-level keys and tokens reserved and known to Sentry. The columns with just letters represent whether the property is one of:

  • E - events
  • I - issues
  • R - replays

The Xs in these columns of the table indicate whether the property is an event property, an issue property, a replay property or a combination of the three.

Key/TokenDescriptionEIRType
activityReplay activity is calculated based on the number of errors, the number of ui events, and the duration of the replay. It's represented as a number from 1 to 10.xnumber
ageReturns issues created since the time defined by the value. The syntax is similar to the Unix find command. Supported suffixes: m - minutes, h - hours, d - days, w - weeks. For example, age:-24h returns isssues that are new in the last 24 hours, while age:+12h returns ones that are older than 12 hours. Entering age:+12h age:-24h would return issues created between 12 and 24 hours ago.xrelative time
apdex(threshold)Returns results with the Apdex score that you entered. Values must be between 0 and 1. Higher apdex values indicate higher user satisfaction.xnumber
app.in_foregroundIndicates if the app is in the foreground or background. Values are 1/0 or true/falsexxboolean
assignedReturns issues assigned to the defined user. Values can be a user ID (your email address), me for yourself, me_or_none for yourself or no assignee, or # followed by the team name, that is #team-name.xteam or org user
assigned_
or_suggested
Returns issues assigned to or suggested to be assigned to the defined user. Suggested assignees are determined by matching ownership rules and suspect commits. Values can be a user ID (your email address), me for yourself, me_or_none for yourself or no assignee/suggestions, or # followed by the team name, that is #team-name.xteam or org user
avg(field)Returns results with matching averages for the field selected. The field can be either a number or a duration. Typically used with a comparison operator.xmatches field
bookmarksReturns issues bookmarked by the defined user. Values can be your user ID (your email address) or me for yourself.xteam or org user
browser.nameName of the users' web browser. For example, Chrome, Firefox, or Safarixstring
browser.versionThe version string of the browser.xstring
count()Returns results with a matching count. (Same as timesSeen in issue search.) Doesn't take a parameter.xnumber
count_if
(column,operator,value)
Returns results with a matching count that satisfy the condition passed to the parameters of the function.xnumber
count_miserable
(field,threshold)
Returns results with a matching count of unique instances of the field that fall above the miserable threshold.xnumber
count_unique(field)Returns results with a matching count of the unique instances of the field entered.xnumber
count_web_vitals(vital,threshold)Returns results with a matching count that meet a web vitals quality threshold (poor, meh, good, or any).xnumber
count_errorsThe number of errors within a replay.xnumber
count_segmentsThe number of segments within a replay. More segments represent more activity over time.xnumber
count_urlsThe number of URLs that the user visited during a replay recording.xnumber
culpritDeprecatedxstring
device.archCPU architecturexxstring
device.battery_levelIf the device has a battery, this can be a floating point value defining the battery level (in the range 0-100).xstring
device.brandBrand of the devicexxxstring
device.chargingWhether the device was charging or not. Not a boolean.xstring
device.classThe estimated performance class of the client device, estimated high, medium, or low. For more details, see the Device Classification section below.xstring
device.familyFamily of the device. Typically, the common part of a model name across generations. For example, iPhone, Samsung Galaxy.xxxstring
device.localeDeprecatedxxstring
device.model_idInternal hardware revision to identify the device exactly.xxn/a
device.nameDetails of the devicexxstring
device.onlineWhether the device was online or not. A string that is either True or False.xstring
device.orientationDescribes the orientation of the device and can be either portrait or landscape.xxstring
device.screen_densityDevice screen density in pixels.xxstring
device.screen_dpiNumber of dots per inch of the device screen.xxstring
device.screen_height_pixelsDevice screen height in pixels.xxstring
device.screen_width_pixelsDevice screen width in pixels.xxstring
device.simulatorIndicates whether this device is a simulator or a real device. A string that is either True or False.xstring
device.uuidDeprecatedxxuuid
distDistinguishes build or deployment variants of the same release of an application. For example, the dist can be the build number of an XCode build or the version code of an Android build.xxxstring
durationDuration of a replay in seconds.xnumber
environmentRefers to your code deployment naming convention. For example, development, testing, staging and so on. Learn more.

In some pages of sentry.io, you filter on environment using a dropdown.
xstring
epm()Returns results with a matching events-per-minute count. Doesn't take a parameter.xnumber
eps()Returns results with a matching events-per-second count. Doesn't take a parameter.xnumber
error_idError instances that have occurred within a replay.xarray
error.handledIndicates whether the user has handled the exception — for example, using try...catch. An error is considered handled if all stack traces handle the error. Values are 1/0 or true/falsexxboolean
error.main_threadIndicates if the error occurred on the main thread. Values are 1/0 or true/falsexxboolean
error.mechanismAn object describing the mechanism that created this exception.xxarray
error.typeThe type of exception. For example, ValueError.xxarray
error.unhandledThe inversion of error.handled.xxboolean
error.valueOriginal value of a field that causes or exhibits the error.xxarray
event.timestampReturns issues with matching datetime.xdatetime
event.typeType of the event (transaction, error, default, csp, and so on). The transaction type is unavailable in Issues.xxstring
failure_count()Returns results with a matching count of events with a transaction.status value that's in the list of failing ones. Values can be: ok, cancelled, unknown. Doesn't take a parameter.xnumber
failure_rate()Returns results with a matching rate of failing transactions — that is, failure_count() divided by the count() (total count). Doesn't take a parameter.xnumber
firstReleaseReturns issues first seen within the given release. Can be an exact match on the version of a release, or first-release:latest to pick the most recent release.xdatetime
firstSeenReturns issues with a matching first time seen. Syntax is the same as age.xdatetime
geo.cityFull name of the cityxxstring
geo.country_codeISO 3166-1 country codexxstring
geo.regionFull name of the countryxxstring
hasReturns results with the defined tag or field, but not the value of that tag or field. For example, entering has:user would find events with the user tag.xxerror
http.methodHTTP method of the request that created the event.xxstring
http.refererIdentifies the web page from which the resource was requested.xxstring
http.status_codeHTTP status code, which indicates whether a response was successful. For example, 200 or 404.xxstring
http.urlFull URL of the request that caused the error, but without any parametersxxstring
idThe event or replay id. In Issues, use only the ID value without the id key.xxxuuid
isThe properties of an issue. Values can be: unresolved, resolved, ignored, assigned, unassigned, linked, or unlinked. The linked and unlinked values return issues based on whether they are linked to an external issue tracker or not.xstatus
issueThe short issue code, for example SENTRY-ABC.xxstring
issue.categoryThe category of the issue (either error or performance).xstring
issue.typeThe specific type of issue. For example issue.type:performance_n_plus_one_db_queries returns the n plus one db query performance issues.xstring
last_seen()Datetime when the event was last seen. Equivalent to max(timestamp). Doesn't take a parameter.xdatetime
lastSeenDatetime when the event was last seen. For example, lastSeen:+30d returns issues last seen 30 days ago or more; lastSeen:-2d returns issues last seen within the past two days. This is similar to age.xdatetime
levelSeverity of the event (such as: fatal, error, warning). Always set to info for transactions.xxxstring
locationLocation where the error happened.xxstring
max(numeric field)Returns results with a matching maximum value for the field entered.xmatches field
measurements.
app_start_cold
A cold start refers to when the app launches for the first time after a reboot or update. The app is not in memory and no process exists.xduration
measurements.
app_start_warm
A warm start refers to when the app has already launched at least once and is partially in memory. For instance, the user backs out of your app, but then re-launches it. The process may have continued to run, but the app must recreate the activity from scratch.xduration
measurements.clsCumulative Layout Shift (CLS) is the sum of individual layout shift scores for every unexpected element shift during the rendering process.xnumber
measurements.fcpFirst Contentful Paint (FCP) measures the time for the first content to render in the viewport.xduration
measurements.fidFirst Input Delay (FID) measures the response time when the user tries to interact with the viewport.xduration
measurements.fpFirst Paint (FP) measures the amount of time the first pixel takes to appear in the viewport, rendering any visual change from what was previously displayed.xduration
measurements.
frames_frozen
Slow and frozen frames measure the responsiveness of your app.xnumber
measurements.
frames_frozen_rate
Returns results with a matching rate of frozen frames. That is, measurements.frames_frozen divided by the measurements.frames_total.xnumber
measurements.
frames_slow
Slow and frozen frames measure the responsiveness of your app.xnumber
measurements.
frames_slow_rate
Returns results with a matching rate of slow frames. That is, measurements.frames_slow divided by the measurements.frames_total.xnumber
measurements.
frames_total
Returns results with a matching total number of frames.xnumber
measurements.lcpLargest Contentful Paint (LCP) measures the render time for the largest content to appear in the viewport.xduration
measurements.
stall_count
A stall is when the JavaScript event loop takes longer than expected to complete. Only applies to React Native.xnumber
measurements.
stall_longest_time
The longest stall time is the time, in milliseconds, of the longest event loop stall. Only applies to React Native.xduration
measurements.
stall_percentage
Stall percentage is equal to the stall_total_time divided by the transaction.duration. Only applies to React Native.xnumber
measurements.
stall_total_time
The total stall time is the total combined time, in milliseconds, of all stalls. Only applies to React Native.xduration
measurements.ttfbTime To First Byte (TTFB) measures the time that it takes for a user's browser to receive the first byte of page content.xduration
measurements.
ttfb.requesttime
The time between start of the request and start of the response (see diagram).xduration
messageReturns errors with the matching message or transactions with matching transaction name. Also matches on any message containing the supplied value.

Searching message:undefined will match an event with a message of undefined is not an object.

Raw text searches (searches without the message key) are also checked against this field. For errors, the message can be a concatenatenation of elements, so searches might include unexpected results.
xxstring
min(numeric field)Returns results with a matching minimum value for the field entered.xmatches field
os.buildThe internal build revision of the operating system.xxstring
os.kernel_versionThe independent kernel version string. This is typically the entire output of the uname syscall.xxstring
os.nameThe name of the operating system. For example, Windows, Mac OS X, or Linuxxstring
os.versionThe version number of the operating system.xstring
percentile(field,level)Returns results with an approximate percentile of the field to the level. The level can be between 0 and 1. For example, if you wanted to find the 50th percentile of transaction durations, you would enter percentile(transaction.duration, 0.5).xnumber
platformName of the platform. This is only a metrics property for valid platforms, defaulting to other.xxstring
platform.nameName of the platformxstring
projectThe name of the project. In some pages of sentry.io, you can also filter on project using a dropdown.xxstring
project.idThe id of the project.xxnumber
pXY(duration field)Returns results with an approximate percentile of the field. Replace "XY" with 50, 75, 95, 99, or 100. For example, if you wanted to find the 50th percentile of transaction durations, you would enter p50(transaction.duration).xnumber
releaseA release is a version of your code deployed to an environment. You can create a
tokenIn search, a key-value pair or raw search term. Also, a value used for authorization.
with an exact match of the version of a release, or release:latest to pick the most recent release.
xxxstring
release.buildThe number that identifies an iteration of your app. For example, CFBundleVersion on iOS or versionCode on Android. Learn more.xxnumber
release.packageThe unique identifier of the project/app. For example, CFBundleIdentifier on iOS or packageName on Android. Learn more.xxstring
release.stageThe usage your release is seeing relative to other releases. Values can be adopted, low, or replaced. Learn more.xxstring
release.versionA shorter version of the name; name without the package or short version of the hash. Learn more.xxstring
replayTypeThe reason a replay was triggered. For example, session when replaysSessionSampleRate takes effect, or error when replaysOnErrorSampleRate is sampled instead of session.xstring
click.altThe alt of an element that was clicked. For example, "a good dog" would match the element <img src="/lassie.jpeg" alt="a good dog" />xstring
click.classThe class of an element that was clicked. No leading . is necessary. For example, btn-primary would match the element <a class="btn btn-primary">Save</a>xstring
click.idThe id of an element that was clicked. No leading # is necessary. For example, reset-password would match the element <a id="reset-password">Reset</a>xstring
click.labelThe aria-label of an element that was clicked. For example, Expand would match the element <button aria-label="Expand"><img src="/icons/expand.png"/></button>xstring
click.roleThe role of an element that was clicked. For example, button would match both <button>Save</button> and <a role="button">Submit</a>xstring
click.selectorAn element identified using a subset of CSS selector syntax. For example, span#section-1 or span.active or span[role=button] or span#section-1.active[role=button] would all match the element <span id="section-1" class="active" role="button"/>. Note that, CSS combinators, pseudo selectors, and attr selectors other than = are not supported.xstring
click.tagThe tag name of an element that was clicked. For example, input would match <input name="username" />xstring
click.testidThe data-testid or data-test-id of an element that was clicked. For example, user-name would match the element <a data-testid="user-name">User Name</a>xstring
click.textContentThe immediate textContent of an element that was clicked. For example, Save would match <button>Save</button> but wouldn't match <button><h1>Save</h1></button>xstring
click.titleThe title of an element that was clicked. For example, Save this comment would match the element <a title="Save this comment" class="btn btn-primary">Save</a>xstring
sdk.nameName of the Sentry SDK that sent the event.xxxstring
sdk.versionVersion of the Sentry SDK that sent the event.xxxstring
spans.browserCumulative browser time for a transaction, based on the span operations.xduration
spans.dbCumulative db time for a transaction, based on span operations.xduration
spans.httpCumulative http time for a transaction, based on span operations.xduration
spans.resourceCumulative resource time for a transaction, based on span operations.xduration
stack.abs_pathThe absolute path to the source file. In events, this is an array; in issues, this is a single value.xxarray, single value
stack.colnoColumn number of the call, starting at 1.xarray
stack.filenameThe path to the source file relative to the project root directory. In events, this is an array. In issues, this is a single value.xxarray, single value
stack.functionName of the function being called. In events, this is an array. In issues, this is a single value.xxarray, single value
stack.in_appIndicates whether a frame is related to the execution of the relevant code in the stack trace. For example, the frames that might power the framework’s web server of your app are probably not relevant. However, calls to the framework’s library once you start handling code likely are relevant. Values can be 1 (true) or 0 (false).xarray
stack.linenoLine number of the call, starting at 1.xarray
stack.modulePlatform-specific module path. For example, sentry.interfaces.Stacktrace. In events, this is an array. In issues, this is a single value.xxarray, single value
stack.packageThe "package" the frame was contained in. Depending on the platform, this can be different things. For C#, it can be the name of the assembly. For native code, it can be the path of the dynamic library or something else. In events, this is an array. In issues, this is a single value.xxarray, single value
sum(numeric field)Returns results with a matching total value for the the field entered.xmatches field
timesSeenReturns results with a matching count. (Same as count() in events.)xnumber
timestampThe finish timestamp of the transaction. Returns events with matching datetime.xxdatetime
timestamp.to_dayTimestamp rounded down to the nearest day.xdatetime
timestamp.to_hourTimestamp rounded down to the nearest hour.xdatetime
titleTitle of the error or the transaction name.xxstring
traceA trace represents the record of the entire operation you want to measure or track — like page load, searched using the uuid generated by Sentry’s SDK.xxxuuid
trace.parent_spanSpan ID of the parent to the current transaction. This is null if the transaction is root.xuuid
trace.spanSpan ID of the root span of the root transaction in the event.xuuid
transactionFor transactions, the name of the transaction. For errors, the name of the associated transaction.xxstring
transaction.durationDuration, in milliseconds, of the transaction.xduration
transaction.opShort code identifying the type of operation the span is measuring.xstring
transaction.statusDescribes the status of the span/transaction. Check out our Transaction Payloads documentation for all possible statuses.xstring
unreal.crash_typeThe Unreal Crash Context Typexxstring
urlA specific URL that the user visited during the replay.xstring
user.displayIn order, the first available user field available: email, then username, ID, and then IP address.xstring
user.emailAn alternative, or addition, to the username. Sentry is aware of email addresses and can therefore display things such as Gravatars and unlock messaging capabilities.xxxstring
user.idApplication-specific internal identifier for the user.xxxstring
user.ipUser's IP address. Sentry uses the IP address as a unique identifier for unauthenticated users.xxxstring
user.usernameUsername, which is typically a better label than the user.id.xxxstring
user_misery(number)Returns transactions with the defined user misery value. User Misery is a user-weighted performance metric that counts the number of unique users who were frustrated; "frustration" is measured as a response time four times the satisfactory response time threshold (in milliseconds). It highlights transactions that have the highest impact on users.xnumber

Custom Tags

Additionally, you can use any tag you’ve specified as a

tokenIn search, a key-value pair or raw search term. Also, a value used for authorization.
. Tags are various key/value pairs that get assigned to an event, and you can use them later as a breakdown or quick access to finding related events.

Most SDKs generally support configuring tags by configuring the scope.

Several common uses for tags include:

  • The hostname of the server
  • The version of your platform (for example, iOS 5.0)
  • The user’s language

Device Classification

device.class provides a simple way for developers to understand the performance level of an event's client device in a single searchable property. This is particularly useful for projects that serve a large range of mobile devices, in which case developers would typically have had to parse through a vast range of specs and models across iOS and Android.

Possible values for device.class are high, medium, and low, indicating the estimated performance level of the device. This is a calculated property that is based on the following specs:

device.class for iOSmodel
highiPhone 12 series or higher
mediumiPhone 7 series to iPhone 11 series
lowiPhone 6 series or lower
device.class for Androidprocessor_countprocessor_frequencymemory_size
high>= 8>= 2500 MHz>= 6 GiB
medium>= 8>= 2000 MHz>= 4 GiB
low< 8< 2000 MHz< 4 GiB

These classifications are based on an analysis of the mobile devices available in the market today and are subject to change as the market evolves.

Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) to suggesting an update ("yeah, this would be better").