This section covers some basic concepts that you'll need to be familiar with to configure and use Backtrace products.
You can attach useful attributes - or metadata - to a Backtrace snapshot such as version number, tag, datacenter, hardware information - really anything you like! Later, when querying the object store, you can filter or group results by these attributes.
BCD is a simple library for invoking out-of-process tools in response to program errors. By default, BCD is configured to use the Backtrace I/O tracers and database clients to allow for process snapshots to be directly submitted to the database.
Coresnap is the Backtrace service that will automatically process coredumps on the machine which it is installed. By default, Coresnap will generate Backtrace snapshots from coredumps on the system and send them to the object store.
Coroner / Object Store
Coroner is the name of Backtrace's high-performance object store for grouping and querying snapshots. You can query the object store via its Web UI, or via the
coroner command-line client.
Hydra is Backtrace's command line snapshot viewer.
A project is an organizational unit within the object store's database. It is one level below the universe. Each snapshot that you send to the object store will need to go within a project. Typically these take the name of each application that you wish to gather crash data for.
Ptrace is Backtrace's command-line utility for generating a Backtrace snapshot (.btt file) from a process or a coredump.
A snapshot is generated from the ptrace utility and has a .btt extension by default. This is the file that contains your call stack, thread, variable, and classifier information. These are typically sent over to the object store and will be intelligently grouped into trace groups.
The Backtrace object store intelligently groups traces with similar characteristics into a single trace group. Trace groups share call stacks and each trace group receives its own unique identifier.
A token uniquely identifies a user/project combination within the object store. When you make requests to the object store, you will need to provide a token, which you can generate within the object store's Web UI. When working with the
coroner command line client, you will configure a short alias for the token in the client's configuration file (
coroner.cf) and use that alias instead.
A universe is the top-level organizational unit within the object store. You'll typically name this after your organization. The universe can contain one or more projects.
A watcher is an object that you can configure in the object store to enable a workflow integration. This is where you configure whether to trigger the notification on a group or trace level, and how long to wait and number of events to aggregate before triggering the event.
A workflow integration allows you to connect Backtrace to a supported third-party alerting, messaging, or ticketing product such as Slack, JIRA, IRC, etc. You can configure the integration to send a message or create an incident in response to a new trace or trace group. See also Watchers.