{"id":13826640,"url":"https://github.com/nv/setinterval-sniffer","last_synced_at":"2025-03-26T20:31:08.801Z","repository":{"id":8594233,"uuid":"10229545","full_name":"NV/setInterval-sniffer","owner":"NV","description":"Keep tabs on your uncleared intervals. Hunt down lags and memory leaks.","archived":false,"fork":false,"pushed_at":"2023-04-18T01:14:48.000Z","size":82,"stargazers_count":42,"open_issues_count":0,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-08-04T09:05:39.150Z","etag":null,"topics":["chrome-devtools","chrome-devtools-extension","chrome-extension","debugging-tool","javascript"],"latest_commit_sha":null,"homepage":"https://chrome.google.com/webstore/detail/setinterval-sniffer/odkgihncjgklajjabihpoipfnpcjhdno","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"php-fig/fig-standards","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NV.png","metadata":{"files":{"readme":"README.mdown","changelog":null,"contributing":null,"funding":null,"license":"MIT-LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2013-05-22T20:57:02.000Z","updated_at":"2024-06-06T07:21:59.000Z","dependencies_parsed_at":"2022-08-27T17:00:47.248Z","dependency_job_id":"5c76aa87-377e-43e6-8598-b7bcb8a04a3e","html_url":"https://github.com/NV/setInterval-sniffer","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NV%2FsetInterval-sniffer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NV%2FsetInterval-sniffer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NV%2FsetInterval-sniffer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NV%2FsetInterval-sniffer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NV","download_url":"https://codeload.github.com/NV/setInterval-sniffer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222167534,"owners_count":16942275,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chrome-devtools","chrome-devtools-extension","chrome-extension","debugging-tool","javascript"],"created_at":"2024-08-04T09:01:41.676Z","updated_at":"2024-10-30T05:08:22.853Z","avatar_url":"https://github.com/NV.png","language":"JavaScript","readme":"# setInterval sniffer\n\n![Chrome DevTools Timers panel](http://nv.github.io/setInterval-sniffer/setInterval-sniffer.png)\n\n## This no longer works\n\nIf you relly want to see this extension, consider sponsoring my projects.\n\n## Install\n\nFrom [Chrome App Store](https://chrome.google.com/webstore/detail/setinterval-sniffer/odkgihncjgklajjabihpoipfnpcjhdno) or from the repository:\n\n  * chrome://extensions/\n  * Turn on \"Developer mode\" checkbox\n  * Click \"Load unpacked extension...\" button\n  * Select `setInterval-sniffer/chrome` folder\n\n## How does it work\n\nThe sniffer monkey patch (extend without altering the original source code) setInterval method:\n\n```javascript\nvar originalSetInterval = window.setInterval;\nwindow.setInterval = function(fn, time) {\n\tvar id = originalSetInterval(fn, time);\n\tpost({\n\t\tfunctionName: 'setInterval',\n\t\tfn: fn.toString(),\n\t\tid: id,\n\t\ttime: time\n\t});\n\treturn id;\n};\n```\n\n## Roadmap\n\n  * Don't stop sniffing on page reload\n  * Button to kill an interval in Timers panel\n  * Add stacktrace data using the technic from [captureCalls.js](https://github.com/NV/captureCalls.js)\n  * Display setTimeout too, visually separate them from setInterval\n  * Make it prettier\n","funding_links":[],"categories":["\u003ca id=\"7bf0f5839fb2827fdc1b93ae6ac7f53d\"\u003e\u003c/a\u003e工具"],"sub_categories":["\u003ca id=\"32739127f0c38d61b14448c66a797098\"\u003e\u003c/a\u003e嗅探\u0026\u0026Sniff"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnv%2Fsetinterval-sniffer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnv%2Fsetinterval-sniffer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnv%2Fsetinterval-sniffer/lists"}