Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[flask] rewrite Flask integration (#667)
* [flask] start work on new patch implementation * [flask] trace more internal parts * [flask] trace more things * [flask] round out prototype of new tracing * [flask] replace old patch.py with new_patch.py * [flask] finish up prototype and deduplicate some code * [flask] move wrapper helpers to wrappers.py * [flask] add docstrings * [flask] remove unused import * [flask] Update documentation * [flask] < 0.12.0 does not have Flask.finalize_request * [flask] handle status code as a string * [flask] use config API * [flask] update version parsing * [flask] patch signal receivers_for and add unpatch() * [flask] add test for Flask signals * [flask] fix patching/unpatching lists * [flask] use template name as span resource name * [flask] set test template directory * [flask] add test cases for Flask helpers * [flask] add test cases for Flask render functions * [flask] add test helpers to check if something is wrapped * [flask] simplify pin cloning logic * [flask] add blueprint tests * [flask] rename patch.py to monkey.py * [flask] make sure do to do Pin(tracer=self.tracer) in tests * [flask] fix spelling * [flask] add patch/unpatch idempotency tests * [flask] add initial support for v0.9 * [flask] update tests for v0.9 * [flask] use <= (0, 9) instead of == (0, 9) * [flask] fix signal names * [flask] add assertion message * [flask] skip send_from_directory * [flask] add find_span_by_name test helper * [flask] add error handler test cases * [flask] Use start_response instead of Flask.finalize_request for response code * [flask] assert bytes equality * [flask] add test caes for flask.views.View * [flask] enable by default * [flask] remove large TODO comment * [flask] change 404 resource name to '<method> 404' * [flask] fix py2 vs py3 base exception name * [flask] add request lifecycle tests * [flask] support unicode * [flask] rewrite Flask autopatch tests * [flask] run py27-flask09 tests in circleci * [flask] add static file tests * [flask] rename monkey.py back to patch.py * [flask] update docstring for flask being enabled by default * [flask] fix comments and docstrings * [flask] use ddtrace.utils.importlib.func_name * [core] modify Pin.get_from to accept multiple objects * [flask] fix remaining get_arg_or_kwargs * [flask] only use '<method> 404' if the endpoint is unknown * [flask] use request.path for http.URL tag * [flask] remove/fix TODOs * [flask] Add Pin.find(*objs) helper * [flask] only use 'def _wrap()' where necessary * [flask] mark 5xx errors by default, allow config of additional error codes * Update tests/contrib/flask/test_request.py Co-Authored-By: brettlangdon <me@brett.is> * Update tests/contrib/flask/test_template.py Co-Authored-By: brettlangdon <me@brett.is> * Update tests/contrib/flask/test_template.py Co-Authored-By: brettlangdon <me@brett.is> * [flask] simplify fetching wrapped arg * [flask] fix spelling mistake * Update ddtrace/contrib/flask/patch.py Co-Authored-By: brettlangdon <me@brett.is> * [flask] remove unnecessary 'func_name(func)' call * Update tests/contrib/flask/test_blueprint.py Co-Authored-By: brettlangdon <me@brett.is> * [flask] fix remaining comments from kyle * [flask] fix flake8 issues * [flask] test distributed tracing * [flask] add find_span_parent helper * [flask] add hook test cases * [flask] fix spelling * [flask] rename Pin.find to Pin._find and add tests * [flask] one last Pin.find -> Pin._find * [flask] try to parse endpoint/url rule in Flask.preprocess_request as well * [flask] fix line too long issue
- Loading branch information