{"id":13989690,"url":"https://github.com/AsyncOptics/async-optics","last_synced_at":"2025-07-22T11:31:10.009Z","repository":{"id":57185696,"uuid":"125668267","full_name":"AsyncOptics/async-optics","owner":"AsyncOptics","description":"A node asynchronous process and package monitor","archived":false,"fork":false,"pushed_at":"2018-04-12T16:32:50.000Z","size":4439,"stargazers_count":200,"open_issues_count":1,"forks_count":12,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-06-16T23:47:44.628Z","etag":null,"topics":["asynchronous","d3","javascript","monitoring","node-module","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AsyncOptics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-17T20:55:13.000Z","updated_at":"2025-02-28T03:02:19.000Z","dependencies_parsed_at":"2022-09-06T04:11:36.782Z","dependency_job_id":null,"html_url":"https://github.com/AsyncOptics/async-optics","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AsyncOptics/async-optics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsyncOptics%2Fasync-optics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsyncOptics%2Fasync-optics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsyncOptics%2Fasync-optics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsyncOptics%2Fasync-optics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AsyncOptics","download_url":"https://codeload.github.com/AsyncOptics/async-optics/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsyncOptics%2Fasync-optics/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266483552,"owners_count":23936366,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["asynchronous","d3","javascript","monitoring","node-module","nodejs"],"created_at":"2024-08-09T13:01:57.683Z","updated_at":"2025-07-22T11:31:07.614Z","avatar_url":"https://github.com/AsyncOptics.png","language":"JavaScript","readme":"\u003cimg src=\"readme/new-logo.png\" width=\"400\"/\u003e\n\n[![npm version](https://badge.fury.io/js/async-optics.svg)](https://badge.fury.io/js/async-optics)\n\nAsyncOptics is an asynchronous code viewer, performance monitor, and package monitor for Node.js and Mongodb applications. It is able to track and monitor asynchronous processes with Node.js' Async Hooks and Perf Hooks. The aggregated information is displayed in a Sankey diagram with hierarchical behavior of asynchronous functions and as a Sunburst graph for information of package monitoring. The Sankey diagram handles real-time changes for live testing and allows hovering capabilities to show specific information on desired functions on a lower panel.  \n\n### Installation\n\n- `npm i async-optics`\n\n### How to use\n\n```\nconst {asyncMonitor, pkgMonitor} = require('async-optics');\nasyncMonitor(PortNumber);      // default 3000\npkgMonitor(complete path to package.json file);\n```\n- run your program, go to http://localhost:PortNumber\n\n\n### Demo\n* async monitor\n\u003cimg src=\"readme/async.gif\" width=\"700\"/\u003e\n\n* pkg monitor\n\u003cimg src=\"readme/pm.gif\" width=\"700\"/\u003e\n\n\n## Contributing\n\nThis is an open source product, please feel free to fork and make pull requests!\n\nAny suggestions are welcomed!\n\n## Authors\n\n[Aleksander Turberville](https://github.com/Aturberv) | [Sarah Renshaw](https://github.com/sartra) | [Penghe Wu](https://github.com/wupenghe92) | [Ralph Salazar](https://github.com/pjr4lph)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details\n\n## Acknowledgments\n* Our Sankey diagram was built with the [Styled Sankey library](https://github.com/northam/styled_sankey/) built by [Eugene Kardash](https://github.com/northam)\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAsyncOptics%2Fasync-optics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAsyncOptics%2Fasync-optics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAsyncOptics%2Fasync-optics/lists"}