IntegrationAdvanced Usage
Advanced Usage
SDK Methods
initNoisegate(config)
Initialize NoiseGate. Call once at app startup. Automatically loads filter patterns.
import { initNoisegate } from "@noisegate/sdk";
initNoisegate({
apiKey: "ng_live_...", // Required
apiUrl: "...", // Optional: custom endpoint
debug: true, // Optional: enable logging
timeout: 5000, // Optional: request timeout in ms
});isNoise(error)
Check if an error matches any filter pattern.
import { isNoise } from "@noisegate/sdk";
if (isNoise(error)) {
// This error is noise, don't report it
}getPatterns()
Manually fetch patterns. Usually not needed since initNoisegate loads them automatically.
import { getPatterns } from "@noisegate/sdk";
const patterns = await getPatterns();getClient()
Access the client instance for advanced usage.
import { getClient } from "@noisegate/sdk";
// Get cached patterns synchronously
const patterns = getClient().getCachedPatterns();
// Clear cache to force refresh
getClient().clearCache();Pattern Structure
interface FilterPattern {
id: string;
pattern: string; // Match pattern (case-insensitive)
category: string; // e.g., "browser", "extension"
confidence: number; // 0-1 confidence score
}Using with Other Error Trackers
NoiseGate works with any error tracking service. See Error Tracking Services for comprehensive examples including client and server-side configurations.
Datadog
import { datadogRum } from "@datadog/browser-rum";
import { initNoisegate, isNoise } from "@noisegate/sdk";
initNoisegate({ apiKey: "ng_live_..." });
datadogRum.init({
applicationId: "...",
clientToken: "...",
beforeSend: (event, context) => {
if (event.type === "error") {
const error = (context as { error?: unknown })?.error;
if (error instanceof Error && isNoise(error)) return false;
}
return true;
},
});New Relic
import { BrowserAgent } from "@newrelic/browser-agent/loaders/browser-agent";
import { initNoisegate, isNoise } from "@noisegate/sdk";
initNoisegate({ apiKey: "ng_live_..." });
const agent = new BrowserAgent({ /* config */ });
agent.setErrorHandler((err: unknown) => {
if (err instanceof Error && isNoise(err)) return true; // Ignore
return false;
});Raygun
import rg4js from "raygun4js";
import { initNoisegate, isNoise } from "@noisegate/sdk";
initNoisegate({ apiKey: "ng_live_..." });
rg4js("apiKey", "...");
rg4js("enableCrashReporting", true);
rg4js("onBeforeSend", (payload) => {
const msg = payload?.Details?.Error?.Message || "";
const err = new Error(msg);
if (isNoise(err)) return false; // Drop
return payload;
});Rollbar
import Rollbar from "rollbar";
import { initNoisegate, isNoise } from "@noisegate/sdk";
initNoisegate({ apiKey: "ng_live_..." });
const rollbar = new Rollbar({
accessToken: "...",
checkIgnore: (_isUncaught, args) => {
const error = args[0];
if (error instanceof Error && isNoise(error)) return true; // Ignore
return false;
},
});Bugsnag
import Bugsnag from "@bugsnag/js";
import { initNoisegate, isNoise } from "@noisegate/sdk";
initNoisegate({ apiKey: "ng_live_..." });
Bugsnag.start({
apiKey: "...",
onError: (event) => {
const error = event.originalError;
if (error instanceof Error && isNoise(error)) return false; // Drop
return true;
},
});LogRocket
import LogRocket from "logrocket";
import { initNoisegate, isNoise } from "@noisegate/sdk";
initNoisegate({ apiKey: "ng_live_..." });
LogRocket.init("your-app-id");
// Filter before capturing
export function captureException(error: unknown) {
if (error instanceof Error && isNoise(error)) return;
LogRocket.captureException(error as Error);
}Next Steps
- Error Tracking Services — Comprehensive examples with server-side configs
- API Reference — Direct API access