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

feat(datadog): create exporter module for datadog #86

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

jdrouet
Copy link
Contributor

@jdrouet jdrouet commented Mar 10, 2021

Signed-off-by: Jérémie Drouet [email protected]

@jdrouet
Copy link
Contributor Author

jdrouet commented Mar 10, 2021

Well, at this point, I need async-await to use datadog-client to send the series.
I've tried to use the one embedded with actix-web (actix-rt + futures) and I didn't manage yet.
One solution could be to add tokio but this would be a duplicate with actix-rt. Upgrading actix-web to its beta version (did it on catapulte and it works pretty well) would probably fix it (it relies on tokio).
Any opinion @bpetit ?

@jdrouet jdrouet force-pushed the datadog-exporter branch 2 times, most recently from 89142ae to 8e6e2ae Compare March 10, 2021 19:54
@bpetit
Copy link
Contributor

bpetit commented Mar 11, 2021

Hi ! Thanks for the PR ! 🥳

I'm not sure I understand why you need async.

I see in the code it's related to waiting the answer from datadog after posting the data. Is this mandatory from datadog to wait for that answer asynchronously ?

I mean we use async on prometheus because it is pull mode. Even in that context, I'm not convinced it's the best way to do it as an exporter should not be scrapped by many clients nor very often (not more that every few seconds). So async is kind of a burden for the binary, where it doesn't bring much benefits.

For push mode exporters I'd imagine that we could avoid using async, but maybe it's a hard requirement here ?

@jdrouet jdrouet force-pushed the datadog-exporter branch 3 times, most recently from 22878d6 to 07b0533 Compare March 11, 2021 17:25
@jdrouet
Copy link
Contributor Author

jdrouet commented Mar 11, 2021

The library datadog-client uses async-await which could be better in a context where tokio is already loaded.
In added ureq which is a blocking alternative to reqwest, so should be good now.

@jdrouet jdrouet marked this pull request as ready for review March 11, 2021 17:29
@bpetit bpetit added this to the Release v0.4.0 milestone Apr 9, 2021
@bpetit
Copy link
Contributor

bpetit commented May 4, 2021

Thanks ! I'm working on it to merge with latest changes in main and use the MetricGenerator from @uggla to get metrics.

@bpetit bpetit removed this from the Release v0.4.0 milestone Oct 5, 2021
@bpetit bpetit added this to the Release v0.6.0 milestone Dec 10, 2021
@bpetit bpetit modified the milestones: Release v1.0.0, Release v1.1.0 May 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: To do
Development

Successfully merging this pull request may close these issues.

2 participants