inspect-core is a lightweight Java library to capture structured runtime telemetry (sessions, requests, resource metrics and thread correlations) from monolithic or distributed applications. It focuses on producing correlated traces that can be dispatched to an inspect server or written locally for offline analysis.
Why use inspect-core?
- End-to-end correlated tracing across threads and asynchronous work.
- Capture HTTP, JDBC, LDAP, FTP/SFTP, SMTP and local operations.
- Configurable local dump or remote dispatch to an inspect-server.
- Minimal intrusion: pluggable collectors and Spring-friendly integrations.
Maven
<dependency>
<groupId>io.github.oneteme</groupId>
<artifactId>inspect-core</artifactId>
<version>REPLACE_WITH_VERSION</version>
</dependency>Configuration (example application.yml)
inspect:
collector:
enabled: true
debug-mode: false
scheduling:
interval: 5s
monitoring:
http-route:
excludes:
method: OPTIONS
path: /favicon.ico, /actuator/info
resources:
enabled: true
exception:
max-stack-trace-rows: -1
max-cause-depth: -1
tracing:
queue-capacity: 1000
delay-if-pending: 0
dump:
enabled: false
remote:
mode: REST
host: https://inspect-server.example.com
retention-max-age: 30d- Session: Logical processing unit (app startup, batch job, incoming request) that groups related events.
- Request: Interaction with external/local resources with metadata (type, duration, status, error).
- Thread correlation: Propagate session context across threads to maintain continuity.
- Resource monitoring: Periodic basic system metrics (memory, disk) aligned with trace timelines.
- Spring Boot: add dependency and enable collector via configuration.
- Web clients: supports both blocking (ClientHttpRequestInterceptor) and reactive (ExchangeFilterFunction) capture.
- Sensitive data: redact Authorization headers, PII and large payloads before dispatch.
Maven:
mvn clean test
mvn -DskipTests packageFork → feature branch → PR with tests and documentation. See CONTRIBUTING.md for details.
Apache License 2.0 — see LICENSE file. Report issues on GitHub.