Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Prometheus exporter #151

Open
pouriyajamshidi opened this issue Oct 7, 2023 · 15 comments
Open

Add Prometheus exporter #151

pouriyajamshidi opened this issue Oct 7, 2023 · 15 comments
Labels
enhancement New feature or request new feature

Comments

@pouriyajamshidi
Copy link
Owner

Summary

Thanks to the community contributions, tcping has become quite mature. We have been notified that many large corporations are internally using this tool and a nice to have feature would be to add Prometheus exporter.

This feature most likely should satisfy the printer interface but does not need to implement each and every function. We might only need to have the printProbeSuccess and printProbeFail.

Anyway, we can discuss the details at the time of implementation.

@pouriyajamshidi pouriyajamshidi added enhancement New feature or request good first issue Good for newcomers new feature labels Oct 7, 2023
@wizsk
Copy link
Contributor

wizsk commented Oct 7, 2023

hey @pouriyajamshidi

How are you doing?

I would like to work on it.

@pouriyajamshidi
Copy link
Owner Author

Hey @wizsk,

I am doing fine, what about you?

Thanks mate. Please proceed.

@pouriyajamshidi
Copy link
Owner Author

Hey @wizsk,

Don't hesitate to ping me before or while coding up this feature. I believe it will make the task easier.

For things such as, do we need to have it in a separate file? do we need to satisfy x or y, etc.

@wizsk
Copy link
Contributor

wizsk commented Oct 9, 2023

hi @pouriyajamshidi

I'm a little sick. I will need 2 days to heal up. Can yo please wait a bit.

And where can I find you? Can I dm you in twitter or somewhere else(where you are active) if you don't mind? Can you please send the handle to that..

Thanks 😃 for waiting.

@pouriyajamshidi
Copy link
Owner Author

pouriyajamshidi commented Oct 9, 2023

Hey @wizsk,

Sorry to hear you are not feeling well. Please take of yourself and make sure to prioritize your health first.

These issues do not need to be handled promptly and there's no urgency whatsoever.

You can find me on LinkedIn https://www.linkedin.com/in/pouriya-jamshidi/

Speedy recovery mate!

@wizsk
Copy link
Contributor

wizsk commented Oct 10, 2023

hey @pouriyajamshidi

Thanks so much mate 😃

@wizsk
Copy link
Contributor

wizsk commented Oct 12, 2023

@pouriyajamshidi hi thanks for waiting.

I'm feeling well now. How are you doing?

I can't connect with you in linkin if you have any other way of communicating please let me know. Eg. Discord or telegram.

Btw please describe the feature I will start working on it.

@pouriyajamshidi
Copy link
Owner Author

Hey @wizsk,

Glad that you are feeling well. Now, I am not feeling well 😄

You can find me on Discord at pouriya.jamshidi. Although I might be a bit slow to respond till I recover a bit.

@wizsk
Copy link
Contributor

wizsk commented Oct 12, 2023

hey @pouriyajamshidi

sorry to hear that you are sick.. Speedy recovery bro.

@pouriyajamshidi
Copy link
Owner Author

@wizsk Thanks a lot man

@pouriyajamshidi pouriyajamshidi removed the good first issue Good for newcomers label Nov 7, 2023
@pouriyajamshidi
Copy link
Owner Author

I would like to pause the work on this issue. Need to talk to a bunch of colleagues to see what information needs to be exported

@wizsk
Copy link
Contributor

wizsk commented Nov 8, 2023

@pouriyajamshidi sure

@SYSHIL
Copy link
Contributor

SYSHIL commented Dec 23, 2024

Heyy @pouriyajamshidi is this still available to be picked up?

@pouriyajamshidi
Copy link
Owner Author

Hey @SYSHIL,

We have not decided how to proceed with this yet.

To give some clarity on why:

  1. We rather not to use an external library (read Prometheus' official library). The desire is to handle it ourselves with Go's std lib and expose metrics accordingly. This will omit yet another big dependency just for a few metrics to be exposed
  2. Custom builds: 90% of users do not need these features; even DB, CSV, etc. and adding these just increases the binary size. Like what we saw by addition of sqlite3 printer that added almost 5MBs to the Windows binary. So, we need to sort out the custom builds first and provide bare-bones vs full-featured binaries. This gives us some leeway to make changes and to add or remove features as needed
  3. tcping aims to be available as a library too. This entails a lot of refactoring of the current structure and adding an exporter now might cause extra work or complexity in the future.

My hope was to address this in 2024. This year was nothing but juggling things around.

Once the three points I mentioned are addressed, we do need to have this implemented since one other project of mine requires this in a few months.

Our intention is to not implement things as such without extra care to have a relatively readable and maintainable code-base.

@SYSHIL
Copy link
Contributor

SYSHIL commented Dec 23, 2024

oh okay thank you for the explanation !
I'll look elsewhere in the project to contribute to

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request new feature
Projects
Status: No status
Development

No branches or pull requests

3 participants