Skip to content

Conversation

@Shivd131
Copy link

Description

This PR instruments the RunreportsApiResource with Micrometer to resolve visibility gaps in report generation performance.

The standard Spring Boot metrics (http.server.requests) aggregate all reporting traffic under the /runreports/{reportName} endpoint. This makes it impossible to distinguish between a fast "Client Listing" HTML view and a resource-intensive "General Ledger" PDF export without parsing verbose text logs.

  1. New Metric: Exposes fineract.report.execution to track report latency and throughput.

  2. Granular Tagging: Metrics are tagged by reportName, format (PDF, XLS, HTML), type, and status.

  3. Configuration: Enables Actuator metrics in application.properties.

Standard HTTP metrics aggregate all reporting traffic, making it impossible to identify specific slow reports (e.g., identifying that "General Ledger PDF" is the bottleneck vs "Client Listing"). This data establishes the performance baseline required for future efforts to offload reporting to asynchronous microservices.

Verification:

Validated locally via curl requests. The /actuator/metrics/fineract.report.execution endpoint now returns precise timing data tagged by report context.

Checklist

Please make sure these boxes are checked before submitting your pull request - thanks!

  • Write the commit message as per our guidelines
  • Acknowledge that we will not review PRs that are not passing the build ("green") - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.
  • Create/update unit or integration tests for verifying the changes made.
  • Follow our coding conventions.
  • Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes
  • This PR must not be a "code dump". Large changes can be made in a branch, with assistance. Ask for help on the developer mailing list.

Your assigned reviewer(s) will follow our guidelines for code reviews.

Copy link
Contributor

@IOhacker IOhacker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kidnly see my comment

Copy link
Contributor

@IOhacker IOhacker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.

@IOhacker
Copy link
Contributor

Squash and commit your changes please

@Shivd131 Shivd131 changed the title [FINERACT-2438] Add Micrometer Observability to Reporting API FINERACT-2438: Add Micrometer Observability to Reporting API Jan 20, 2026
@Shivd131 Shivd131 force-pushed the feature/report-metrics branch from 3db4435 to c115316 Compare January 20, 2026 15:37
@Shivd131 Shivd131 force-pushed the feature/report-metrics branch from e7c4794 to a2e3c06 Compare January 20, 2026 15:53
@Shivd131
Copy link
Author

@IOhacker I have squashed the changes into a single commit.
Thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants