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

v0.18.0 #772

Merged
merged 36 commits into from
Dec 12, 2018
Merged

v0.18.0 #772

merged 36 commits into from
Dec 12, 2018

Conversation

majorgreys
Copy link
Collaborator

This PR merges 0.18-dev into master

Kyle-Verhoog and others added 30 commits November 18, 2018 09:32
- adds support for future patch_test.py
- adds support for running tests in new interpreter instance
- uses requests, gevent and celery as examples of usage in tox.ini
- separate out test helpers and test cases
- add back unpatch tests
[tests] Add patch mixin and base test case
- use environment variables for subprocess detection
- remove comments references to 'parallel'
- correct examples
- remove hasattr check
* Fix composable query tracing; Replace nose

* Allow cursors to be injected into connection

* Use assertIsNone

* Single quotes rather than double

* Comment proxy attributes

* Handle beta versions

* Update tests/contrib/psycopg/test_psycopg.py

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

* Avoid handling non-parseable versions with special patching

* Update tests/contrib/psycopg/test_psycopg.py

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

* Check composable query string

* Remove beta from integration tests

* Update given changes to dbapi

* Update aiopg with injecting cursor

* Fix interaction with aiopg
* add attrdict

* Make IntegrationConfig an AttrDict

* add InntegrationConfig attribute/item access test cases

* Fix vertica contrib tests

* fix linting issues

* fix missing fixtures
* Initial commit for molten with start of middleware patching

* Remove pdb

* Patching components

* Patch all components and renderers

* Fix flake8 errors

* Add resource to root span for App.__call__

* Set http tags

* Add test case for molten

* Add molten to circlci

* Add previous two versions

* More fix for CircleCI

* CircleCI fix

* [molten] Enable distributed tracing, add docstrings

* [molten] Change wsgi span name

* [molten] Improve test

* [molten] Add unpatch

* [molten] Add test for patch and unpatch

* Add .ddtox for those using scripts/ddtest

* [molten] Add version tag

* [molten] Add comment about type annotations

* Fix distribute tracing and add test

* Fix flake8 errors

* Just support current version for now

* Reworking but not working yet

* Fixed patching of components and renderers

* Add debug print to test CI

* more debugging

* Fix for tests

* Fix patching/unpatching tests

* remove previous versions of molten

* Add spacing after function

* Standardize resource name on func_name

* Simplify patch function

* Standardize on distributed tracing env

* Route resources have template

* Fix app resource

* Add docstrings to tests

* Fix flake8

* Fix resources test

* Remove pre-0.7 tests

* Update usage comment

* Update ddtrace/contrib/molten/patch.py

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

* Update ddtrace/contrib/molten/patch.py

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

* Include function name in wrapped components and renderers

* Add check for pin before removing it

* Use wrapper for middleware as with components

* Error spans for 5xx status codes

* Update ddtrace/contrib/molten/patch.py

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

* Update ddtrace/contrib/molten/patch.py

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

* Consistent distributed tracing pattern

* Add comment about request headers

* Fix injector wrapping; update documentation

* Update tests/contrib/molten/test_molten.py

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

* Update tests/contrib/molten/test_molten.py

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

* Update tests/contrib/molten/test_molten.py

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

* Move version to integration out of test

* Update ddtrace/pin.py

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

* Add tests for 0.7.0, 0.7.1, .7.2

* Use template for top-level span resource

* Refactoring and better approach to di

* Tests cleaning

* Consolidate molten version tests

* Test Pin.override

* Use data property on TestResponse

* Check with distributed tracing not active

* Cleanup

* Add documentation on ddtrace-run

* Update ddtrace/contrib/molten/patch.py

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

* Cleanup

* Add root span resource test

* Add failure test

* Update tests/contrib/molten/test_molten_di.py

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

* Add span length test

* Update tests/contrib/molten/test_molten_di.py

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

* Fixed error resource for root

* Route resource should be func_name

* Fix flake8

* Add test for handling raised exception

* Add molten to docs

* Update error test to check tags

* Fix docs
* [tests] run flake8 on all test files

* remove duplicate comments

* fix more flake8 issues

* fix pymongo tests

* [tests] molten fix linting
* [tests] provide default implementation of patch test methods

* [tests] Fix subprocess bug, refactor patch base test case
- use test method to find module, class
- make PatchTestCase.Base deal with only one integration/module
- rename assert_patched -> assert_module_patched, etc

* [tests] add import permutation tests
- add tests for permutations of import, patch
- add tests for permutations of import, patch, patch
- add tests for permutations of import, patch, unpatch
- add tests for permutations of import, patch, unpatch, unpatch
- add a verifier
* [tests] use pytest instead of nosetests test runner

* [tests] revert failing to nosetests

* Skip linting py35 file

* reconfigure contest.py

* Fix pytest_ignore_collect logic

* make docs more clear

* remove todo
* [opentracer] set global tags

* [opentracer] quotes
brettlangdon and others added 5 commits December 6, 2018 18:30
* [tests] fix opentracer tests lint

* Fix linting issues with tests

* move opentracer fixtures to conftest.py

* remove old fixture import

* fix missing fixture imports
* Add blacklist for params argument of function

* Remove unnecessary import

* Add blacklist to aiobotocore

* Check params

* Fix tests

* Revert blacklisting of params

* Standardize tags for botocore, boto, aiobotocore

* Fix flake8

* Remove resource from tag name

* Change bucket name for error

* Add botocore tests to CI

* Pull out function for adding span tags

* Fix typo

* Add flatten_dict

* Use flatten_dict to cleanup code

* Add note on source

* Fix quotes

* Fix deactivated test

* Add comment

* Double quotes

* Fix flake, remove nose
* Add blacklist for params argument of function

* Remove unnecessary import

* Add blacklist to aiobotocore

* Check params

* Fix tests

* Add blacklisted for s3

* Remove commented-out line
* [core] vendor six and replace custom compat functions

* make_async_decorator

* Add docs about dependencies

* remove vendored 'six'
@brettlangdon
Copy link
Member

This lgtm, just waiting until we can release to approve

@Kyle-Verhoog
Copy link
Member

How are my merges still not being squashed.. I keep having to switch the kind of merge button over 😕.

@brettlangdon
Copy link
Member

@kyle yeah... I was going to merge shame you... you really just want to get those commit numbers up :p

Copy link
Member

@Kyle-Verhoog Kyle-Verhoog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, just found a couple TODOs that we can either remove or address

resource = '{}.{}'.format(cname, func.__name__)
return trace_wrapped(resource, func, *args, **kwargs)

# TODO[tahir]: the signature of a wrapped resolve method causes DIError to
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this an outdated comment?

spans = self.tracer.writer.pop()

# `can_handle_parameter` appears twice since two parameters are in request
# TODO[tahir]: missing ``resolve` method for components
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

outdated comment?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe TODO is stronger than I intended it. We want to revisit this limitation of the current instrumentation and we have it on our backlog.

Copy link
Member

@Kyle-Verhoog Kyle-Verhoog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Last review should have been an approval, comments weren't show-stopping.

Copy link
Member

@brettlangdon brettlangdon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am excited for this release, lots of good changes.

@majorgreys majorgreys merged commit a0bdd48 into master Dec 12, 2018
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.

None yet

4 participants