Visibility

Sentry’s new Visibility features — Discover, Dashboards, and Events — help you gain detailed perspectives of your application’s health by providing filtering tools to navigate your issues across multiple projects in a single view.

 

Discover

Discover helps you query event data in Sentry, across any number of projects within your organization. It enables you to uncover patterns and trends in your events’ data. For example, you can aggregate event count by stack.filename and stack.function, and then browse the data as a table, bar chart, or line graph.

For more information on how to use the query builder and event fields, see the full documentation on Discover.

Query results, in the form of a line graph, that summarize data by unique user email.

 

Dashboards

Dashboards are various data visualizations of your errors across your organization — including graphs of your errors, geographic mapping, and lists of browsers. Dashboards allow you to drill into data by selecting points of interest.

 

Overall View of Application

Each graph and visualization helps uncover crucial patterns and trends about where your customers are hitting errors.

Line graphs describing events, events by release, affected users, and handled vs unhandled issues.

 

Dive into Specific Projects

Filter your data with project-specific parameters.

Drop-down that allows filtering based on projects.

 

Filter by Environment

Distill needs by choosing explicit environments.

Drop-down that allows filtering based on environment.

 

Refine by Time Period

Define distinct time periods for a more clear-cut glimpse.

Drop-down that allows filtering based on calendar dates.

 

Events

The Events View uncovers your raw error stream for any group of projects, including environment or time range. To investigate a spike, select the spike in your Events View graph to narrow your timeframe. Drill down into any individual event to see issues related to that event.

Line graph illustrating spikes in events for a project. Includes stack trace.

 

The updated Search helps you get specific with Issues and Events views.

  • Wildcards: use the * operator as a placeholder for specific characters or strings. For example, user.email:*@example.com
  • Negation: use the ! operator to exclude terms. For example, !user.email:user@example.com
  • Advanced properties: search on advanced event properties like stack (including stack.filename, stack.module, etc.), as well as geo (including geo.country_code, geo.city, etc.).

For more information on syntax and searchable properties, see the full Search documentation.

 

Use-Case: Tracing

Modern applications have many components that can produce errors, making it harder to identify the root cause. Tracing allows you to link systems together while following the error’s path to its root. By tagging some form of a tracing ID (for example: span ID, request ID, UUID, or transaction ID), you can correlate errors coming from different parts of your application and see them in the Events View.

// generate unique transactionId and set as Sentry tag
const transactionId = getUniqueId();
Sentry.configureScope(scope => {
    scope.setTag("transaction_id", transactionId);
});

// perform request (set transctionID as header and throw error appropriately)
request.post({
    url: "http://localhost:3001/checkout",
    json: order,
    headers: {
        "X-Session-ID": this.sessionId,
        "X-Transaction-ID": transactionId
    }
}, (error, response) => {
    if (error) {
        throw error;
    }
    if (response.statusCode === 200) {
        this.setState({ success: true });
    } else {
        throw new Error(response.statusCode + " - " + response.statusMessage);
    }
}

For more information, see how you can use Sentry and NGINX to trace errors to logs.