{"id":21530680,"url":"https://github.com/xoofx/ultra","last_synced_at":"2025-10-07T21:26:22.427Z","repository":{"id":263424092,"uuid":"890279592","full_name":"xoofx/ultra","owner":"xoofx","description":"An advanced profiler for .NET Applications on Windows","archived":false,"fork":false,"pushed_at":"2024-12-27T09:33:53.000Z","size":9409,"stargazers_count":1026,"open_issues_count":12,"forks_count":14,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-13T15:00:02.883Z","etag":null,"topics":["dotnet","etw","profiler"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xoofx.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"license.txt","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},"funding":{"github":["xoofx"]}},"created_at":"2024-11-18T09:56:16.000Z","updated_at":"2025-04-13T12:52:24.000Z","dependencies_parsed_at":"2024-11-18T14:17:18.645Z","dependency_job_id":"0e3aa471-40bc-44c0-ba2d-d1dbf92f0c0c","html_url":"https://github.com/xoofx/ultra","commit_stats":null,"previous_names":["xoofx/ultra"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoofx%2Fultra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoofx%2Fultra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoofx%2Fultra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoofx%2Fultra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xoofx","download_url":"https://codeload.github.com/xoofx/ultra/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248732475,"owners_count":21152851,"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":["dotnet","etw","profiler"],"created_at":"2024-11-24T02:09:44.515Z","updated_at":"2025-10-07T21:26:17.376Z","avatar_url":"https://github.com/xoofx.png","language":"C#","funding_links":["https://github.com/sponsors/xoofx"],"categories":["Benchmarking","Performance tools"],"sub_categories":["Profiling"],"readme":"# Ultra [![ci](https://github.com/xoofx/ultra/actions/workflows/ci.yml/badge.svg)](https://github.com/xoofx/ultra/actions/workflows/ci.yml) [![NuGet](https://img.shields.io/nuget/v/Ultra.svg)](https://www.nuget.org/packages/Ultra/)\n\n\u003cimg align=\"right\" width=\"160px\" height=\"160px\" src=\"https://raw.githubusercontent.com/xoofx/ultra/main/img/ultra.png\"\u003e\n\nUltra is an advanced profiler for .NET Applications available on Windows.\n\n\u003e 📽️ Check this [video](https://vimeo.com/1030852299) for a quick tour of ultra! 📽️\n\n## ✨ Features\n\n- ETW based **sampling profiler** - up to 8190 samples/second\n- UI based on https://profiler.firefox.com/\n  - Traces shareable online: Check this example: ✨ https://share.firefox.dev/3Cya7YW ✨\n  - **Timeline** visualization\n  - **Flamegraph / Stack Chart** visualization\n  - **Call Tree** visualization\n  - **Marker Chart** and **Marker Table** visualization  \n- Precise **kernel**, **native** and **managed** **function call stacks**\n- Categorization of functions: \n  - `.NET`, `.NET JIT`, `.NET GC`, `.NET CLR`, `Native`, `Kernel`\n- .NET GC Memory track\n- JIT Compile Time Event Markers\n  - See which function is getting compiled\n- GC Events Markers\n  - `GC Allocation Ticks`: Details about allocations. \n  - `GCHeapStats`: Statistics about the GC\n  - `GCSuspendEE`, `GCRestartEE`, `GC Start`, `GC Stop` events\n- Lightweight trace files - e.g. Generates only a few MB for 10s\n- Requires `net8.0+` via dotnet global tool\n\n|Screenshot of a trace generated by ultra visualized with https://profiler.firefox.com. Check this trace online [here](https://share.firefox.dev/3Cya7YW)! |\n|-----|\n|![Profile Screenshot](./doc/profile_example.png)|\n\n## 🧑‍💻 Usage\n\nYou need to have installed a [.NET 8.0+ SDK](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)\n\n```console\n$ dotnet tool install -g Ultra # The command ultra.exe will be available from your PATH\n```\n\n\u003e ____\n\u003e 🚨 The profiler **requires to run from an elevated prompt with administrative rights** 🚨 \n\u003e\n\u003e _This is required to allow to collect full stack traces, including kernel and native functions._\n\u003e ____\n\nExample: open a **terminal with administrative rights**, to profile an executable called `my_commands.exe`:\n\n```console\n$ ultra.exe profile -- my_command.exe arg0 arg1 arg2...\n```\n\n\u003e ⚠️ Notice the `--` separator to separate the arguments to `ultra.exe` from the arguments to the profiled application.\n\nProfiling a running application just requires the PID of the process to profile:\n\n```console\n$ ultra.exe profile 15243 # PID of the process to profile\n# Wait for a bit and press only one CTRL+C to stop the profiling\n```\n\n## 📖 User Guide\n\nFor more details on how to use Ultra, please visit the [user guide](https://github.com/xoofx/Ultra/blob/main/doc/readme.md).\n\n## 🪪 License\n\nThis software is released under the [BSD-2-Clause license](https://opensource.org/licenses/BSD-2-Clause). \n\n## 🤗 Author\n\nAlexandre Mutel aka [xoofx](https://xoofx.github.io).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxoofx%2Fultra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxoofx%2Fultra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxoofx%2Fultra/lists"}