{"action":"created","comment":{"url":"https://api.github.com/repos/dmlc/tvm/pulls/comments/210792822","pull_request_review_id":147084005,"id":210792822,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMDc5MjgyMg==","diff_hunk":"@@ -0,0 +1,126 @@\n+/*!\n+ *  Copyright (c) 2018 by Contributors\n+ * \\file graph_runtime_debug.cc\n+ */\n+#include <sys/time.h>\n+#include <tvm/runtime/packed_func.h>\n+#include <tvm/runtime/registry.h>\n+#include \"../graph_runtime.h\"\n+\n+namespace tvm {\n+namespace runtime {\n+\n+/*!\n+ * \\brief Graph runtime with debug .\n+ *\n+ *  This is the extension of GraphRuntime class used for debugging\n+ *  TVM runtime PackedFunc API.\n+ */\n+class GraphRuntimeDebug : public GraphRuntime {\n+ public:\n+    /*!\n+     * \\brief Run each operation and get the output.\n+     * \\param index The index of op which needs to be run.\n+     */\n+  int DebugRun(int index) {\n+    struct timeval tp;\n+    int64_t start_time = 0;\n+    int64_t end_time = 0;\n+    gettimeofday(&tp, NULL);\n+    if (op_execs()[index]) {\n+      op_execs()[index]();\n+    }\n+    start_time = int64_t(tp.tv_sec * 1000000L + tp.tv_usec);","path":"src/runtime/graph/debug/graph_runtime_debug.cc","position":33,"original_position":33,"commit_id":"fa9244e4316759e4af86618e728a5f9e2dc83caa","original_commit_id":"fa9244e4316759e4af86618e728a5f9e2dc83caa","user":{"login":"merrymercy","id":15100009,"node_id":"MDQ6VXNlcjE1MTAwMDA5","avatar_url":"https://avatars2.githubusercontent.com/u/15100009?v=4","gravatar_id":"","url":"https://api.github.com/users/merrymercy","html_url":"https://github.com/merrymercy","followers_url":"https://api.github.com/users/merrymercy/followers","following_url":"https://api.github.com/users/merrymercy/following{/other_user}","gists_url":"https://api.github.com/users/merrymercy/gists{/gist_id}","starred_url":"https://api.github.com/users/merrymercy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/merrymercy/subscriptions","organizations_url":"https://api.github.com/users/merrymercy/orgs","repos_url":"https://api.github.com/users/merrymercy/repos","events_url":"https://api.github.com/users/merrymercy/events{/privacy}","received_events_url":"https://api.github.com/users/merrymercy/received_events","type":"User","site_admin":false},"body":"This line should be placed before `op_execs`","created_at":"2018-08-17T02:44:04Z","updated_at":"2018-08-17T02:44:04Z","html_url":"https://github.com/dmlc/tvm/pull/1378#discussion_r210792822","pull_request_url":"https://api.github.com/repos/dmlc/tvm/pulls/1378","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/dmlc/tvm/pulls/comments/210792822"},"html":{"href":"https://github.com/dmlc/tvm/pull/1378#discussion_r210792822"},"pull_request":{"href":"https://api.github.com/repos/dmlc/tvm/pulls/1378"}}},"pull_request":{"url":"https://api.github.com/repos/dmlc/tvm/pulls/1378","id":198969662,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk4OTY5NjYy","html_url":"https://github.com/dmlc/tvm/pull/1378","diff_url":"https://github.com/dmlc/tvm/pull/1378.diff","patch_url":"https://github.com/dmlc/tvm/pull/1378.patch","issue_url":"https://api.github.com/repos/dmlc/tvm/issues/1378","number":1378,"state":"open","locked":false,"title":"[DEBUG]Support a debug framework for TVM Runtime","user":{"login":"siju-samuel","id":15828974,"node_id":"MDQ6VXNlcjE1ODI4OTc0","avatar_url":"https://avatars1.githubusercontent.com/u/15828974?v=4","gravatar_id":"","url":"https://api.github.com/users/siju-samuel","html_url":"https://github.com/siju-samuel","followers_url":"https://api.github.com/users/siju-samuel/followers","following_url":"https://api.github.com/users/siju-samuel/following{/other_user}","gists_url":"https://api.github.com/users/siju-samuel/gists{/gist_id}","starred_url":"https://api.github.com/users/siju-samuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/siju-samuel/subscriptions","organizations_url":"https://api.github.com/users/siju-samuel/orgs","repos_url":"https://api.github.com/users/siju-samuel/repos","events_url":"https://api.github.com/users/siju-samuel/events{/privacy}","received_events_url":"https://api.github.com/users/siju-samuel/received_events","type":"User","site_admin":false},"body":"[RFC Issue]( https://github.com/dmlc/tvm/issues/1315)\r\n#https://github.com/dmlc/tvm/issues/1315\r\n\r\nA debug framework for TVM Runtime.\r\nThe current version support the following:\r\n- [x]   Show fused graph summary in curses UI\r\n- [x]   Perform debug run and show node details including inputs & outputs tensors\r\n- [x]   Provide flexibility to run without debug option\r\n\r\n**Design**\r\n1. `debug_runtime.py ` : This is the extension of `graph_runtime.py`. If user enable the debug, then all the graph_runtime interfaces are controlled from here and  the data dumping will be maintained from here. The data dumping to different UX, whether curses or tensorboard is maintained from this file.\r\n\r\n2. `graph_runtime_debug.cc` : This is the extension of graph_runtime.cc file. To compile this file, need to change the make file USE_GRAPH_RUNTIME_DEBUG to ON\r\n\r\n3. `curses` :  This folder contains the curses framework. curses will do the data parsing and visualisation for various features like analyser, stepper & profiler.\r\n\r\nThe current implementation takes care of the following.\r\n- [x] No memory impact for normal run-time since the existing data structures are kept intact.\r\n- [x] No lib size impact for normal run-time, as all the debug modificatios are protected with compilation macro USE_GRAPH_RUNTIME_DEBUG.\r\n- [x] No execution time impact for normal run-time  as there are no change in the existing functions.\r\n- [x] Test case added for debug module creation and partial validation (run cant be tested since the curses ui will come up block the execution)\r\n- [x] The data logging and UX work independently, Output data logged into temporary folder and UX read this data and proceed visualisation.\r\n- [x] Tutorial on how to use.\r\n\r\nCurrently this PR supports only graph visualisation using curses UX, later will add support for profiling, stepping and tensorboard support.\r\n","created_at":"2018-07-03T13:48:38Z","updated_at":"2018-08-17T02:44:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1948ef7002d6e13dcfe1ce6a20923f533879b33e","assignee":{"login":"tqchen","id":2577440,"node_id":"MDQ6VXNlcjI1Nzc0NDA=","avatar_url":"https://avatars3.githubusercontent.com/u/2577440?v=4","gravatar_id":"","url":"https://api.github.com/users/tqchen","html_url":"https://github.com/tqchen","followers_url":"https://api.github.com/users/tqchen/followers","following_url":"https://api.github.com/users/tqchen/following{/other_user}","gists_url":"https://api.github.com/users/tqchen/gists{/gist_id}","starred_url":"https://api.github.com/users/tqchen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tqchen/subscriptions","organizations_url":"https://api.github.com/users/tqchen/orgs","repos_url":"https://api.github.com/users/tqchen/repos","events_url":"https://api.github.com/users/tqchen/events{/privacy}","received_events_url":"https://api.github.com/users/tqchen/received_events","type":"User","site_admin":false},"assignees":[{"login":"tqchen","id":2577440,"node_id":"MDQ6VXNlcjI1Nzc0NDA=","avatar_url":"https://avatars3.githubusercontent.com/u/2577440?v=4","gravatar_id":"","url":"https://api.github.com/users/tqchen","html_url":"https://github.com/tqchen","followers_url":"https://api.github.com/users/tqchen/followers","following_url":"https://api.github.com/users/tqchen/following{/other_user}","gists_url":"https://api.github.com/users/tqchen/gists{/gist_id}","starred_url":"https://api.github.com/users/tqchen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tqchen/subscriptions","organizations_url":"https://api.github.com/users/tqchen/orgs","repos_url":"https://api.github.com/users/tqchen/repos","events_url":"https://api.github.com/users/tqchen/events{/privacy}","received_events_url":"https://api.github.com/users/tqchen/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":961828004,"node_id":"MDU6TGFiZWw5NjE4MjgwMDQ=","url":"https://api.github.com/repos/dmlc/tvm/labels/status:%20need%20update","name":"status: need update","color":"edbf8e","default":false},{"id":858776288,"node_id":"MDU6TGFiZWw4NTg3NzYyODg=","url":"https://api.github.com/repos/dmlc/tvm/labels/status:%20review%20in%20progress","name":"status: review in progress","color":"a9c2e8","default":false}],"milestone":{"url":"https://api.github.com/repos/dmlc/tvm/milestones/2","html_url":"https://github.com/dmlc/tvm/milestone/2","labels_url":"https://api.github.com/repos/dmlc/tvm/milestones/2/labels","id":3566224,"node_id":"MDk6TWlsZXN0b25lMzU2NjIyNA==","number":2,"title":"v0.5","description":null,"creator":{"login":"tqchen","id":2577440,"node_id":"MDQ6VXNlcjI1Nzc0NDA=","avatar_url":"https://avatars3.githubusercontent.com/u/2577440?v=4","gravatar_id":"","url":"https://api.github.com/users/tqchen","html_url":"https://github.com/tqchen","followers_url":"https://api.github.com/users/tqchen/followers","following_url":"https://api.github.com/users/tqchen/following{/other_user}","gists_url":"https://api.github.com/users/tqchen/gists{/gist_id}","starred_url":"https://api.github.com/users/tqchen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tqchen/subscriptions","organizations_url":"https://api.github.com/users/tqchen/orgs","repos_url":"https://api.github.com/users/tqchen/repos","events_url":"https://api.github.com/users/tqchen/events{/privacy}","received_events_url":"https://api.github.com/users/tqchen/received_events","type":"User","site_admin":false},"open_issues":4,"closed_issues":0,"state":"open","created_at":"2018-08-13T16:45:09Z","updated_at":"2018-08-16T16:37:25Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/dmlc/tvm/pulls/1378/commits","review_comments_url":"https://api.github.com/repos/dmlc/tvm/pulls/1378/comments","review_comment_url":"https://api.github.com/repos/dmlc/tvm/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dmlc/tvm/issues/1378/comments","statuses_url":"https://api.github.com/repos/dmlc/tvm/statuses/fa9244e4316759e4af86618e728a5f9e2dc83caa","head":{"label":"siju-samuel:tvm_debug","ref":"tvm_debug","sha":"fa9244e4316759e4af86618e728a5f9e2dc83caa","user":{"login":"siju-samuel","id":15828974,"node_id":"MDQ6VXNlcjE1ODI4OTc0","avatar_url":"https://avatars1.githubusercontent.com/u/15828974?v=4","gravatar_id":"","url":"https://api.github.com/users/siju-samuel","html_url":"https://github.com/siju-samuel","followers_url":"https://api.github.com/users/siju-samuel/followers","following_url":"https://api.github.com/users/siju-samuel/following{/other_user}","gists_url":"https://api.github.com/users/siju-samuel/gists{/gist_id}","starred_url":"https://api.github.com/users/siju-samuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/siju-samuel/subscriptions","organizations_url":"https://api.github.com/users/siju-samuel/orgs","repos_url":"https://api.github.com/users/siju-samuel/repos","events_url":"https://api.github.com/users/siju-samuel/events{/privacy}","received_events_url":"https://api.github.com/users/siju-samuel/received_events","type":"User","site_admin":false},"repo":{"id":116782175,"node_id":"MDEwOlJlcG9zaXRvcnkxMTY3ODIxNzU=","name":"tvm","full_name":"siju-samuel/tvm","owner":{"login":"siju-samuel","id":15828974,"node_id":"MDQ6VXNlcjE1ODI4OTc0","avatar_url":"https://avatars1.githubusercontent.com/u/15828974?v=4","gravatar_id":"","url":"https://api.github.com/users/siju-samuel","html_url":"https://github.com/siju-samuel","followers_url":"https://api.github.com/users/siju-samuel/followers","following_url":"https://api.github.com/users/siju-samuel/following{/other_user}","gists_url":"https://api.github.com/users/siju-samuel/gists{/gist_id}","starred_url":"https://api.github.com/users/siju-samuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/siju-samuel/subscriptions","organizations_url":"https://api.github.com/users/siju-samuel/orgs","repos_url":"https://api.github.com/users/siju-samuel/repos","events_url":"https://api.github.com/users/siju-samuel/events{/privacy}","received_events_url":"https://api.github.com/users/siju-samuel/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/siju-samuel/tvm","description":"End to end Tensor IR/DSL stack for deploying deep learning workloads to hardwares","fork":true,"url":"https://api.github.com/repos/siju-samuel/tvm","forks_url":"https://api.github.com/repos/siju-samuel/tvm/forks","keys_url":"https://api.github.com/repos/siju-samuel/tvm/keys{/key_id}","collaborators_url":"https://api.github.com/repos/siju-samuel/tvm/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/siju-samuel/tvm/teams","hooks_url":"https://api.github.com/repos/siju-samuel/tvm/hooks","issue_events_url":"https://api.github.com/repos/siju-samuel/tvm/issues/events{/number}","events_url":"https://api.github.com/repos/siju-samuel/tvm/events","assignees_url":"https://api.github.com/repos/siju-samuel/tvm/assignees{/user}","branches_url":"https://api.github.com/repos/siju-samuel/tvm/branches{/branch}","tags_url":"https://api.github.com/repos/siju-samuel/tvm/tags","blobs_url":"https://api.github.com/repos/siju-samuel/tvm/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/siju-samuel/tvm/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/siju-samuel/tvm/git/refs{/sha}","trees_url":"https://api.github.com/repos/siju-samuel/tvm/git/trees{/sha}","statuses_url":"https://api.github.com/repos/siju-samuel/tvm/statuses/{sha}","languages_url":"https://api.github.com/repos/siju-samuel/tvm/languages","stargazers_url":"https://api.github.com/repos/siju-samuel/tvm/stargazers","contributors_url":"https://api.github.com/repos/siju-samuel/tvm/contributors","subscribers_url":"https://api.github.com/repos/siju-samuel/tvm/subscribers","subscription_url":"https://api.github.com/repos/siju-samuel/tvm/subscription","commits_url":"https://api.github.com/repos/siju-samuel/tvm/commits{/sha}","git_commits_url":"https://api.github.com/repos/siju-samuel/tvm/git/commits{/sha}","comments_url":"https://api.github.com/repos/siju-samuel/tvm/comments{/number}","issue_comment_url":"https://api.github.com/repos/siju-samuel/tvm/issues/comments{/number}","contents_url":"https://api.github.com/repos/siju-samuel/tvm/contents/{+path}","compare_url":"https://api.github.com/repos/siju-samuel/tvm/compare/{base}...{head}","merges_url":"https://api.github.com/repos/siju-samuel/tvm/merges","archive_url":"https://api.github.com/repos/siju-samuel/tvm/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/siju-samuel/tvm/downloads","issues_url":"https://api.github.com/repos/siju-samuel/tvm/issues{/number}","pulls_url":"https://api.github.com/repos/siju-samuel/tvm/pulls{/number}","milestones_url":"https://api.github.com/repos/siju-samuel/tvm/milestones{/number}","notifications_url":"https://api.github.com/repos/siju-samuel/tvm/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/siju-samuel/tvm/labels{/name}","releases_url":"https://api.github.com/repos/siju-samuel/tvm/releases{/id}","deployments_url":"https://api.github.com/repos/siju-samuel/tvm/deployments","created_at":"2018-01-09T07:34:41Z","updated_at":"2018-06-20T11:47:23Z","pushed_at":"2018-08-16T05:10:00Z","git_url":"git://github.com/siju-samuel/tvm.git","ssh_url":"git@github.com:siju-samuel/tvm.git","clone_url":"https://github.com/siju-samuel/tvm.git","svn_url":"https://github.com/siju-samuel/tvm","homepage":"","size":7600,"stargazers_count":1,"watchers_count":1,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"dmlc:master","ref":"master","sha":"a80356bbe0e857d674d3dbe0f0cfbec43ba5c950","user":{"login":"dmlc","id":11508361,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExNTA4MzYx","avatar_url":"https://avatars2.githubusercontent.com/u/11508361?v=4","gravatar_id":"","url":"https://api.github.com/users/dmlc","html_url":"https://github.com/dmlc","followers_url":"https://api.github.com/users/dmlc/followers","following_url":"https://api.github.com/users/dmlc/following{/other_user}","gists_url":"https://api.github.com/users/dmlc/gists{/gist_id}","starred_url":"https://api.github.com/users/dmlc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmlc/subscriptions","organizations_url":"https://api.github.com/users/dmlc/orgs","repos_url":"https://api.github.com/users/dmlc/repos","events_url":"https://api.github.com/users/dmlc/events{/privacy}","received_events_url":"https://api.github.com/users/dmlc/received_events","type":"Organization","site_admin":false},"repo":{"id":70746484,"node_id":"MDEwOlJlcG9zaXRvcnk3MDc0NjQ4NA==","name":"tvm","full_name":"dmlc/tvm","owner":{"login":"dmlc","id":11508361,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExNTA4MzYx","avatar_url":"https://avatars2.githubusercontent.com/u/11508361?v=4","gravatar_id":"","url":"https://api.github.com/users/dmlc","html_url":"https://github.com/dmlc","followers_url":"https://api.github.com/users/dmlc/followers","following_url":"https://api.github.com/users/dmlc/following{/other_user}","gists_url":"https://api.github.com/users/dmlc/gists{/gist_id}","starred_url":"https://api.github.com/users/dmlc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmlc/subscriptions","organizations_url":"https://api.github.com/users/dmlc/orgs","repos_url":"https://api.github.com/users/dmlc/repos","events_url":"https://api.github.com/users/dmlc/events{/privacy}","received_events_url":"https://api.github.com/users/dmlc/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dmlc/tvm","description":"Open deep learning compiler stack for cpu, gpu and specialized accelerators","fork":false,"url":"https://api.github.com/repos/dmlc/tvm","forks_url":"https://api.github.com/repos/dmlc/tvm/forks","keys_url":"https://api.github.com/repos/dmlc/tvm/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dmlc/tvm/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dmlc/tvm/teams","hooks_url":"https://api.github.com/repos/dmlc/tvm/hooks","issue_events_url":"https://api.github.com/repos/dmlc/tvm/issues/events{/number}","events_url":"https://api.github.com/repos/dmlc/tvm/events","assignees_url":"https://api.github.com/repos/dmlc/tvm/assignees{/user}","branches_url":"https://api.github.com/repos/dmlc/tvm/branches{/branch}","tags_url":"https://api.github.com/repos/dmlc/tvm/tags","blobs_url":"https://api.github.com/repos/dmlc/tvm/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dmlc/tvm/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dmlc/tvm/git/refs{/sha}","trees_url":"https://api.github.com/repos/dmlc/tvm/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dmlc/tvm/statuses/{sha}","languages_url":"https://api.github.com/repos/dmlc/tvm/languages","stargazers_url":"https://api.github.com/repos/dmlc/tvm/stargazers","contributors_url":"https://api.github.com/repos/dmlc/tvm/contributors","subscribers_url":"https://api.github.com/repos/dmlc/tvm/subscribers","subscription_url":"https://api.github.com/repos/dmlc/tvm/subscription","commits_url":"https://api.github.com/repos/dmlc/tvm/commits{/sha}","git_commits_url":"https://api.github.com/repos/dmlc/tvm/git/commits{/sha}","comments_url":"https://api.github.com/repos/dmlc/tvm/comments{/number}","issue_comment_url":"https://api.github.com/repos/dmlc/tvm/issues/comments{/number}","contents_url":"https://api.github.com/repos/dmlc/tvm/contents/{+path}","compare_url":"https://api.github.com/repos/dmlc/tvm/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dmlc/tvm/merges","archive_url":"https://api.github.com/repos/dmlc/tvm/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dmlc/tvm/downloads","issues_url":"https://api.github.com/repos/dmlc/tvm/issues{/number}","pulls_url":"https://api.github.com/repos/dmlc/tvm/pulls{/number}","milestones_url":"https://api.github.com/repos/dmlc/tvm/milestones{/number}","notifications_url":"https://api.github.com/repos/dmlc/tvm/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dmlc/tvm/labels{/name}","releases_url":"https://api.github.com/repos/dmlc/tvm/releases{/id}","deployments_url":"https://api.github.com/repos/dmlc/tvm/deployments","created_at":"2016-10-12T22:20:28Z","updated_at":"2018-08-17T02:38:00Z","pushed_at":"2018-08-17T02:37:57Z","git_url":"git://github.com/dmlc/tvm.git","ssh_url":"git@github.com:dmlc/tvm.git","clone_url":"https://github.com/dmlc/tvm.git","svn_url":"https://github.com/dmlc/tvm","homepage":"https://tvm.ai","size":6986,"stargazers_count":1846,"watchers_count":1846,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":408,"mirror_url":null,"archived":false,"open_issues_count":42,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":408,"open_issues":42,"watchers":1846,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dmlc/tvm/pulls/1378"},"html":{"href":"https://github.com/dmlc/tvm/pull/1378"},"issue":{"href":"https://api.github.com/repos/dmlc/tvm/issues/1378"},"comments":{"href":"https://api.github.com/repos/dmlc/tvm/issues/1378/comments"},"review_comments":{"href":"https://api.github.com/repos/dmlc/tvm/pulls/1378/comments"},"review_comment":{"href":"https://api.github.com/repos/dmlc/tvm/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dmlc/tvm/pulls/1378/commits"},"statuses":{"href":"https://api.github.com/repos/dmlc/tvm/statuses/fa9244e4316759e4af86618e728a5f9e2dc83caa"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"merrymercy"}}