HubSpot / slack-client

An asynchronous HTTP client for Slack's web API
Apache License 2.0
115 stars 53 forks source link

Advice requested: HTTP client metrics #141

Open lightbody opened 4 years ago

lightbody commented 4 years ago

Hi there. We're using the Micronaut framework, which has it's own HTTP client and ExecutorService, both of which get nice metrics sent out to our prometheus setup.

This project seems to fall back to it's own ExecutorService + Ning's HTTP client, and as a result I don't have as much visibility when things so sideways.

Do you have any advice on how I should solve this? For another project, I had a place where I could plug in my own HTTP client wrapper + ExecutorService and that worked well. But here it doesn't look like that is the case, though I could be misreading the code.

szabowexler commented 4 years ago

Hmmm. That's an interesting request -- you're right, when we ported this project from internal at HubSpot to OSS, we basically ripped out a hybrid wrapper for the http framework we use and bundled it to speed up release. I think allowing people to supply their own http client would be a pretty solid improvement to the API.

I suspect a short term fix would be improving the metrics collected (it's a bit weak here), and a longer term solution would be an improvement to the API that lets you provide your own execution environment.