tempodb / tempodb-python

Python client for TempoDB
MIT License
28 stars 19 forks source link

Skeleton implementation of InMemoryClient #10

Closed doismellburning closed 9 years ago

doismellburning commented 11 years ago

Use-case: tests and local development

myagley commented 11 years ago

Hey Kristian! Thanks for the pull request. I like the idea around this request, however, we are going to hold off on merging it for a bit. We (tempo) need to come up with a broader strategy for providing a mocked-out client across all of our client libraries (ruby, php, java, etc.) to keep some consistency.

BTW, I have a branch that I'm about to merge that has a bunch of unit tests, which is an area where we have been severely lacking in.

Thanks for your contributions. We appreciate it!

doismellburning commented 11 years ago

Makes sense; this just nicely scratches my itch for doing StackCompare dev without an internet connection.

Sounds good.

Cheers

doismellburning commented 9 years ago

How'd that broader strategy go?

plainlystated commented 9 years ago

Hi @doismellburning,

I like the idea of a local client for offline testing a lot. The feature would only be as useful as it is close to our actual (non-in-memory) library, though. In the case of this pull request, writes get /dev/null'ed and reads are always empty, so at best its value is limited to testers, and at worse it is misleading users as to what their expectations of the service should be. Going in the other direction (writing and maintaining a full in-memory implementation) would be great, but is a fair amount of work for us (a small team), so it's tough to get it on the roadmap.

The larger context of this is that we're currently doing a significant rewrite of the API to support our new TempoIQ functionality. When that's out, our way to address this will probably be more along the lines of making it easy for developers to get small environments in the cloud (of our real service). This doesn't have the nice property of allowing offline coding, but it does have the property that the behavior of the dev/test environment is identical to a production environment.

What do you think?

Thanks, Patrick

doismellburning commented 9 years ago

I think that yes, this client is very limited, as I noted in the docstring.

I must confess that, with this PR having been open for two years, I'm not entirely sure the cause I had for creating it still exists, but thanks for getting back to me.

I hope all goes well.