dipdup-io / dipdup

Modular framework for creating selective indexers and featureful backends for dapps
https://dipdup.io
MIT License
97 stars 52 forks source link

Prometheus metrics are outdated/empty #1098

Closed droserasprout closed 1 month ago

droserasprout commented 2 months ago

Prometheus metrics in dipdup.prometheus are outdated. Some of them need to be dropped, some synced with dipdup.env._MetricManager.

jafeth-jimenez-c commented 1 month ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Quiero aprender

How I plan on tackling this issue

Se que todo tiene solución

droserasprout commented 1 month ago

@jafeth-jimenez-c

Hi! Thanks for your interest. OD Hack 8 will begin September 26th. After that you will need to apply via the OnlyDust platform. Please wait for announcements in the next few days.

Además, por favor usa inglés al discutir el proyecto 🤗

Jemiiah commented 1 month ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

@droserasprout I would love to work on this issue I have worked on about 6 different documentation issue on different repositories this is my OD Hack portfolio with over 50 contributions https://app.onlydust.com/u/Jemiiah I have a very good track record on docs issues here are some of the repositories I have worked on: https://github.com/Flex-NFT-Marketplace/Flex-Marketplace-Contract/pull/106 https://github.com/dragan2234/worldcoin-scroll-bridge/pull/13 https://github.com/dragan2234/worldcoin-scroll-bridge/pull/11 https://github.com/NethermindEth/StarknetByExample/pull/200

How I plan on tackling this issue

I would work on this issue correctly and accurately with an ETA at most 3 days but would be less than that

onlydustapp[bot] commented 1 month ago

Hey @Jemiiah! Thanks for showing interest. We've created an application for you to contribute to DipDup. Go check it out on OnlyDust!

droserasprout commented 1 month ago

@Jemiiah

Hi! Thanks for your interest. OD Hack 8 will begin September 26th. After that you will need to apply via the OnlyDust platform. Please see the announcement.

@onlydustapp bot replied by mistake. As you can see, our OnlyDust page is currently empty.

Jemiiah commented 1 month ago

Suree @droserasprout gracias would do that by then 🙌🏾

martinvibes commented 1 month ago

hello @dmirgaleev i am a frontend developer and a technical writer please can i work on this issue :) i would love to be a contributor on this repo

onlydustapp[bot] commented 1 month ago

Hi @martinvibes! Maintainers during the ODHack # 8.0 will be tracking applications via OnlyDust. Therefore, in order for you to have a chance at being assigned to this issue, please apply directly here, or else your application may not be considered.

Jemiiah commented 1 month ago

@Jemiiah

Hi! Thanks for your interest. OD Hack 8 will begin September 26th. After that you will need to apply via the OnlyDust platform. Please see the announcement.

@onlydustapp bot replied by mistake. As you can see, our OnlyDust page is currently empty.

hello I applied via only dust and its showing oudated here

petersdt commented 1 month ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I am a frontend developer and technical writer with experience in python and python frameworks and I have experience working with environment variables. with these experience, I feel competent to take on the above task

How I plan on tackling this issue

I will start by examining the existing metrics in the dipdup.prometheus file to understand what is currently implemented and identify which metrics are outdated or no longer relevant. Identify Metrics to Drop:

I will determine which metrics can be safely removed. This might involve checking if they are still being used in the application or if they are providing valuable insights. I’ll make a note of these metrics for removal. Sync with dipdup.env._MetricManager:

Next, I will review the metrics defined in dipdup.env._MetricManager. I will compare this list with the existing metrics in dipdup.prometheus to identify any discrepancies or missing metrics that need to be added. Update dipdup.prometheus:

I will update the dipdup.prometheus file by: Removing the identified outdated metrics. Adding any new metrics that are defined in dipdup.env._MetricManager but not present in dipdup.prometheus. Test the Changes:

After making the necessary updates, I will test the application to ensure that the metrics are being collected correctly and that Prometheus can scrape the updated metrics without any issues. Document the Changes:

I will document the changes I made to the metrics in the project’s documentation, explaining which metrics were removed and what new metrics were added. This will help other developers understand the current state of the metrics. Review and Validate:

Lastly, I will review the changes to ensure everything is functioning as expected. I might also ask for a code review from my peers to get feedback on the updates I made.

martinvibes commented 1 month ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

hello i am a frontend developer and a technical writer please can i work on this issue :) i would love to be a contributor on this repo

How I plan on tackling this issue

hello please i'm ready and i would love to take on this issue i'm a frontend developer and a technical writer

here are some of the docs i have writting: https://github.com/cairo-book/cairo-book/blob/main/src/ch16-05-01-price-feeds.md https://github.com/bandada-infra/bandada/blob/main/README.md https://github.com/lfglabs-dev/starknet.quest/blob/testnet/docs/CONTRIBUTING.md

please assign me :)

bigherc18 commented 1 month ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have over 5 years of experience as a Python Software Engineer. I’ve been involved in the Starknet community from the early stages, participating in events, working on multiple projects, with data indexing being a major focus. I even led a project myself. I’ve also worked on monitoring using Prometheus and Grafana in my past experiences, which is a big plus for the issue at hand.

How I plan on tackling this issue

I’ll start by reviewing the metrics in prometheus.py and determining which are outdated or no longer relevant. I’ve already explored a bit and noticed some duplicated metrics between prometheus.py and _MetricManager. We’ll likely prefer the latter, but that will be decided in collaboration with the maintainers.

We’ll decide which metrics should be exposed from _MetricManager through Prometheus and write the necessary code to define and set those metrics.

As always, the change will be documented in the appropriate section (3.monitoring.md file).

tosoham commented 1 month ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I am a python dev. A new-comer here, willing and ready to contribute to solve this issue.

bigherc18 commented 1 month ago

I'll start working on this issue now that the other one is ready enough !

bigherc18 commented 1 month ago

I was writing a comment detailing the different metrics and what we should do about them but I lost it due to a computer restart, I'll write it again soon but before that I want to ask a question, what do you guys think of making performance._MetricManager the only metrics manager class and the only way we handle metrics, then prometheus metrics would be generated automatically to export the metrics in performance._MetricManager ?

droserasprout commented 1 month ago

@bigherc18 Yes, it would be great to get rid of hardcoded prometheus metrics in favor of some generator around _MetricManager. A separate implementations for Prometheus and API/reports was useful before the stabilization of latter.