-
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
BugDNA turns Java exceptions into deterministic, searchable fingerprints such as BUGDNA-7A3F21. Use those IDs to group recurring failures, compare deployments, enrich logs and traces, and connect known failures to owners and runbooks.
Fingerprint fingerprint = BugDna.generate(exception);
System.out.println(fingerprint.getId());
System.out.println(fingerprint.explain());| Capability | What it is for | Where to begin |
|---|---|---|
| Deterministic fingerprinting | Turn equivalent Java exceptions into stable IDs without hashing exception messages | Core Library |
| Failure aggregation | Count, rank, cluster, and inspect failures in memory | Failure Tracking |
| Spring Boot integration | Automatically capture MVC and WebFlux failures and expose managed services | Spring Boot Starter |
| Observability | Add fingerprints to logs, MDC, OpenTelemetry spans, Actuator, and Micrometer | Observability |
| Offline log analysis | Summarize and compare BugDNA IDs in existing log files | Command-Line Interface |
| Build validation | Detect exception-handling hazards from Maven or Gradle | Build-Time Validation |
Start with Getting Started, then use the Core Library guide for fingerprint generation, classification, similarity, and comparisons.
Read Core vs Spring Boot Starter, install the starter, and follow Spring Boot Starter. All settings are collected in the Configuration Reference.
Use Failure Tracking for aggregation and deployment comparisons, Observability for telemetry, and Architecture and Data Handling for lifecycle, privacy, and memory behavior.
See Development and Releases, Contributing, the API Reference, and the Changelog.
New users can follow the wiki from concepts to operation in this sequence:
- Getting Started — choose an artifact and generate a first fingerprint.
- Core vs Spring Boot Starter — decide between explicit framework-free use and managed integration.
- Core Library — understand fingerprinting, classification, similarity, and comparison.
- Failure Tracking — aggregate occurrences, detect bursts, drift, and regressions.
- Spring Boot Starter — enable automatic MVC or WebFlux capture.
- Configuration Reference — configure starter behavior and management exposure.
- Observability — integrate logs, MDC, tracing, Actuator, and metrics.
- Command-Line Interface — inspect existing logs outside the application.
- Build-Time Validation — add source scanning to Maven or Gradle.
- Architecture and Data Handling — review determinism, concurrency, memory, privacy, and lifecycle.
- API Reference — look up individual public types and methods.
Every page ends with previous, home, and next links following this order. Task-oriented pages remain directly accessible from the sidebar.
| Artifact | Minimum runtime | Purpose |
|---|---|---|
io.github.arnabnandy7:bugdna |
Java 8 | Framework-free core API |
io.github.arnabnandy7:bugdna-build-scanner |
Java 8 | Shared scanner engine |
io.github.arnabnandy7:bugdna-maven-plugin |
Java 8 and Maven | Maven scan goal |
io.github.arnabnandy7:bugdna-spring-boot-starter |
Java 17 and Spring Boot 4.x | Spring integrations |
io.github.arnabnandy7:bugdna-cli |
Java 8 | Log analysis and comparison |
Gradle plugin io.github.arnabnandy7.bugdna
|
Java 8 and Gradle | Gradle scan task |
The version documented by this wiki is 1.1.2. Review Migration Guide and Changelog when upgrading.
- Fingerprint identity uses the deepest exception type and up to five normalized stack frames.
- Exception messages, line numbers, timestamps, request IDs, and user identifiers are excluded from fingerprint identity.
- Trackers and recent-fingerprint repositories are in memory; counts reset when the process restarts.
- Automatic Spring capture observes failures but does not replace Spring's error-response handling.
- Actuator output can reveal application class and method names and should receive normal management-endpoint protection.
BugDNA documentation · Home · Getting Started · API Reference · GitHub