juspay / hyperswitch

An open source payments switch written in Rust to make payments fast, reliable and affordable
https://hyperswitch.io/
Apache License 2.0
12.64k stars 1.36k forks source link

[ENHANCEMENT] Implement Metrics framework to be used in the locker #6178

Open NishantJoshi00 opened 1 year ago

NishantJoshi00 commented 1 year ago

📝 Feature Description We need to implement a metrics framework for the locker to track its health, liveliness, and usage. This framework should provide comprehensive insights into the locker's performance and operational status without significantly impacting the application's primary functions.

The metrics implementation should:

  1. Cover key aspects of the locker's operation, including health, liveliness, and usage.
  2. Use either Prometheus metrics or OpenTelemetry.
  3. Have minimal performance overhead on the running application.
  4. Not adversely affect the performance, availability, or functionality of the primary application.

🔨 Possible Implementation

  1. Evaluate Prometheus metrics and OpenTelemetry to determine the most suitable option for our needs.
  2. Identify key metrics to be tracked (e.g., request rate, response times, error rates, resource utilization).
  3. Implement the chosen metrics framework (Prometheus or OpenTelemetry) within the locker application.
  4. Add instrumentation points throughout the codebase to collect relevant metrics.
  5. Set up a metrics endpoint or export mechanism for data collection.
  6. Implement health check endpoints that reflect the overall status of the locker.
  7. Create dashboards or visualization tools to display the collected metrics.
  8. Develop alerting mechanisms for critical metric thresholds.

🔖 Note:

Submission Process:

Refer here for Terms and conditions for the contest.

Ankesh2004 commented 1 month ago

Hi, I would like to work on this issue. Please assign it to me.

Anupam-1208 commented 3 weeks ago

@NishantJoshi00 Hi, is this issue still open?

NishantJoshi00 commented 3 weeks ago

Hey @Anupam-1208 , yes! This issue is open for contribution. Please let me know if you wish to contribute.

Anupam-1208 commented 3 weeks ago

@NishantJoshi00 I will start working on this, will update on the approach once I go through the code base.