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

0.24.0 #881

Merged
merged 63 commits into from
Apr 15, 2019
Merged

0.24.0 #881

merged 63 commits into from
Apr 15, 2019

Conversation

majorgreys
Copy link
Contributor

@majorgreys majorgreys commented Apr 11, 2019

Upgrading to 0.24.0

This release introduces a new feature (disabled by default), supports new versions of integrations and improves our testing and tooling.

Changes

Improvements

Integrations

Tooling

Testing

brettlangdon and others added 30 commits March 19, 2019 15:42
* Use tox.ini checksum to update cache

* Fix

* Remove comment
* Use httpbin.org instead of icanhazip.com

* Fix requests gevent tests... ?

* keep httpbin.org
* Add script to build wheels

* we don't need to remove the build directory

* Allow deploy_dev to run docker commands

* determine parent dir

* fix parent dir resolution

* disable mkwheelhouse for testing

* debug

* use circleci machine

* remove setup_remote_docker

* remove debug

* pass through VERSION_SUFFIX

* re-enable mkwheelshouse

* Add note about use of CircleCI machine
[tests] Do not test celery 4.2 with Kombu 4.4
The current negative test is broken and is actually testing the same case
without `-S`.

That's because the condition `sys.argv[1] is '-S'` is always `False`; strings
must be compared with `==`, not `is`.
[tests] Fix ddtrace sitecustomize negative test
The package mysql-connector 2.1 has been removed from PyPI entirely and is deprecated anyway.
Remove mysql-connector 2.1 support
[aiobotocore] Add support for versions up to 0.10.0
This is a prerequisite for Python 3.7 support.
The future is now! print as a function is available in Python >= 2.7.
[tests] Enable integration tests in docker-compose environment
If DATADOG_PATCH_MODULES is unset, the default value was '' which when used
with .split(',') does not return 2 items, logging that the patch instruction is
malformed.

This patch fixes that by checking that the value is set and non empty before
trying to patch anything.
[core] Fix logging with unset DATADOG_PATCH_MODULES
jd and others added 26 commits April 4, 2019 17:32
Remove useless __future__ imports
This has been deprecated and unmaintained for years; stop installing it.

- Replaces `nose.tools.ok_` with `assert`
- Replaces `nose.tools.eq_` with `assert ==`
- Replaces `nose.tools.assert_raises` with `pytest.raises`
- Add missing unittest.TestCase inheritance in some place
- Only install requests-mock for requests_contrib scenarios;
  this modules has a pytest plugin that gets loaded otherwise and pre-load
- `requests`, making some test checking for module load ordering fail.
The current instructions are confusing as they start with talking about
docker-compose, and then talk about not using it !?.

It seems that it's barely possible to run most of the tests without
docker-compose anyway, so let's keep things simple and remove those
instructions entirely.
The current code only yield once the thread have started, though there's a
little chance that one of the thread did not had time to actually sent its
request yet. That means that the requests will never be served and the thread
will fail.

This patch fixes this by making sure to do pass the execution to the asyncio
loop between each join, just in case a request needs to be handled.

Fixes #876
* Use DEBUG log level for RateSampler initialization
This way these logs can be seen when debugging is turned on,
but otherwise left out.

* Use DEBUG log level for RateSampler initialization
This way these logs can be seen when debugging is turned on,
but otherwise left out.
Add support for pytest4
[tests] Add support for aiohttp up to 3.5
Remove confusing testing instructions from README
[aiohttp] Fix race condition in testing
[testing] Remove nose usage
Enable requests integration by default
tests: add psycopg2 2.8 support
This is a first step toward making more generic the CircleCI scenario running.
The ultimate goal being to be able to simplify tox and CircleCI scenario
listing and running.
* [metrics] initial implementation

- add data structures with tests
- add collectors for psutil and platform modules
- send metrics to agent statsd

* [metrics] add gc generation metrics

* [metrics] clean-up

* [metrics] add thread worker, additional metrics

* [metrics] linting

* [metrics] code organization

* [metrics] add runtime_id to tracer

* [metrics] resolve rebase conflicts

* [metrics] linting

* [metrics] add runtime-id tag

* [metrics] linting

* [metrics] linting

* Add environment variable for enabling runtime metrics

* Environment configuration for dogstatsd

* apply brettlinter

- thanks brett :)

Co-Authored-By: Kyle-Verhoog <kyle.verhoog@datadoghq.com>

* [metrics] remove unnecessary LazyValues

* [metrics] in-line psutil method calls

* [metrics] use internal logger

* [metrics] add reset method, gather services

* [metrics] support multiple services properly

* [metrics] use base test case

* [metrics] handle process forking

* [metrics] add runtime metrics tags to spans

* Remove LazyValue

* Add dependencies for runtime metrics to library

* Refactor metrics collectors and add tests

* Begin major refactoring of api

* Decouple dogstatsd from runtime metrics

* Fix constant

* Fix flake8

* Separate host/port for trace agent and dogstatsd

* Update ddtrace_run tests

* Fix integration test

* Vendor datadogpy to fix issues with gevent+requests

* Revert change to on import

* Add license for dogstatsd

* Move runtime metrics into internal

* Fixes for ddtrace.internal.runtime

* Wrap worker flush in try-except to log errors

* Flush calls gauge which is a UDP so no need to catch errors

* Remove unused datadog and metrics tests

* Rename class in repr

* Remove collect_fn argument from ValueCollector

* Fix flake8

* Remove tags not called for in RFC

* Better metric names for cpu

* Use 0-1-2 for gc collections

* Comments

* Fix daemon for threading

* Add test on metrics received by dogstatsd

* Remove datadog dependency since we have it vendored

* Fix cpu metrics

* Fix cumulative metrics

* Fix reset

* Flag check unnecessary

* Fix runtime tag names

Co-Authored-By: majorgreys <tahir@tahirbutt.com>

* Only tag root span with runtime info

* Use common namespace for gc metric names

* Remove unnecessary set check

* Wait for tests of metrics received

* Fix for constant tags and services

* Fix broken config

* Fix flake8

* Fix ddtrace-run test for runtime metrics enabled

* Update ddtrace/bootstrap/sitecustomize.py

Co-Authored-By: majorgreys <tahir@tahirbutt.com>
@majorgreys majorgreys requested a review from a team as a code owner April 11, 2019 19:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants