{"id":49848174,"url":"https://github.com/capsadmin/luajit-profiler","last_synced_at":"2026-05-14T13:07:47.515Z","repository":{"id":340945713,"uuid":"1168295371","full_name":"CapsAdmin/luajit-profiler","owner":"CapsAdmin","description":"outputs an interactive but static html page to view trace and sample profiling results from luajit","archived":false,"fork":false,"pushed_at":"2026-03-11T11:09:59.000Z","size":654,"stargazers_count":25,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-11T17:48:47.143Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","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/CapsAdmin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-27T08:16:54.000Z","updated_at":"2026-03-11T17:33:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/CapsAdmin/luajit-profiler","commit_stats":null,"previous_names":["capsadmin/luajit-profiler"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CapsAdmin/luajit-profiler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CapsAdmin%2Fluajit-profiler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CapsAdmin%2Fluajit-profiler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CapsAdmin%2Fluajit-profiler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CapsAdmin%2Fluajit-profiler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CapsAdmin","download_url":"https://codeload.github.com/CapsAdmin/luajit-profiler/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CapsAdmin%2Fluajit-profiler/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33026113,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","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":[],"created_at":"2026-05-14T13:07:37.037Z","updated_at":"2026-05-14T13:07:47.465Z","avatar_url":"https://github.com/CapsAdmin.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"A luajit profiler that builds an interactive html page. It combines the output of jit.attach and jit.profile to give you a sense of how well or not well your luajit application compiles. \n\ncheckout a demo: https://capsadmin.github.io/luajit-profiler (this is from running the test suite in [NattLua](https://github.com/CapsAdmin/NattLua))\n\n- The profiling is continious, so you can refresh the static html page to get updates while it's running in the background\n- You click on file paths to open them in your editor, assuming your editor supports uri schemes.\n- Flamegraph view for the current time span view you're seeing\n- You can select the time span you want to focus on\n- Easily filter through traces and trace aborts\n\nI'm looking for some feedback, especially when it comes to the UI design. The HTML portion is mostly vibe coded, though with extensive design feedback, so it's a bit hard to maintain by humans. I have mostly tested this on sessions that about ~20 seconds. I'm not sure how it scales to many minutes of data or even hours..\n\n```lua\nlocal Profiler = require('profiler')\n-- config is optional, all values are default\nlocal p = Profiler.New({\n    path = \"./output.html\",\n    file_url = \"vscode://file/${path}:${line}:1\",\n    flush_interval = 3, -- in seconds\n    sampling_rate = 1, -- the jit profiler sampling rate in ms\n    depth = 500, -- the depth of the callstack when the jit profiler interupts. should be high for a detailed flamegraph.\n}) \ndo\n    -- some expensive code here\n\n    p:StartSection(\"foo\")\n    -- something else here\n    p:StopSection()\nend\np:Stop()\n```\n\n\u003cimg width=\"812\" height=\"1070\" alt=\"image\" src=\"https://github.com/user-attachments/assets/d83823d0-e312-4f67-9801-7d7eea133755\" /\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapsadmin%2Fluajit-profiler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcapsadmin%2Fluajit-profiler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapsadmin%2Fluajit-profiler/lists"}