Core Concepts
Understanding the key concepts in Syntropy.
Projects
A Project represents a single application or service you're monitoring. Each project has:
- A unique Project ID (also called DSN) used to identify events
- Its own Issues (grouped errors)
- Alerts configuration
- Source Maps for stack trace symbolication
You might have separate projects for:
- Frontend web app
- Backend API
- Mobile app (iOS/Android)
- Microservices
Events
An Event is anything that happens in your application that you want to track:
| Type | Description |
|---|---|
error | JavaScript errors, exceptions, crashes |
pageview | Page navigation events |
custom | Any custom event you define |
conversation | Chat and assistant lifecycle events |
Issues
An Issue is a group of similar errors. Syntropy automatically groups errors by:
- Error message (normalized)
- Stack trace (top frames)
This prevents your dashboard from being flooded with thousands of duplicate errors.
Issues have statuses:
- Open - Active issue that needs attention
- Resolved - Marked as fixed
- Ignored - Intentionally suppressed
- Regressed - Was resolved, but occurred again
Sessions
A Session represents a user's visit to your application. Sessions:
- Have a unique ID persisted in the browser/app
- Group all events from that visit
- Can be linked to identified users
- Track breadcrumbs leading to errors
Breadcrumbs
Breadcrumbs are a trail of events leading up to an error:
- User clicks
- Page navigations
- Network requests (fetch/XHR)
- Console messages
- Custom breadcrumbs you add
When an error occurs, the last N breadcrumbs are attached, helping you understand what the user did before the crash.
Releases
A Release represents a version of your application:
Syntropy.init({
projectId: 'your-project-id',
release: '1.2.3', // Semantic version
dist: '45', // Build number
environment: 'production',
});
Release tracking lets you:
- See which version introduced a bug
- Filter errors by release
- Link source maps to specific releases
Source Maps
Source Maps allow Syntropy to translate minified/bundled stack traces back to your original source code.
Instead of seeing:
Error at e.handleClick (main.abc123.js:1:2345)
You'll see:
Error at handleClick (src/components/Button.tsx:42:8)
Upload source maps via the dashboard or CLI.
Alerts
Alerts notify you when something important happens:
- Error spike - Error rate exceeds threshold
- New error - First occurrence of an error
- Traffic drop - Unusual decrease in events
Alerts can be sent via:
- Slack webhook