How It Works

Built For JavaScript

TrackJS seamlessly integrates with your code and JavaScript framework. We report errors from your code, network, and third-parties with zero impact to your page.

Works Everywhere You Need It

Even Old Internet Explorer

numerous browser and JavaScript framework logos

Better JavaScript in 3 Steps

Install the Agent

Copy our code snippet into your html or add our agent on npm. You don't need to change your code or call our API, errors are captured automatically. The agent is only 8kb and dependency free.

Automatic Logging

Errors are logged to our Capture API, where we enrich, de-duplicate, and analyze errors for trends. You can set up rules to automatically ignore errors or group them together.

Report and Alert

We'll surface actionable data from your errors, like user impact, browser spread, and custom metadata. We'll automatically alert you when your data has changed, so you can react to fix issues.

Logging Every Kind of Error

Catchs JavaScript Errors

JavaScript Errors

JavaScript is complicated and asynchrounous, and errors are inevitable. The TrackJS agent wraps the browser API to catch errors and rejected promises as soon as they happen and enriches them with better stack traces and event Telemetry

Catches Network Errors

Network Errors

The Internet is unreliable and treacherous. When a request fails to load a script or call your API, the TrackJS agent will record the failure as an error, along with the URL, method, status code, and request time.

Catches Console Errors

Console Errors

Errors from third-parties, security, and browser configuration are often displayed only in the console. The TrackJS agent wraps and captures errors from the browser console as well, including all the history as Telemetry events.

Plus, TrackJS can monitor Memory Errors, Asset Load Failures, and Performance Metrics with small extensions!

Do No Harm

Private By Default

Our agent doesn't use cookies and doesn't track anything identifiable about users. Telemetry events only include metadata about network requests and user actions, but never values, headers, or bodies.

No Impact

The TrackJS agent does not alter the behavior or performance of the browser, and will not slow down your page. Event data is kept as a small detached rolling buffer to prevent memory leaks.

Non-Blocking

When the agent sends error or usage data, it is deferred and non-blocking so that we never interrupt interaction with your page. If the agent is disconnected, it fails open, so that your page and your user are never impacted.

Common Questions

Will it slow down my page?

Absolutely Not! The agent adds a small function wrapper to the browser that stores a copy of event data in our log. The overhead of this is so small, you couldn't measure it in milliseconds. When error data needs to be sent, it's all non-blocking and asynchrounous, so it won't slow down the user experience at all.

How big is the agent?

The agent file is 8kb hosted from our secure CDN. If you prefer, you can pull the agent from npm and bundle it with your app. This will make it even faster, as it saves an extra DNS lookup and call to our CDN.

Can I customize it for my app?

Yes! The agent has several APIs and events that you can hook into. You can add custom metadata, send custom events, or hook into new data sources. Check out our documentation for details.

TrackJS at Work