{"id":21594517,"url":"https://github.com/trigersoft/ux-profiler","last_synced_at":"2026-01-03T23:05:44.654Z","repository":{"id":32896949,"uuid":"36491543","full_name":"TrigerSoft/ux-profiler","owner":"TrigerSoft","description":null,"archived":false,"fork":false,"pushed_at":"2015-06-08T22:26:47.000Z","size":184,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-19T16:28:55.009Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TrigerSoft.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}},"created_at":"2015-05-29T08:31:43.000Z","updated_at":"2017-10-09T07:54:36.000Z","dependencies_parsed_at":"2022-09-05T23:11:47.805Z","dependency_job_id":null,"html_url":"https://github.com/TrigerSoft/ux-profiler","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrigerSoft%2Fux-profiler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrigerSoft%2Fux-profiler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrigerSoft%2Fux-profiler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrigerSoft%2Fux-profiler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TrigerSoft","download_url":"https://codeload.github.com/TrigerSoft/ux-profiler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244207144,"owners_count":20416092,"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":[],"created_at":"2024-11-24T17:18:45.868Z","updated_at":"2026-01-03T23:05:44.593Z","avatar_url":"https://github.com/TrigerSoft.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# ux-profiler\n\nThis project is part of TrigerSoft product line. ux-profiler is a chrome \u003ca title=\"open extension page\" target=\"_blank\" href=\"https://chrome.google.com/webstore/detail/ux-profiler/pbggladnflcdnacpafmaahjemhnjmpjc\"\u003ebrowser extension\u003c/a\u003e.\n\n* [What is ux-profiler useful for?](#what-is-ux-profiler-useful-for)\n* [Non-goals](#non-goals)\n* [User Transaction column description](#user-transaction-columns)\n* [What kind of events are tracked?](#what-kind-of-events-are-tracked)\n* [What kind of events are not tracked?](#what-kind-of-events-are-not-tracked)\n\n### What is ux-profiler useful for?\n\n1. The first purpose of ux-profiler is to answer a question: *\"How much time does it take the user to perform an action?\"*. When an action involves network requests, timeouts, requires etc, it's not simple to track these and see the whole picture. ux-profiler does exactly that, tracks and groups related operations and shows them graphicaly, calling them \"User Transactions\".\n\n2. The second purpose of ux-profiler is to profile operations that are processed too long. Just add an operation to Profiles and re-run the \"User Transaction\". The profiling session of the specified operation and only it will be created under Profiles Chrome tab.\n \n### Non-goals\n\n* ux-profiler is not a precise logging tool. For example, very short events are filtered out with a single idea in mind - focus on things that really affect UX. As a result, sometimes an operation times do not equal to sum of its children. We choose to calculate times before the filter is applied, so they are accurate.\n\n\n### User Transaction columns\n\n* **User Time**: Total time elapsed to perform an operation and its \"children\" from user perspective.\n* **Self/Total Time**: Self/Total processing (JavaScript execution) time, without delays and waits.\n* **Delay From Parent**: For a child operation, time elapsed since the parent operation ended. Can be negative for the nested events.\n*  **Delay From Invocation**: For a child asynchronous operation, time elapsed since the request (timeout/network/...).\n*  **Exception**: Boolean indicating whether an exception was thrown during processing.\n*  **Timeline**: Graphical relative timeline, useful for comparison of different operations in the __same user transaction__. Each line includes:\n * _**Delay**_\n * _**Self Work Time**_\n * _**Children User Time**_\n \n In total, 3 these constitute the user time of an operation and its children.\n\n### What kind of events are tracked?\n\n* Any browser events, that are listened using \u003ca href=\"https://jquery.com\" target=\"_blank\"\u003eJQuery\u003c/a\u003e API, e.g. `$(...).click()`. Calling `\u003celement\u003e.addEventListener` directly is not supported.\n* XmlHttpRequests (XHR)\n* \u003ca href=\"https://github.com/amdjs/amdjs-api/blob/master/AMD.md\" target=\"_blank\"\u003eAMD\u003c/a\u003e require/requirejs\n* timeouts \u003c 1000ms\n\n### What kind of events are *not* tracked?\n\n* Direct `\u003celement\u003e.addEventListener`.\n* setTimeout with timeout \u003e= 1000 ms. If used, is not considered is as part of a user transaction.\n* setInterval - if used, is not considered is as part of a user transaction.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrigersoft%2Fux-profiler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrigersoft%2Fux-profiler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrigersoft%2Fux-profiler/lists"}