IronTelemetry

IronTelemetry SDK for Java

Error monitoring and crash reporting for Java applications

Maven Central License: MIT

WebsiteDocumentationJava GuideGit

--- **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 exceptions with full stack traces - **Journey Tracking** - Understand what users did before an error occurred - **Breadcrumbs** - Add context with custom breadcrumbs and metadata - **Async Support** - CompletableFuture support for async operations - **Thread-Safe** - All operations are safe for concurrent use - **Spring Integration** - Easy integration with Spring Boot ## Installation ### Maven ```xml com.ironservices telemetry 0.1.0 ``` ### Gradle ```groovy implementation 'com.ironservices:telemetry:0.1.0' ``` ## Quick Start ### Initialize the SDK ```java import com.ironservices.telemetry.TelemetryClient; TelemetryClient client = new TelemetryClient("https://pk_live_xxx@irontelemetry.com"); ``` ### Capture Exceptions ```java try { doSomething(); } catch (Exception e) { client.captureException(e); throw e; } ``` ### Track User Journeys ```java Journey journey = client.startJourney("Checkout Flow"); journey.setUser("user-123", "user@example.com", "John Doe"); try { journey.runStep("Validate Cart", BreadcrumbCategory.BUSINESS, () -> { validateCart(); }); journey.runStep("Process Payment", BreadcrumbCategory.BUSINESS, () -> { processPayment(); }); journey.complete(); } catch (Exception e) { journey.fail(e); client.captureException(e); throw e; } ``` ### Add Breadcrumbs ```java client.addBreadcrumb("User clicked checkout button", BreadcrumbCategory.UI); client.addBreadcrumb("Payment API called", BreadcrumbCategory.HTTP); ``` ## Spring Integration ```java @ControllerAdvice public class GlobalExceptionHandler { private final TelemetryClient telemetryClient; @ExceptionHandler(Exception.class) public ResponseEntity handleException(Exception e) { telemetryClient.captureException(e); return ResponseEntity.status(500).body("Internal Server Error"); } } ``` ## Configuration ```java TelemetryOptions options = new TelemetryOptions("https://pk_live_xxx@irontelemetry.com") .setEnvironment("production") .setAppVersion("1.2.3") .setSampleRate(1.0) .setDebug(false); TelemetryClient client = new TelemetryClient(options); ``` ## Documentation For complete documentation, visit [irontelemetry.com/docs](https://irontelemetry.com/docs). ## Other SDKs | Platform | Package | |----------|---------| | JavaScript/TypeScript | [@ironservices/telemetry](https://git.marketally.com/ironservices/irontelemetry-js) | | .NET | [IronTelemetry.Client](https://git.marketally.com/ironservices/irontelemetry-dotnet) | | Python | [irontelemetry](https://git.marketally.com/ironservices/irontelemetry-python) | | Go | [irontelemetry-go](https://git.marketally.com/ironservices/irontelemetry-go) | | Rust | [irontelemetry](https://git.marketally.com/ironservices/irontelemetry-rust) | ## Support - **Documentation**: [irontelemetry.com/docs](https://irontelemetry.com/docs) - **Email**: dev@ironservices.io - **Issues**: [git.marketally.com/ironservices/irontelemetry-java/issues](https://git.marketally.com/ironservices/irontelemetry-java/issues) ## License MIT License - see [LICENSE](LICENSE) for details.