google / upvote_py2

A multi-platform binary whitelisting solution
Apache License 2.0
452 stars 35 forks source link

Using stackdriver monitoring #33

Closed thehesiod closed 5 years ago

thehesiod commented 5 years ago

after much effort, in https://github.com/farmersbusinessnetwork/upvote/commit/8537d009afe4ffd015b396fab36aa167ce9a6d5d I added stackdriver monitoring support (commented out code). Unfortunately I quickly found that you can only do a timeseries event once per minute which means I lose almost all data, and get a ton of errors.

In out AWS environment we use datadog and there you have an agent which runs all the time which does the event sampling.

I'm searched and I can't find any equivalent for using stackdriver monitoring in app-engine. Obviously something is working behind the scenes because when I enabled stackdriver monitoring for the project I get a bunch of built-in metrics...however I see nothing I can use for custom metrics.

I thought of using deferred tasks however the class/method, and arguments get pickled so that won't help.

If there's a solution to this perhaps this project can come with something like what I've done by default.

Thoughts?

chief8192 commented 5 years ago

So we're currently wired into this internal monitoring system (hence all the empty monitoring.py files). I'd love to migrate off of that and onto Stackdriver, in such a way that everyone in the OSS community can take advantage as well. Given current staffing though, I'd say it's probably never going to happen.

thehesiod commented 5 years ago

so I've done most of the work, is there something I could use to use it effectively? After looking at the docs I don't see a way beyond having perhaps a pubsub queue and using a deferred task to pull off the queue.

thehesiod commented 5 years ago

going to close this