IronTelemetry SDK for Java
Error monitoring and crash reporting for Java applications
Website •
Documentation •
Java Guide •
Git
---
**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.