{"action":"created","issue":{"url":"https://api.github.com/repos/DataDog/dd-trace-py/issues/647","repository_url":"https://api.github.com/repos/DataDog/dd-trace-py","labels_url":"https://api.github.com/repos/DataDog/dd-trace-py/issues/647/labels{/name}","comments_url":"https://api.github.com/repos/DataDog/dd-trace-py/issues/647/comments","events_url":"https://api.github.com/repos/DataDog/dd-trace-py/issues/647/events","html_url":"https://github.com/DataDog/dd-trace-py/pull/647","id":369552581,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIyNDY3MjY2","number":647,"title":"Trace http headers","user":{"login":"labbati","id":2952352,"node_id":"MDQ6VXNlcjI5NTIzNTI=","avatar_url":"https://avatars0.githubusercontent.com/u/2952352?v=4","gravatar_id":"","url":"https://api.github.com/users/labbati","html_url":"https://github.com/labbati","followers_url":"https://api.github.com/users/labbati/followers","following_url":"https://api.github.com/users/labbati/following{/other_user}","gists_url":"https://api.github.com/users/labbati/gists{/gist_id}","starred_url":"https://api.github.com/users/labbati/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/labbati/subscriptions","organizations_url":"https://api.github.com/users/labbati/orgs","repos_url":"https://api.github.com/users/labbati/repos","events_url":"https://api.github.com/users/labbati/events{/privacy}","received_events_url":"https://api.github.com/users/labbati/received_events","type":"User","site_admin":false},"labels":[{"id":539394009,"node_id":"MDU6TGFiZWw1MzkzOTQwMDk=","url":"https://api.github.com/repos/DataDog/dd-trace-py/labels/do-not-merge/WIP","name":"do-not-merge/WIP","color":"000000","default":false},{"id":443002993,"node_id":"MDU6TGFiZWw0NDMwMDI5OTM=","url":"https://api.github.com/repos/DataDog/dd-trace-py/labels/integrations","name":"integrations","color":"c2e0c6","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/DataDog/dd-trace-py/milestones/28","html_url":"https://github.com/DataDog/dd-trace-py/milestone/28","labels_url":"https://api.github.com/repos/DataDog/dd-trace-py/milestones/28/labels","id":3730311,"node_id":"MDk6TWlsZXN0b25lMzczMDMxMQ==","number":28,"title":"0.16.0","description":"","creator":{"login":"labbati","id":2952352,"node_id":"MDQ6VXNlcjI5NTIzNTI=","avatar_url":"https://avatars0.githubusercontent.com/u/2952352?v=4","gravatar_id":"","url":"https://api.github.com/users/labbati","html_url":"https://github.com/labbati","followers_url":"https://api.github.com/users/labbati/followers","following_url":"https://api.github.com/users/labbati/following{/other_user}","gists_url":"https://api.github.com/users/labbati/gists{/gist_id}","starred_url":"https://api.github.com/users/labbati/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/labbati/subscriptions","organizations_url":"https://api.github.com/users/labbati/orgs","repos_url":"https://api.github.com/users/labbati/repos","events_url":"https://api.github.com/users/labbati/events{/privacy}","received_events_url":"https://api.github.com/users/labbati/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":22,"state":"open","created_at":"2018-10-11T13:08:37Z","updated_at":"2018-11-05T18:34:48Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2018-10-12T13:30:40Z","updated_at":"2018-11-05T21:40:43Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/DataDog/dd-trace-py/pulls/647","html_url":"https://github.com/DataDog/dd-trace-py/pull/647","diff_url":"https://github.com/DataDog/dd-trace-py/pull/647.diff","patch_url":"https://github.com/DataDog/dd-trace-py/pull/647.patch"},"body":"The objective of this pull request is to add http headers tracing to the falcon web framework and to propose an initial draft of an approach that can be reused across other frameworks.\r\n\r\nHow to read this pull request:\r\n - `ddtrace.http.headers` (and `tests/unit/http/test_headers.py`): utility functions that given a span, a dict of headers, and a white list of headers names store selected headers into the span following a convention consistent with the one already found in our Ruby integration.\r\n - `ddtrace.settings.HttpConfig` (and tests/unit/test_settings.py): a new configuration object accessible by users at `ddtrace.config.http` to register headers to be traced. Each rule can be provided at both the specific integration level and globally. E.g.\r\n```\r\n# for one specific integration\r\nconfig.<integration>.trace_headers('some_header')\r\n\r\n# for all the integrations\r\nconfig.trace_headers(['header_1', 'header_2'])\r\n```\r\n - `ddtrace.contrib.falcon.middleware`: where we manually hook into falcon middleware to save headers into the span as tags.\r\n"},"comment":{"url":"https://api.github.com/repos/DataDog/dd-trace-py/issues/comments/436045473","html_url":"https://github.com/DataDog/dd-trace-py/pull/647#issuecomment-436045473","issue_url":"https://api.github.com/repos/DataDog/dd-trace-py/issues/647","id":436045473,"node_id":"MDEyOklzc3VlQ29tbWVudDQzNjA0NTQ3Mw==","user":{"login":"brettlangdon","id":1320353,"node_id":"MDQ6VXNlcjEzMjAzNTM=","avatar_url":"https://avatars0.githubusercontent.com/u/1320353?v=4","gravatar_id":"","url":"https://api.github.com/users/brettlangdon","html_url":"https://github.com/brettlangdon","followers_url":"https://api.github.com/users/brettlangdon/followers","following_url":"https://api.github.com/users/brettlangdon/following{/other_user}","gists_url":"https://api.github.com/users/brettlangdon/gists{/gist_id}","starred_url":"https://api.github.com/users/brettlangdon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brettlangdon/subscriptions","organizations_url":"https://api.github.com/users/brettlangdon/orgs","repos_url":"https://api.github.com/users/brettlangdon/repos","events_url":"https://api.github.com/users/brettlangdon/events{/privacy}","received_events_url":"https://api.github.com/users/brettlangdon/received_events","type":"User","site_admin":false},"created_at":"2018-11-05T21:40:43Z","updated_at":"2018-11-05T21:40:43Z","author_association":"MEMBER","body":"@labbati I updated from `0.16-dev` to fix merge conflict with #684 merging in `IntegrationConfig` on it's own."}}
{"actor":{"display_login":"brettlangdon"}}