This repository provides observability instrumentation for Java applications.
PRIORITY: Verify that all code changes follow the Style Guide. Check:
- Code formatting (auto-formatting, static imports, class organization)
- Java language conventions (
finalusage,@Nullableannotations,Optionalusage) - Performance constraints (hot path allocations)
- Implementation patterns (SPI registration, configuration conventions)
- Gradle conventions (Kotlin DSL, plugin usage, module naming)
- Documentation standards (README files, deprecation processes)
- Public APIs: Changes affect downstream users and require careful review
- Performance: Instrumentation must have minimal overhead
- Thread Safety: Ensure safe concurrent access patterns
- Memory Management: Prevent leaks and excessive allocations
- Proper error handling with appropriate logging levels
- OpenTelemetry specification and semantic convention compliance
- Resource cleanup and lifecycle management
- Comprehensive unit tests for new functionality
When implementing changes or new features:
- Follow all Style Guide conventions and the Code Review Priorities above
- Run tests to ensure they still pass (use
./gradlew testand./gradlew integrationTestas needed) - Always run
./gradlew spotlessApplyafter making code changes to ensure proper formatting