{"action":"created","comment":{"url":"https://api.github.com/repos/DataDog/dd-trace-py/pulls/comments/241035247","pull_request_review_id":184199941,"id":241035247,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MTAzNTI0Nw==","diff_hunk":"@@ -3,7 +3,7 @@\n from .deprecation import deprecation","path":"ddtrace/utils/formats.py","position":1,"original_position":1,"commit_id":"f86e2219cd22e4d7fc1ccb91b8ae46d697e0af76","original_commit_id":"f86e2219cd22e4d7fc1ccb91b8ae46d697e0af76","user":{"login":"Kyle-Verhoog","id":6321485,"node_id":"MDQ6VXNlcjYzMjE0ODU=","avatar_url":"https://avatars1.githubusercontent.com/u/6321485?v=4","gravatar_id":"","url":"https://api.github.com/users/Kyle-Verhoog","html_url":"https://github.com/Kyle-Verhoog","followers_url":"https://api.github.com/users/Kyle-Verhoog/followers","following_url":"https://api.github.com/users/Kyle-Verhoog/following{/other_user}","gists_url":"https://api.github.com/users/Kyle-Verhoog/gists{/gist_id}","starred_url":"https://api.github.com/users/Kyle-Verhoog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Kyle-Verhoog/subscriptions","organizations_url":"https://api.github.com/users/Kyle-Verhoog/orgs","repos_url":"https://api.github.com/users/Kyle-Verhoog/repos","events_url":"https://api.github.com/users/Kyle-Verhoog/events{/privacy}","received_events_url":"https://api.github.com/users/Kyle-Verhoog/received_events","type":"User","site_admin":false},"body":"This change actually doesn't need to be included in this PR. I'll remove it for a separate one.","created_at":"2018-12-12T14:30:47Z","updated_at":"2018-12-12T14:32:00Z","html_url":"https://github.com/DataDog/dd-trace-py/pull/775#discussion_r241035247","pull_request_url":"https://api.github.com/repos/DataDog/dd-trace-py/pulls/775","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/DataDog/dd-trace-py/pulls/comments/241035247"},"html":{"href":"https://github.com/DataDog/dd-trace-py/pull/775#discussion_r241035247"},"pull_request":{"href":"https://api.github.com/repos/DataDog/dd-trace-py/pulls/775"}}},"pull_request":{"url":"https://api.github.com/repos/DataDog/dd-trace-py/pulls/775","id":238054196,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM4MDU0MTk2","html_url":"https://github.com/DataDog/dd-trace-py/pull/775","diff_url":"https://github.com/DataDog/dd-trace-py/pull/775.diff","patch_url":"https://github.com/DataDog/dd-trace-py/pull/775.patch","issue_url":"https://api.github.com/repos/DataDog/dd-trace-py/issues/775","number":775,"state":"open","locked":false,"title":"[core/config] Check for corresponding environment variables","user":{"login":"Kyle-Verhoog","id":6321485,"node_id":"MDQ6VXNlcjYzMjE0ODU=","avatar_url":"https://avatars1.githubusercontent.com/u/6321485?v=4","gravatar_id":"","url":"https://api.github.com/users/Kyle-Verhoog","html_url":"https://github.com/Kyle-Verhoog","followers_url":"https://api.github.com/users/Kyle-Verhoog/followers","following_url":"https://api.github.com/users/Kyle-Verhoog/following{/other_user}","gists_url":"https://api.github.com/users/Kyle-Verhoog/gists{/gist_id}","starred_url":"https://api.github.com/users/Kyle-Verhoog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Kyle-Verhoog/subscriptions","organizations_url":"https://api.github.com/users/Kyle-Verhoog/orgs","repos_url":"https://api.github.com/users/Kyle-Verhoog/repos","events_url":"https://api.github.com/users/Kyle-Verhoog/events{/privacy}","received_events_url":"https://api.github.com/users/Kyle-Verhoog/received_events","type":"User","site_admin":false},"body":"This PR introduces a few modifications to the config api.\r\n\r\n## New functionality\r\n\r\nA defined precedence is specified for config items which introduces the ability to override default configuration values manually and with environment variables.\r\n\r\nThe precedence is defined (from lowest to highest) as:\r\n\r\n**[low]**\r\n ### default specified by the integration\r\n\r\nIn the integration:\r\n\r\n```python\r\nfrom ddtrace import config\r\nredis_config = config.redis\r\nredis_config.service_name = 'redis-service'\r\n```\r\n\r\nuser code:\r\n```python\r\nfrom ddtrace import config\r\nassert config.redis.service_name == 'redis-service'\r\n```\r\n\r\n###  environment variables corresponding to the config item\r\n\r\n```sh\r\nDD_REDIS_SERVICE_NAME='my-env-service-name` ddtrace-run ...\r\n```\r\n\r\n```python\r\nfrom ddtrace import config\r\nassert config.redis.service_name == 'my-env-service-name`\r\n```\r\n\r\n###  user overridden values:\r\n\r\n```python\r\nfrom ddtrace import config\r\nassert config.redis.service_name == 'redis-service'\r\nconfig.redis.service_name = 'my-custom-service-name`\r\nassert config.redis.service_name == 'my-custom-service-name'\r\n```\r\n\r\n**[high]**\r\n\r\n\r\n## Internal changes\r\n\r\nItems stored in an `IntegrationConfig` are now wrapped in an object `IntegrationConfigItem` which performs logic to determine what the value of the item should be.","created_at":"2018-12-12T14:21:31Z","updated_at":"2018-12-12T14:31:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f721f53f85fa23db04f11aed59fb76cf09cf0dc8","assignee":null,"assignees":[],"requested_reviewers":[{"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}],"requested_teams":[],"labels":[{"id":443002892,"node_id":"MDU6TGFiZWw0NDMwMDI4OTI=","url":"https://api.github.com/repos/DataDog/dd-trace-py/labels/core","name":"core","color":"d93f0b","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/DataDog/dd-trace-py/pulls/775/commits","review_comments_url":"https://api.github.com/repos/DataDog/dd-trace-py/pulls/775/comments","review_comment_url":"https://api.github.com/repos/DataDog/dd-trace-py/pulls/comments{/number}","comments_url":"https://api.github.com/repos/DataDog/dd-trace-py/issues/775/comments","statuses_url":"https://api.github.com/repos/DataDog/dd-trace-py/statuses/f86e2219cd22e4d7fc1ccb91b8ae46d697e0af76","head":{"label":"DataDog:kyle-verhoog/config-env","ref":"kyle-verhoog/config-env","sha":"f86e2219cd22e4d7fc1ccb91b8ae46d697e0af76","user":{"login":"DataDog","id":365230,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2NTIzMA==","avatar_url":"https://avatars1.githubusercontent.com/u/365230?v=4","gravatar_id":"","url":"https://api.github.com/users/DataDog","html_url":"https://github.com/DataDog","followers_url":"https://api.github.com/users/DataDog/followers","following_url":"https://api.github.com/users/DataDog/following{/other_user}","gists_url":"https://api.github.com/users/DataDog/gists{/gist_id}","starred_url":"https://api.github.com/users/DataDog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DataDog/subscriptions","organizations_url":"https://api.github.com/users/DataDog/orgs","repos_url":"https://api.github.com/users/DataDog/repos","events_url":"https://api.github.com/users/DataDog/events{/privacy}","received_events_url":"https://api.github.com/users/DataDog/received_events","type":"Organization","site_admin":false},"repo":{"id":61572326,"node_id":"MDEwOlJlcG9zaXRvcnk2MTU3MjMyNg==","name":"dd-trace-py","full_name":"DataDog/dd-trace-py","private":false,"owner":{"login":"DataDog","id":365230,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2NTIzMA==","avatar_url":"https://avatars1.githubusercontent.com/u/365230?v=4","gravatar_id":"","url":"https://api.github.com/users/DataDog","html_url":"https://github.com/DataDog","followers_url":"https://api.github.com/users/DataDog/followers","following_url":"https://api.github.com/users/DataDog/following{/other_user}","gists_url":"https://api.github.com/users/DataDog/gists{/gist_id}","starred_url":"https://api.github.com/users/DataDog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DataDog/subscriptions","organizations_url":"https://api.github.com/users/DataDog/orgs","repos_url":"https://api.github.com/users/DataDog/repos","events_url":"https://api.github.com/users/DataDog/events{/privacy}","received_events_url":"https://api.github.com/users/DataDog/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/DataDog/dd-trace-py","description":"Datadog Tracing Python Client","fork":false,"url":"https://api.github.com/repos/DataDog/dd-trace-py","forks_url":"https://api.github.com/repos/DataDog/dd-trace-py/forks","keys_url":"https://api.github.com/repos/DataDog/dd-trace-py/keys{/key_id}","collaborators_url":"https://api.github.com/repos/DataDog/dd-trace-py/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/DataDog/dd-trace-py/teams","hooks_url":"https://api.github.com/repos/DataDog/dd-trace-py/hooks","issue_events_url":"https://api.github.com/repos/DataDog/dd-trace-py/issues/events{/number}","events_url":"https://api.github.com/repos/DataDog/dd-trace-py/events","assignees_url":"https://api.github.com/repos/DataDog/dd-trace-py/assignees{/user}","branches_url":"https://api.github.com/repos/DataDog/dd-trace-py/branches{/branch}","tags_url":"https://api.github.com/repos/DataDog/dd-trace-py/tags","blobs_url":"https://api.github.com/repos/DataDog/dd-trace-py/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/DataDog/dd-trace-py/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/DataDog/dd-trace-py/git/refs{/sha}","trees_url":"https://api.github.com/repos/DataDog/dd-trace-py/git/trees{/sha}","statuses_url":"https://api.github.com/repos/DataDog/dd-trace-py/statuses/{sha}","languages_url":"https://api.github.com/repos/DataDog/dd-trace-py/languages","stargazers_url":"https://api.github.com/repos/DataDog/dd-trace-py/stargazers","contributors_url":"https://api.github.com/repos/DataDog/dd-trace-py/contributors","subscribers_url":"https://api.github.com/repos/DataDog/dd-trace-py/subscribers","subscription_url":"https://api.github.com/repos/DataDog/dd-trace-py/subscription","commits_url":"https://api.github.com/repos/DataDog/dd-trace-py/commits{/sha}","git_commits_url":"https://api.github.com/repos/DataDog/dd-trace-py/git/commits{/sha}","comments_url":"https://api.github.com/repos/DataDog/dd-trace-py/comments{/number}","issue_comment_url":"https://api.github.com/repos/DataDog/dd-trace-py/issues/comments{/number}","contents_url":"https://api.github.com/repos/DataDog/dd-trace-py/contents/{+path}","compare_url":"https://api.github.com/repos/DataDog/dd-trace-py/compare/{base}...{head}","merges_url":"https://api.github.com/repos/DataDog/dd-trace-py/merges","archive_url":"https://api.github.com/repos/DataDog/dd-trace-py/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/DataDog/dd-trace-py/downloads","issues_url":"https://api.github.com/repos/DataDog/dd-trace-py/issues{/number}","pulls_url":"https://api.github.com/repos/DataDog/dd-trace-py/pulls{/number}","milestones_url":"https://api.github.com/repos/DataDog/dd-trace-py/milestones{/number}","notifications_url":"https://api.github.com/repos/DataDog/dd-trace-py/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/DataDog/dd-trace-py/labels{/name}","releases_url":"https://api.github.com/repos/DataDog/dd-trace-py/releases{/id}","deployments_url":"https://api.github.com/repos/DataDog/dd-trace-py/deployments","created_at":"2016-06-20T18:52:23Z","updated_at":"2018-12-10T21:42:46Z","pushed_at":"2018-12-12T14:21:32Z","git_url":"git://github.com/DataDog/dd-trace-py.git","ssh_url":"git@github.com:DataDog/dd-trace-py.git","clone_url":"https://github.com/DataDog/dd-trace-py.git","svn_url":"https://github.com/DataDog/dd-trace-py","homepage":"http://pypi.datadoghq.com/trace/docs/","size":2924,"stargazers_count":91,"watchers_count":91,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":99,"mirror_url":null,"archived":false,"open_issues_count":71,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":99,"open_issues":71,"watchers":91,"default_branch":"master"}},"base":{"label":"DataDog:0.18-dev","ref":"0.18-dev","sha":"9e49744ce1a791b87dd5af0a9828a130ce1b9856","user":{"login":"DataDog","id":365230,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2NTIzMA==","avatar_url":"https://avatars1.githubusercontent.com/u/365230?v=4","gravatar_id":"","url":"https://api.github.com/users/DataDog","html_url":"https://github.com/DataDog","followers_url":"https://api.github.com/users/DataDog/followers","following_url":"https://api.github.com/users/DataDog/following{/other_user}","gists_url":"https://api.github.com/users/DataDog/gists{/gist_id}","starred_url":"https://api.github.com/users/DataDog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DataDog/subscriptions","organizations_url":"https://api.github.com/users/DataDog/orgs","repos_url":"https://api.github.com/users/DataDog/repos","events_url":"https://api.github.com/users/DataDog/events{/privacy}","received_events_url":"https://api.github.com/users/DataDog/received_events","type":"Organization","site_admin":false},"repo":{"id":61572326,"node_id":"MDEwOlJlcG9zaXRvcnk2MTU3MjMyNg==","name":"dd-trace-py","full_name":"DataDog/dd-trace-py","private":false,"owner":{"login":"DataDog","id":365230,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2NTIzMA==","avatar_url":"https://avatars1.githubusercontent.com/u/365230?v=4","gravatar_id":"","url":"https://api.github.com/users/DataDog","html_url":"https://github.com/DataDog","followers_url":"https://api.github.com/users/DataDog/followers","following_url":"https://api.github.com/users/DataDog/following{/other_user}","gists_url":"https://api.github.com/users/DataDog/gists{/gist_id}","starred_url":"https://api.github.com/users/DataDog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DataDog/subscriptions","organizations_url":"https://api.github.com/users/DataDog/orgs","repos_url":"https://api.github.com/users/DataDog/repos","events_url":"https://api.github.com/users/DataDog/events{/privacy}","received_events_url":"https://api.github.com/users/DataDog/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/DataDog/dd-trace-py","description":"Datadog Tracing Python Client","fork":false,"url":"https://api.github.com/repos/DataDog/dd-trace-py","forks_url":"https://api.github.com/repos/DataDog/dd-trace-py/forks","keys_url":"https://api.github.com/repos/DataDog/dd-trace-py/keys{/key_id}","collaborators_url":"https://api.github.com/repos/DataDog/dd-trace-py/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/DataDog/dd-trace-py/teams","hooks_url":"https://api.github.com/repos/DataDog/dd-trace-py/hooks","issue_events_url":"https://api.github.com/repos/DataDog/dd-trace-py/issues/events{/number}","events_url":"https://api.github.com/repos/DataDog/dd-trace-py/events","assignees_url":"https://api.github.com/repos/DataDog/dd-trace-py/assignees{/user}","branches_url":"https://api.github.com/repos/DataDog/dd-trace-py/branches{/branch}","tags_url":"https://api.github.com/repos/DataDog/dd-trace-py/tags","blobs_url":"https://api.github.com/repos/DataDog/dd-trace-py/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/DataDog/dd-trace-py/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/DataDog/dd-trace-py/git/refs{/sha}","trees_url":"https://api.github.com/repos/DataDog/dd-trace-py/git/trees{/sha}","statuses_url":"https://api.github.com/repos/DataDog/dd-trace-py/statuses/{sha}","languages_url":"https://api.github.com/repos/DataDog/dd-trace-py/languages","stargazers_url":"https://api.github.com/repos/DataDog/dd-trace-py/stargazers","contributors_url":"https://api.github.com/repos/DataDog/dd-trace-py/contributors","subscribers_url":"https://api.github.com/repos/DataDog/dd-trace-py/subscribers","subscription_url":"https://api.github.com/repos/DataDog/dd-trace-py/subscription","commits_url":"https://api.github.com/repos/DataDog/dd-trace-py/commits{/sha}","git_commits_url":"https://api.github.com/repos/DataDog/dd-trace-py/git/commits{/sha}","comments_url":"https://api.github.com/repos/DataDog/dd-trace-py/comments{/number}","issue_comment_url":"https://api.github.com/repos/DataDog/dd-trace-py/issues/comments{/number}","contents_url":"https://api.github.com/repos/DataDog/dd-trace-py/contents/{+path}","compare_url":"https://api.github.com/repos/DataDog/dd-trace-py/compare/{base}...{head}","merges_url":"https://api.github.com/repos/DataDog/dd-trace-py/merges","archive_url":"https://api.github.com/repos/DataDog/dd-trace-py/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/DataDog/dd-trace-py/downloads","issues_url":"https://api.github.com/repos/DataDog/dd-trace-py/issues{/number}","pulls_url":"https://api.github.com/repos/DataDog/dd-trace-py/pulls{/number}","milestones_url":"https://api.github.com/repos/DataDog/dd-trace-py/milestones{/number}","notifications_url":"https://api.github.com/repos/DataDog/dd-trace-py/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/DataDog/dd-trace-py/labels{/name}","releases_url":"https://api.github.com/repos/DataDog/dd-trace-py/releases{/id}","deployments_url":"https://api.github.com/repos/DataDog/dd-trace-py/deployments","created_at":"2016-06-20T18:52:23Z","updated_at":"2018-12-10T21:42:46Z","pushed_at":"2018-12-12T14:21:32Z","git_url":"git://github.com/DataDog/dd-trace-py.git","ssh_url":"git@github.com:DataDog/dd-trace-py.git","clone_url":"https://github.com/DataDog/dd-trace-py.git","svn_url":"https://github.com/DataDog/dd-trace-py","homepage":"http://pypi.datadoghq.com/trace/docs/","size":2924,"stargazers_count":91,"watchers_count":91,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":99,"mirror_url":null,"archived":false,"open_issues_count":71,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":99,"open_issues":71,"watchers":91,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/DataDog/dd-trace-py/pulls/775"},"html":{"href":"https://github.com/DataDog/dd-trace-py/pull/775"},"issue":{"href":"https://api.github.com/repos/DataDog/dd-trace-py/issues/775"},"comments":{"href":"https://api.github.com/repos/DataDog/dd-trace-py/issues/775/comments"},"review_comments":{"href":"https://api.github.com/repos/DataDog/dd-trace-py/pulls/775/comments"},"review_comment":{"href":"https://api.github.com/repos/DataDog/dd-trace-py/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/DataDog/dd-trace-py/pulls/775/commits"},"statuses":{"href":"https://api.github.com/repos/DataDog/dd-trace-py/statuses/f86e2219cd22e4d7fc1ccb91b8ae46d697e0af76"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"Kyle-Verhoog"}}