{"id":24256094,"url":"https://github.com/kdablabs/ctf2ctf","last_synced_at":"2025-09-23T19:30:31.323Z","repository":{"id":45914559,"uuid":"178411304","full_name":"KDABLabs/ctf2ctf","owner":"KDABLabs","description":"Common Trace Format to Chrome Trace Format converter","archived":false,"fork":false,"pushed_at":"2024-06-21T09:33:17.000Z","size":282,"stargazers_count":20,"open_issues_count":10,"forks_count":10,"subscribers_count":32,"default_branch":"master","last_synced_at":"2024-06-23T02:13:42.197Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KDABLabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.GPL.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-03-29T13:33:46.000Z","updated_at":"2024-06-21T09:33:20.000Z","dependencies_parsed_at":"2022-08-31T12:40:41.730Z","dependency_job_id":null,"html_url":"https://github.com/KDABLabs/ctf2ctf","commit_stats":null,"previous_names":["kdablabs/ctf2ctf","kdab/ctf2ctf"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KDABLabs%2Fctf2ctf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KDABLabs%2Fctf2ctf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KDABLabs%2Fctf2ctf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KDABLabs%2Fctf2ctf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KDABLabs","download_url":"https://codeload.github.com/KDABLabs/ctf2ctf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233993696,"owners_count":18762814,"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":"2025-01-15T04:47:08.154Z","updated_at":"2025-09-23T19:30:25.957Z","avatar_url":"https://github.com/KDABLabs.png","language":"C++","readme":"# ctf2ctf - convert Common Trace Format to Chrome Trace Format\n\nThis little utility takes CTF trace data as recorded by e.g. LTTng\nand converts it to the JSON Chrome Trace Format. Not only that,\nit also adds some interpretation and extends the raw event data\nto make the result much more useful.\n\nTo run:\n\n```\n./ctf2ctf path/to/lttng-trace | gzip \u003e trace.json.gz\n```\n\nThen open chromium and go to [chrome://tracing](chrome://tracing)\nand open the `trace.json.gz` file.\n\n## Notable features\n\n- global statistics over time:\n  - CPU utilization: how many processes/threads are running in parallel\n  - CPU state: which process is run on a given CPU\n-- CPU frequency: at what frequency is a given CPU running\n  - kernel memory: how much memory is allocated by the kernel\n  - per-process memory: how large is the anon mmap region of a process\n- per thread timelines with stacked begin/end events\n- event metadata mapping:\n  - page fault address to file\n  - syscall `fd` to file\n  - support for vpid and vtid for UST traces\n- filter results by process name or process id\n- filter results by time\n\n## Begin/Exit Events\n\nEvents names that end with `_entry` are considered to be *Begin Events*\nand need to be followed by an *Exit Event* ending with `_exit`. Alternatively,\nthe names can contain `_begin_` or `_before_` for the *Begin Events* and\n`_end_` or `_after` for the *Exit Events*.\n\nFor LTTng-ust tracef events, the first space-delimited word is taken as the\nevent name, if it matches one of the patterns above. For this to work, you'll\nneed to patch babeltrace with https://github.com/efficios/babeltrace/pull/98.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkdablabs%2Fctf2ctf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkdablabs%2Fctf2ctf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkdablabs%2Fctf2ctf/lists"}