- Add centered logo and title with product branding - Add links to product website and documentation - Add badges for package manager and license - Add Other SDKs table with cross-references - Add Support section with dev@ironservices.io email - Update repository links to git.marketally.com 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| src | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| package.json | ||
| tsconfig.cjs.json | ||
| tsconfig.esm.json | ||
| tsconfig.json | ||
| tsconfig.types.json | ||
README.md
IronTelemetry SDK for JavaScript/TypeScript
Error monitoring and crash reporting for modern applications
Website • Documentation • JavaScript Guide • GitHub
IronTelemetry helps you capture exceptions, track user journeys, and get actionable insights to fix issues faster. Built for developers who want simple, powerful error monitoring without the complexity.
Features
- Exception Capture - Automatically capture and report exceptions with full stack traces
- Journey Tracking - Understand what users did before an error occurred
- Breadcrumbs - Add context with custom breadcrumbs and metadata
- Source Maps - See original source code in stack traces
- Lightweight - Minimal footprint, no impact on performance
- TypeScript First - Full TypeScript support with type definitions
Installation
npm install @ironservices/telemetry
# or
yarn add @ironservices/telemetry
# or
pnpm add @ironservices/telemetry
Quick Start
Initialize the SDK
import IronTelemetry from '@ironservices/telemetry';
IronTelemetry.init('https://pk_live_xxx@irontelemetry.com');
Capture Exceptions
try {
doSomething();
} catch (error) {
IronTelemetry.captureException(error);
throw error;
}
// Or use the extension method
try {
doSomething();
} catch (error) {
throw error.capture();
}
Track User Journeys
// Start a journey
const journey = IronTelemetry.startJourney('checkout', { userId: 'user-123' });
// Add steps
journey.step('add_to_cart', { productId: 'prod-456' });
journey.step('enter_shipping');
journey.step('enter_payment');
// Complete or fail
journey.complete(); // or journey.fail('Payment declined');
Add Breadcrumbs
IronTelemetry.addBreadcrumb({
category: 'user',
message: 'Clicked checkout button',
level: 'info',
});
Set User Context
IronTelemetry.setUser({
id: 'user-123',
email: 'user@example.com',
name: 'John Doe',
});
Framework Integrations
Express.js
import express from 'express';
import IronTelemetry from '@ironservices/telemetry';
const app = express();
// Add error handler
app.use(IronTelemetry.express.errorHandler());
React
import { ErrorBoundary } from '@ironservices/telemetry/react';
function App() {
return (
<ErrorBoundary fallback={<ErrorPage />}>
<MyApp />
</ErrorBoundary>
);
}
Configuration Options
IronTelemetry.init('https://pk_live_xxx@irontelemetry.com', {
environment: 'production',
release: '1.0.0',
sampleRate: 1.0,
beforeSend: (event) => {
// Filter or modify events
return event;
},
});
Documentation
For complete documentation, visit irontelemetry.com/docs.
Other SDKs
| Platform | Package |
|---|---|
| .NET | IronTelemetry.Client |
| Python | irontelemetry |
| Go | irontelemetry-go |
| Java | irontelemetry-java |
| Rust | irontelemetry |
Support
- Documentation: irontelemetry.com/docs
- Email: dev@ironservices.io
- Issues: git.marketally.com/ironservices/irontelemetry-js/issues
License
MIT License - see LICENSE for details.