Error tracking

Error tracking for people who do not read stack traces — and for those who do

Every crash, broken form, JavaScript error and failed email on your site is sent to MySentry, fingerprinted on the server and grouped into one line per problem with a running count. A new problem alerts you once, in plain language. Its repeats only raise the counter. A problem you fixed that comes back is flagged as a regression.

What gets reported

  • PHP fatal errors and uncaught exceptions — the white screen of death, from the WordPress plugin or any PHP app.
  • JavaScript errors in visitors’ browsers — the button that does nothing on Safari, the checkout script that a theme update broke.
  • Failed email sends — contact forms, order confirmations, password resets that report success while nothing arrives.
  • Failed uptime and content checks — so outages appear in the same list and on the same chart as application errors.
  • Anything your own code reports through the API — with a level (fatal, error, warning, info, debug), the URL, the application version and the environment.

Grouping: a thousand repeats are one line

Each event is fingerprinted on the server from its context (for example email.magicLink or wp.php.fatal) and a normalised form of its message. The same error therefore becomes one row — count, first seen, last seen, status — rather than a feed of identical entries, and the fingerprint cannot be spoofed by a misbehaving reporter. Under each row MySentry keeps the most recent 30 occurrences with their stack trace, URL, version and metadata, so the history of a problem is there without the database growing without bound.

Regressions: the fix that did not hold

Mark an error as resolved and MySentry watches for it by fingerprint. If it comes back — a deployment reverted the fix, a plugin re-enabled itself — the error is reopened, tagged REGRESSION and you are alerted immediately. Errors you choose to ignore stay silent for good; errors you bin are deleted after 30 days.

Failed emails: the silent loss of enquiries

When a site’s email breaks — an expired API key at the mail provider, a DNS record lost in a migration, a hosting limit — every form still says “Thank you, we’ll be in touch” and nobody is. MySentry counts failed sends reported under the email.* context; three or more within ten minutes produce a single alert about a probable mail outage, with the last context that failed. The WordPress plugin reports every wp_mail() failure automatically.

Diagnostics, when you want them

Open any error to see its level, the full message, the page or request URL, the application version and environment, the metadata the reporter attached (PHP version, request method, browser) and the stack trace. One button copies a complete debug dump to the clipboard for whoever fixes it. The table sorts on every column, filters by status, searches messages, supports bulk actions and exports the current view to CSV.

Personal data is masked before it is stored

Email addresses and phone numbers are replaced on the server — in messages, stack traces, URLs and metadata — before anything reaches the database. The reporting API caps every field (2,000 characters for a message, 8,000 for a stack trace, 30 keys of metadata) and rate-limits every key and every IP address, so a runaway loop in your application cannot flood your account.

Reporting from your own code

One HTTP request, no SDK:

POST https://www.mysentry.co.uk/api/ingest/error
Authorization: Bearer <your reporting key>
Content-Type: application/json

{
  "context": "checkout.payment",
  "message": "Stripe returned card_declined for order 1042",
  "level": "error",
  "url": "https://shop.example/checkout",
  "app_version": "2.4.1",
  "env": "production"
}

The full contract — browser reporting with CORS allow-lists, heartbeats, limits — is in the documentation.

Pairs with

Uptime monitoring

Failed checks land in the same table, so one screen answers “what is wrong right now”. Uptime →

WordPress plugin

Fatals, warnings, JavaScript errors and failed mail reported with zero code. Plugin →

Error tracking questions

How is MySentry different from Sentry or other developer error trackers?

Developer error trackers are built for engineering teams: priced by the volume of events and written on the assumption that someone reads stack traces every day. MySentry is built for the owner of a small site — a flat price per website with uptime and cron monitoring included, alerts written for humans, and the technical detail one click away when your developer needs it.

What kinds of errors does MySentry track?

PHP fatal errors and uncaught exceptions, JavaScript errors in your visitors’ browsers, failed email sends, failed uptime and content checks, and anything a custom application reports through the API — each with a level (fatal, error, warning, info, debug), the page or request URL, the application version and environment.

How are errors grouped?

Each event is fingerprinted on the server from its context and a normalised message, so the same error is one row with a running count, a first-seen and last-seen time, and the most recent 30 occurrences kept with their stack trace, URL, version and metadata. A thousand repeats of one bug are one line, not a thousand.

What is a regression?

An error you marked as resolved that happens again. MySentry reopens it, tags it REGRESSION and alerts you immediately — the fix did not hold, or a deployment undid it.

Does MySentry store my customers’ personal data?

Email addresses and phone numbers are masked on the server before anything is written to the database — in messages, stack traces, URLs and metadata. The analytics beacon stores no IP addresses and sets no cookies. What else an error contains depends on what your application sends, and the reporting API caps each field.

How does MySentry avoid alert fatigue?

A new error alerts once; its repeats only increase the count. A regression alerts separately. Downtime needs two consecutive failed checks. A silent cron job is reported once a day, not every minute. Failed emails are rolled up: three or more in ten minutes produce one alert about a probable mail outage, not three.

Catch the next error before a customer reports it

MySentry is in early access. Leave your email and you’ll get an invitation with founder pricing.

No spam, one email, unsubscribe any time.