TraceHawk // browser and PHP errors Group · Count · File the ticket Ingest operational

How it works

Four steps, from an error to a Jira project.

Nothing is inferred from your repository. The browser or your PHP app sends the error. You decide the threshold and the team.

  1. 01

    Create a project and install a client

    A project is one site or one PHP application. The browser client is a script tag with a public key, so you can restrict which origins may send. Leave that list empty while you try it locally. PHP is tracehawk/sdk plus TRACEHAWK_DSN. Laravel is one call. Symfony is one bundle line. PHP has no Origin header, so the origin list does not apply.

    Browser
    <!-- index.html -->
    <script async
      src="https://tracehawk.net/api/<key>/snippet.js"
      crossorigin="anonymous"></script>
    .env
    TRACEHAWK_DSN=https://tracehawk.net/api/<key>
    Laravel
    # bootstrap/app.php
    use TraceHawk\Sdk\Laravel\Integration;
    
    ->withExceptions(function (Exceptions $exceptions) {
        Integration::handles($exceptions);
    })
    Symfony
    # config/bundles.php
    TraceHawk\Sdk\Symfony\TraceHawkBundle::class => ['all' => true],
  2. 02

    Events with the same stack become one issue

    The fingerprint is the exception type plus the top application frames, without line numbers and without the query string. A second visit to the same bug increments the count and the user total. A different function opens a new issue.

    readTotalcart.js:44
    handleCheckoutcheckout.js:218
    dispatchnode_modules/react-dom
    →
    One issue
    ● SHOP-14
  3. 03

    Read it the way you would read a Sentry issue

    Open the latest event, or step to an older one. The stack, breadcrumbs, request, and trace belong to that event. Counts, first seen, and last seen belong to the issue. Resolve it, ignore it, or assign it to someone in the organization.

    TypeError: Cannot read properties of undefined SHOP-14 · first seen 1.4.1 · last seen 1.4.2
    1,248 events · 611 users
  4. 04

    A rule opens one Jira task

    Connect Jira Cloud with the site URL, the account email, and an API token. A team has a project key, an issue type, and labels. A rule says how many events, in 15 minutes, an hour, 6 hours, or a day, should file a task for that team. The same episode does not file a second task. If you resolve the issue and it comes back, the rule can open another one.

    SHOP-412 Bug · Checkout Opened by TraceHawk

    Checkout crashes on the card step for 611 users

    Rule
    50 events in 1 hour
    Episode
    One task, then silence until it is resolved

Ready to turn error noise into actionable issues?