| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
The trove classifiers for Python versions was bothering me too much.
|
| |
|
|
|
|
|
|
|
|
|
| |
Well I sat on this for long enough that it got easier: async/await is no
longer a syntax error in any supported version of Python. That meant
that it was relatively straightforward to apply @nkonin's proposed patch
from #119.
Fixes #119.
|
|
|
|
|
|
| |
All of the features from __future__ that were in this library have been
in Python since 3.0. Now that Python 2 is no longer supported, we no
longer need them.
|
|
|
|
|
|
|
| |
Nose stopped getting updates around 2015. Nose2 is is the continued
evolution of that project. Ultimately, this library's test suite is
simple enough to move toward pure unittest, but that will require a
larger refactor to wrap everything in unittest.TestCase.
|
|
|
|
|
|
| |
Unlike its stream counterpart, the UDP client does not have a "close()"
method. This means there is no public API to clean up the socket,
resulting in a `ResourceWarning`.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The client module just broke 300 lines and had a lot of functionality in
it. This breaks the single file up into a package and reduces a decent
amount of duplication. Makes a few related changes:
- Replaces old Python __future__ imports with new ones
- Removes __all__ in favor of fewer imports
- Refactors common stream code into StreamClientBase
- Renames TCPPipeline to StreamPipeline for consistency (this is not a
public class name)
|
|
|
|
| |
New client for handling sending stats through Unix domains sockets.
|
| |
|
|
|
|
|
| |
Allow passing datetime.timedelta objects directly to
StatsClient.timing(), automatically converting to milliseconds.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
StatsClientBase and PipelineBase are not intended to be public APIs, and
the syntax for metaclasses introduces some complexity between Python 2
and 3.
Since ABCMeta and abc.abstractmethod were only being used to guarantee
that internal subclasses implemented these methods correctly, and
there's no external behavioral issues on Python 3, where the metaclass
has been ignored for years, let's remove the metaclass and rely on
NotImplementedError() and the test suite as a backstop.
Fixes #106.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since early June[1], IPv6 loopback address resolution has been flaky on
TravisCI. It seems that it should have been flaky even earlier, or
there's something strange going on. For now, skip the test. We can come
back to diagnosing once master is (otherwise) passing.
This failure first started on Python 2.6, but quickly spread to all
versions. It appears to pass occasionally, but not on any consistent
version. Lately it seems to fail more or less all the time, though on
the latest cron build, it did pass on Pypy[2].
[1]: https://travis-ci.org/jsocol/pystatsd/builds/387167216
[2]: https://travis-ci.org/jsocol/pystatsd/builds/417687774
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
kwargs
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
When Python's standard library is patched with Eventlet the exception
raised when two threads access the same socket simultaneously is
RuntimeError and I think it makes sense to include it here.
The downside is it may start ignoring too wide variety of exceptions but
on the other hand I can't think of any other RuntimeErrors that can be
raised here.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This section of code is going to be pretty hot; it's best to optimize it as much as possible.
It might be worth it to switch to a list for the data variable as well, and use '\n'.join(data) (vs. string concatenation).
From: https://docs.python.org/2/library/collections.html#collections.deque
"Though list objects support similar operations, they are optimized for fast fixed-length operations and incur O(n) memory movement costs for pop(0) and insert(0, v) operations which change both the size and position of the underlying data representation."
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- For negative absolute gauge values, zero out the gauge first, since
StatsD can't distinguish it from a delta.
- Add tests.
- Patch via Ben Gilbert (https://github.com/bgilbert)
- Fixes #40.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Small refactor to StatsClient
|
| | |
|