|
# Verbose benchmark of td today commands using --verbose (-vvvv) from: |
|
# PR: https://github.com/Doist/todoist-cli/pull/56 |
|
# Commit: https://github.com/VariousForks/todoist-cli-by-Doist-fork/commit/31976d1f7136ec3fa94fe92cb528b1238b208038 |
|
# Date: 2026-02-11 |
|
# Branch: i40-verbose-trace-output |
|
# |
|
# This output is safe to share publicly - no private task/project data is included. |
|
# All verbose output goes to stderr with [td:info/detail/debug/trace] prefixes. |
|
# |
|
# Original timing benchmark (without verbose): https://gist.github.com/gwpl/9586e2e97ec8689fb77c150c2d711a5b |
|
|
|
======================================== |
|
=== TEST 1: td today -vvvv === |
|
Started: 2026-02-11T18:04:10+01:00 |
|
======================================== |
|
[td:info] 2026-02-11T17:04:22.036Z verbose logging enabled (level=4) |
|
[td:detail] 2026-02-11T17:04:22.057Z initializing TodoistApi client |
|
[td:detail] 2026-02-11T17:04:22.057Z TodoistApi client ready |
|
[td:detail] 2026-02-11T17:04:22.058Z paginate started | limit=300 perPage=200 |
|
[td:detail] 2026-02-11T17:04:22.058Z paginate page 1 | page_size=200 cursor=(initial) accumulated=0 |
|
[td:info] 2026-02-11T17:04:22.522Z fetch GET /api/v1/tasks/filter |
|
[td:detail] 2026-02-11T17:04:22.523Z fetch GET https://api.todoist.com/api/v1/tasks/filter?query=today+%7C+overdue&limit=200 |
|
[td:trace] 2026-02-11T17:04:22.523Z request headers | Content-Type=application/json Authorization=[REDACTED] |
|
[td:info] 2026-02-11T17:04:24.121Z fetch GET /api/v1/tasks/filter => 200 | duration_ms=1598 |
|
[td:trace] 2026-02-11T17:04:24.126Z all response headers | alt-svc=h3=":443"; ma=86400 connection=keep-alive content-encoding=gzip content-type=application/json date=Wed, 11 Feb 2026 17:04:24 GMT referrer-policy=strict-origin-when-cross-origin server=gunicorn strict-transport-security=max-age=31536000; includeSubDomains; preload transfer-encoding=chunked vary=Accept-Encoding via=1.1 2df3825a2dc874fe2f6a21536c6d8f72.cloudfront.net (CloudFront) x-amz-cf-id=rzJ4YmCSYFSeKBtiK_UzT5peoxUENKwJXtdOpf2B9bWc9z3Oacfzhw== x-amz-cf-pop=ZRH52-P1 x-cache=Miss from cloudfront |
|
[td:detail] 2026-02-11T17:04:24.340Z paginate page 1 done | results=87 has_more=false duration_ms=2281 |
|
[td:detail] 2026-02-11T17:04:24.351Z paginate complete | total_results=87 pages_fetched=1 has_more=false |
|
[td:info] 2026-02-11T17:04:24.352Z api.getUser() |
|
[td:info] 2026-02-11T17:04:24.356Z fetch GET /api/v1/user |
|
[td:detail] 2026-02-11T17:04:24.356Z fetch GET https://api.todoist.com/api/v1/user |
|
[td:trace] 2026-02-11T17:04:24.356Z request headers | Content-Type=application/json Authorization=[REDACTED] |
|
[td:info] 2026-02-11T17:04:24.746Z fetch GET /api/v1/user => 200 | duration_ms=390 |
|
[td:trace] 2026-02-11T17:04:24.746Z all response headers | alt-svc=h3=":443"; ma=86400 connection=keep-alive content-encoding=gzip content-type=application/json date=Wed, 11 Feb 2026 17:04:24 GMT referrer-policy=strict-origin-when-cross-origin server=gunicorn strict-transport-security=max-age=31536000; includeSubDomains; preload transfer-encoding=chunked vary=Accept-Encoding via=1.1 3e12e656267276c5b1cf72e129a2193e.cloudfront.net (CloudFront) x-amz-cf-id=xxZctUn6Aj_8J8Lofhf5MYegtEm_HaBDNwBG5HVTzCKCHMeTmLklrA== x-amz-cf-pop=ZRH52-P1 x-cache=Miss from cloudfront x-frame-options=SAMEORIGIN |
|
[td:info] 2026-02-11T17:04:24.756Z api.getUser() response | duration_ms=404 id=50297 |
|
[td:info] 2026-02-11T17:04:24.757Z api.getProjects() |
|
[td:info] 2026-02-11T17:04:24.757Z fetch GET /api/v1/projects |
|
[td:detail] 2026-02-11T17:04:24.757Z fetch GET https://api.todoist.com/api/v1/projects |
|
[td:trace] 2026-02-11T17:04:24.757Z request headers | Content-Type=application/json Authorization=[REDACTED] |
|
[td:info] 2026-02-11T17:04:27.455Z fetch GET /api/v1/projects => 200 | duration_ms=2698 |
|
[td:trace] 2026-02-11T17:04:27.456Z all response headers | alt-svc=h3=":443"; ma=86400 connection=keep-alive content-encoding=gzip content-type=application/json date=Wed, 11 Feb 2026 17:04:27 GMT referrer-policy=strict-origin-when-cross-origin server=gunicorn strict-transport-security=max-age=31536000; includeSubDomains; preload transfer-encoding=chunked vary=Accept-Encoding via=1.1 1b07bab32e93e81199e0f74a9ca61e6a.cloudfront.net (CloudFront) x-amz-cf-id=1o709JeewXI4sm9NYvCv-LO3Ty5UpTzxmbVTaK-RJgZLnCYCAs0pBw== x-amz-cf-pop=ZRH52-P1 x-cache=Miss from cloudfront |
|
[td:info] 2026-02-11T17:04:27.561Z api.getProjects() response | duration_ms=2804 result_count=50 has_more=true next_cursor=qjIyMTU5NDA3Nzc.2xIxr2KRBZMoFEbv |
|
|
|
real 0m17.957s |
|
user 0m5.272s |
|
sys 0m0.477s |
|
|
|
======================================== |
|
=== TEST 2: td today --all -vvvv === |
|
Started: 2026-02-11T18:06:16+01:00 |
|
======================================== |
|
[td:info] 2026-02-11T17:06:27.476Z verbose logging enabled (level=4) |
|
[td:detail] 2026-02-11T17:06:27.481Z initializing TodoistApi client |
|
[td:detail] 2026-02-11T17:06:27.482Z TodoistApi client ready |
|
[td:detail] 2026-02-11T17:06:27.483Z paginate started | limit=9007199254740991 perPage=200 |
|
[td:detail] 2026-02-11T17:06:27.483Z paginate page 1 | page_size=200 cursor=(initial) accumulated=0 |
|
[td:info] 2026-02-11T17:06:27.653Z fetch GET /api/v1/tasks/filter |
|
[td:detail] 2026-02-11T17:06:27.654Z fetch GET https://api.todoist.com/api/v1/tasks/filter?query=today+%7C+overdue&limit=200 |
|
[td:trace] 2026-02-11T17:06:27.654Z request headers | Content-Type=application/json Authorization=[REDACTED] |
|
[td:info] 2026-02-11T17:06:28.926Z fetch GET /api/v1/tasks/filter => 200 | duration_ms=1272 |
|
[td:trace] 2026-02-11T17:06:28.928Z all response headers | alt-svc=h3=":443"; ma=86400 connection=keep-alive content-encoding=gzip content-type=application/json date=Wed, 11 Feb 2026 17:06:28 GMT referrer-policy=strict-origin-when-cross-origin server=gunicorn strict-transport-security=max-age=31536000; includeSubDomains; preload transfer-encoding=chunked vary=Accept-Encoding via=1.1 3e12e656267276c5b1cf72e129a2193e.cloudfront.net (CloudFront) x-amz-cf-id=ihmdC9VNlggcLRZB1jmlIBVwkS3O2Wlz0pkT5div4zeVsNfgbCaa4g== x-amz-cf-pop=ZRH52-P1 x-cache=Miss from cloudfront |
|
[td:detail] 2026-02-11T17:06:29.038Z paginate page 1 done | results=87 has_more=false duration_ms=1554 |
|
[td:detail] 2026-02-11T17:06:29.038Z paginate complete | total_results=87 pages_fetched=1 has_more=false |
|
[td:info] 2026-02-11T17:06:29.044Z api.getUser() |
|
[td:info] 2026-02-11T17:06:29.045Z fetch GET /api/v1/user |
|
[td:detail] 2026-02-11T17:06:29.045Z fetch GET https://api.todoist.com/api/v1/user |
|
[td:trace] 2026-02-11T17:06:29.045Z request headers | Content-Type=application/json Authorization=[REDACTED] |
|
[td:info] 2026-02-11T17:06:29.302Z fetch GET /api/v1/user => 200 | duration_ms=256 |
|
[td:trace] 2026-02-11T17:06:29.302Z all response headers | alt-svc=h3=":443"; ma=86400 connection=keep-alive content-encoding=gzip content-type=application/json date=Wed, 11 Feb 2026 17:06:29 GMT referrer-policy=strict-origin-when-cross-origin server=gunicorn strict-transport-security=max-age=31536000; includeSubDomains; preload transfer-encoding=chunked vary=Accept-Encoding via=1.1 4c908c441c16c2ae0f60f3480e16d480.cloudfront.net (CloudFront) x-amz-cf-id=4oazqRWPeiqBK9R9eqpDuZSDkbDF09bKqJVkGLFJXp3CdOHO6F0a-A== x-amz-cf-pop=ZRH52-P1 x-cache=Miss from cloudfront x-frame-options=SAMEORIGIN |
|
[td:info] 2026-02-11T17:06:29.359Z api.getUser() response | duration_ms=315 id=50297 |
|
[td:info] 2026-02-11T17:06:29.360Z api.getProjects() |
|
[td:info] 2026-02-11T17:06:29.377Z fetch GET /api/v1/projects |
|
[td:detail] 2026-02-11T17:06:29.377Z fetch GET https://api.todoist.com/api/v1/projects |
|
[td:trace] 2026-02-11T17:06:29.377Z request headers | Content-Type=application/json Authorization=[REDACTED] |
|
[td:info] 2026-02-11T17:06:32.559Z fetch GET /api/v1/projects => 200 | duration_ms=3181 |
|
[td:trace] 2026-02-11T17:06:32.559Z all response headers | alt-svc=h3=":443"; ma=86400 connection=keep-alive content-encoding=gzip content-type=application/json date=Wed, 11 Feb 2026 17:06:32 GMT referrer-policy=strict-origin-when-cross-origin server=gunicorn strict-transport-security=max-age=31536000; includeSubDomains; preload transfer-encoding=chunked vary=Accept-Encoding via=1.1 b4404a488b0bf1e6ad3743f3e240e538.cloudfront.net (CloudFront) x-amz-cf-id=X0ZVCwDT9Q-3CWpQuVp0CAJW1smHJ_p3mg8fdMeVJQCTP4usMHqHMQ== x-amz-cf-pop=ZRH52-P1 x-cache=Miss from cloudfront |
|
[td:info] 2026-02-11T17:06:32.775Z api.getProjects() response | duration_ms=3416 result_count=50 has_more=true next_cursor=qjIyMTU5NDA3Nzc.2xIxr2KRBZMoFEbv |
|
|
|
real 0m16.856s |
|
user 0m5.332s |
|
sys 0m0.522s |
|
|
|
======================================== |
|
=== TEST 3: td today --ndjson -vvvv === |
|
Started: 2026-02-11T18:06:33+01:00 |
|
======================================== |
|
[td:info] 2026-02-11T17:06:48.675Z verbose logging enabled (level=4) |
|
[td:detail] 2026-02-11T17:06:48.863Z initializing TodoistApi client |
|
[td:detail] 2026-02-11T17:06:48.864Z TodoistApi client ready |
|
[td:detail] 2026-02-11T17:06:48.864Z paginate started | limit=300 perPage=200 |
|
[td:detail] 2026-02-11T17:06:48.865Z paginate page 1 | page_size=200 cursor=(initial) accumulated=0 |
|
[td:info] 2026-02-11T17:06:49.361Z fetch GET /api/v1/tasks/filter |
|
[td:detail] 2026-02-11T17:06:49.362Z fetch GET https://api.todoist.com/api/v1/tasks/filter?query=today+%7C+overdue&limit=200 |
|
[td:trace] 2026-02-11T17:06:49.362Z request headers | Content-Type=application/json Authorization=[REDACTED] |
|
[td:info] 2026-02-11T17:06:50.732Z fetch GET /api/v1/tasks/filter => 200 | duration_ms=1371 |
|
[td:trace] 2026-02-11T17:06:50.816Z all response headers | alt-svc=h3=":443"; ma=86400 connection=keep-alive content-encoding=gzip content-type=application/json date=Wed, 11 Feb 2026 17:06:50 GMT referrer-policy=strict-origin-when-cross-origin server=gunicorn strict-transport-security=max-age=31536000; includeSubDomains; preload transfer-encoding=chunked vary=Accept-Encoding via=1.1 fff826c4760294142d4ae4bea736a00c.cloudfront.net (CloudFront) x-amz-cf-id=HPfFEcvL_RYX3NH7WXFzSXTvaU0Cb7K9awv7osWzj27rrbuGa3uvvg== x-amz-cf-pop=ZRH52-P1 x-cache=Miss from cloudfront |
|
[td:detail] 2026-02-11T17:06:51.402Z paginate page 1 done | results=87 has_more=false duration_ms=2537 |
|
[td:detail] 2026-02-11T17:06:51.412Z paginate complete | total_results=87 pages_fetched=1 has_more=false |
|
[td:info] 2026-02-11T17:06:51.414Z api.getUser() |
|
[td:info] 2026-02-11T17:06:51.415Z fetch GET /api/v1/user |
|
[td:detail] 2026-02-11T17:06:51.415Z fetch GET https://api.todoist.com/api/v1/user |
|
[td:trace] 2026-02-11T17:06:51.415Z request headers | Content-Type=application/json Authorization=[REDACTED] |
|
[td:info] 2026-02-11T17:06:52.827Z fetch GET /api/v1/user => 200 | duration_ms=1412 |
|
[td:trace] 2026-02-11T17:06:52.831Z all response headers | alt-svc=h3=":443"; ma=86400 connection=keep-alive content-encoding=gzip content-type=application/json date=Wed, 11 Feb 2026 17:06:52 GMT referrer-policy=strict-origin-when-cross-origin server=gunicorn strict-transport-security=max-age=31536000; includeSubDomains; preload transfer-encoding=chunked vary=Accept-Encoding via=1.1 63981dc5d36196bc20dc32938804362e.cloudfront.net (CloudFront) x-amz-cf-id=ebO7vxhAJ40KAChEXYIi0EgQXxbL-2LPOsz8ugAikS8i9VZqaHvBvA== x-amz-cf-pop=ZRH52-P1 x-cache=Miss from cloudfront x-frame-options=SAMEORIGIN |
|
[td:info] 2026-02-11T17:06:52.899Z api.getUser() response | duration_ms=1477 id=50297 |
|
[td:info] 2026-02-11T17:06:52.900Z api.getProjects() |
|
[td:info] 2026-02-11T17:06:52.900Z fetch GET /api/v1/projects |
|
[td:detail] 2026-02-11T17:06:52.900Z fetch GET https://api.todoist.com/api/v1/projects |
|
[td:trace] 2026-02-11T17:06:52.900Z request headers | Content-Type=application/json Authorization=[REDACTED] |
|
[td:info] 2026-02-11T17:06:55.771Z fetch GET /api/v1/projects => 200 | duration_ms=2871 |
|
[td:trace] 2026-02-11T17:06:55.771Z all response headers | alt-svc=h3=":443"; ma=86400 connection=keep-alive content-encoding=gzip content-type=application/json date=Wed, 11 Feb 2026 17:06:55 GMT referrer-policy=strict-origin-when-cross-origin server=gunicorn strict-transport-security=max-age=31536000; includeSubDomains; preload transfer-encoding=chunked vary=Accept-Encoding via=1.1 4c908c441c16c2ae0f60f3480e16d480.cloudfront.net (CloudFront) x-amz-cf-id=7Eo85Xxf4IIr3W4OWMLGYZSAWV9b74jW5Wcskd2DqPfYnR-Kme0KVw== x-amz-cf-pop=ZRH52-P1 x-cache=Miss from cloudfront |
|
[td:info] 2026-02-11T17:06:55.925Z api.getProjects() response | duration_ms=3025 result_count=50 has_more=true next_cursor=qjIyMTU5NDA3Nzc.2xIxr2KRBZMoFEbv |
|
|
|
real 0m22.500s |
|
user 0m5.108s |
|
sys 0m0.546s |
|
|
|
======================================== |
|
=== TEST 4: td today --ndjson --all -vvvv === |
|
Started: 2026-02-11T18:06:56+01:00 |
|
======================================== |
|
[td:info] 2026-02-11T17:07:13.211Z verbose logging enabled (level=4) |
|
[td:detail] 2026-02-11T17:07:13.400Z initializing TodoistApi client |
|
[td:detail] 2026-02-11T17:07:13.401Z TodoistApi client ready |
|
[td:detail] 2026-02-11T17:07:13.406Z paginate started | limit=9007199254740991 perPage=200 |
|
[td:detail] 2026-02-11T17:07:13.406Z paginate page 1 | page_size=200 cursor=(initial) accumulated=0 |
|
[td:info] 2026-02-11T17:07:13.794Z fetch GET /api/v1/tasks/filter |
|
[td:detail] 2026-02-11T17:07:13.795Z fetch GET https://api.todoist.com/api/v1/tasks/filter?query=today+%7C+overdue&limit=200 |
|
[td:trace] 2026-02-11T17:07:13.795Z request headers | Content-Type=application/json Authorization=[REDACTED] |
|
[td:info] 2026-02-11T17:07:15.168Z fetch GET /api/v1/tasks/filter => 200 | duration_ms=1373 |
|
[td:trace] 2026-02-11T17:07:15.176Z all response headers | alt-svc=h3=":443"; ma=86400 connection=keep-alive content-encoding=gzip content-type=application/json date=Wed, 11 Feb 2026 17:07:15 GMT referrer-policy=strict-origin-when-cross-origin server=gunicorn strict-transport-security=max-age=31536000; includeSubDomains; preload transfer-encoding=chunked vary=Accept-Encoding via=1.1 2fea9bb55456bdcc8f2da3765c8fd6ea.cloudfront.net (CloudFront) x-amz-cf-id=MlAS9wvJ3HN5pljuGf759At6P_D9bSRdMcwTd0bNY_H2-lQqgw289g== x-amz-cf-pop=ZRH52-P1 x-cache=Miss from cloudfront |
|
[td:detail] 2026-02-11T17:07:15.561Z paginate page 1 done | results=87 has_more=false duration_ms=2145 |
|
[td:detail] 2026-02-11T17:07:15.561Z paginate complete | total_results=87 pages_fetched=1 has_more=false |
|
[td:info] 2026-02-11T17:07:15.569Z api.getUser() |
|
[td:info] 2026-02-11T17:07:15.572Z fetch GET /api/v1/user |
|
[td:detail] 2026-02-11T17:07:15.572Z fetch GET https://api.todoist.com/api/v1/user |
|
[td:trace] 2026-02-11T17:07:15.572Z request headers | Content-Type=application/json Authorization=[REDACTED] |
|
[td:info] 2026-02-11T17:07:15.935Z fetch GET /api/v1/user => 200 | duration_ms=364 |
|
[td:trace] 2026-02-11T17:07:15.936Z all response headers | alt-svc=h3=":443"; ma=86400 connection=keep-alive content-encoding=gzip content-type=application/json date=Wed, 11 Feb 2026 17:07:15 GMT referrer-policy=strict-origin-when-cross-origin server=gunicorn strict-transport-security=max-age=31536000; includeSubDomains; preload transfer-encoding=chunked vary=Accept-Encoding via=1.1 fff826c4760294142d4ae4bea736a00c.cloudfront.net (CloudFront) x-amz-cf-id=_f8VKjJt_OKi0udTwLfpy87bocm3wfQPDECw4e47x9Kt7B__XqEmUg== x-amz-cf-pop=ZRH52-P1 x-cache=Miss from cloudfront x-frame-options=SAMEORIGIN |
|
[td:info] 2026-02-11T17:07:15.964Z api.getUser() response | duration_ms=393 id=50297 |
|
[td:info] 2026-02-11T17:07:15.964Z api.getProjects() |
|
[td:info] 2026-02-11T17:07:15.965Z fetch GET /api/v1/projects |
|
[td:detail] 2026-02-11T17:07:15.965Z fetch GET https://api.todoist.com/api/v1/projects |
|
[td:trace] 2026-02-11T17:07:15.965Z request headers | Content-Type=application/json Authorization=[REDACTED] |
|
[td:info] 2026-02-11T17:07:18.676Z fetch GET /api/v1/projects => 200 | duration_ms=2710 |
|
[td:trace] 2026-02-11T17:07:18.676Z all response headers | alt-svc=h3=":443"; ma=86400 connection=keep-alive content-encoding=gzip content-type=application/json date=Wed, 11 Feb 2026 17:07:18 GMT referrer-policy=strict-origin-when-cross-origin server=gunicorn strict-transport-security=max-age=31536000; includeSubDomains; preload transfer-encoding=chunked vary=Accept-Encoding via=1.1 e88b7159f8022f6a253ca0d3e23a4574.cloudfront.net (CloudFront) x-amz-cf-id=luRP34XAG_OOZCkGsXVe8C0LnbVbMEgDPEY8qRBEfB1O8Y_whq1yIQ== x-amz-cf-pop=ZRH52-P1 x-cache=Miss from cloudfront |
|
[td:info] 2026-02-11T17:07:18.746Z api.getProjects() response | duration_ms=2782 result_count=50 has_more=true next_cursor=qjIyMTU5NDA3Nzc.2xIxr2KRBZMoFEbv |
|
|
|
real 0m22.827s |
|
user 0m5.150s |
|
sys 0m0.493s |
|
|