{"id":204256,"name":"linux-perf","ecosystem":"hackage","description":"This library is for parsing, representing in Haskell and pretty printing\nthe data file output of the Linux perf command.\nThe perf command provides performance profiling information for\napplications running under the Linux operating system. This information\nincludes hardware performance counters and kernel tracepoints.\n\nModern CPUs can provide information about the runtime behaviour\nof software through so-called hardware performance counters\nhttp://en.wikipedia.org/wiki/Hardware_performance_counter.\nRecent versions of\nthe Linux kernel (since 2.6.31) provide a generic interface\nto low-level events for running processes.\nThis includes access to hardware counters but also a wide array\nof software events such as page faults,\nscheduling activity and system calls. A userspace tool called perf\nis built on top of the kernel interface,\nwhich provides a convenient way to record and view events\nfor running processes.\n\nThe perf tool has many sub-commands which do a variety of things,\nbut in general it has two main purposes:\n\nRecording events.\n\nDisplaying events.\n\nThe perf record command records information about performance\nevents in a file called (by default) perf.data.\nIt is a binary file format which is basically a memory dump\nof the data structures used to record event information.\nThe file has two main parts:\n\nA header which describes the layout of information\nin the file (section sizes, etcetera) and common information\nabout events in the second part of the file (an encoding\nof event types and their names).\n\nThe payload of the file which is a sequence of event records.\n\nEach event field has a header which says what general type of event it is\nplus information about the size of its body.\n\nThere are nine types of event:\n\nPERF_RECORD_MMAP: memory map event.\n\nPERF_RECORD_LOST: an unknown event.\n\nPERF_RECORD_COMM: maps a command name string to a process\nand thread ID.\n\nPERF_RECORD_EXIT: process exit.\n\nPERF_RECORD_THROTTLE:\n\nPERF_RECORD_UNTHROTTLE:\n\nPERF_RECORD_FORK: process creation.\n\nPERF_RECORD_READ:\n\nPERF_RECORD_SAMPLE: a sample of an actual hardware counter\nor a software event.\n\nThe PERF_RECORD_SAMPLE events (samples) are the most interesting\nones in terms of program profiling. The other events\nseem to be mostly useful for keeping track of process technicalities.\nSamples are timestamped with an unsigned 64 bit\nword, which records elapsed nanoseconds since some point in time\n(system running time, based on the kernel scheduler clock).\nSamples have themselves a type which is defined\nin the file header and linked to the sample by an integer identifier.\n\nBelow is an example program which reads a perf.data file and prints out\nthe number of events that it contains.","homepage":"https://github.com/bjpop/haskell-linux-perf","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/bjpop/haskell-linux-perf","keywords_array":["bsd3","debug","development","ghc","library","profiling","program","trace","Propose Tags"],"namespace":null,"versions_count":1,"first_release_published_at":"2012-11-03T10:14:13.000Z","latest_release_published_at":"2012-11-03T10:14:13.000Z","latest_release_number":"0.3","last_synced_at":"2026-04-17T07:08:06.641Z","created_at":"2022-04-05T22:22:20.727Z","updated_at":"2026-04-17T12:51:20.195Z","registry_url":"https://hackage.haskell.org/package/linux-perf","install_command":"cabal install linux-perf","documentation_url":null,"metadata":{},"repo_metadata":{"id":1984053,"uuid":"2915934","full_name":"bjpop/haskell-linux-perf","owner":"bjpop","description":"Haskell library for reading perf.data files from the linux performance events tool.","archived":false,"fork":false,"pushed_at":"2015-07-14T00:13:46.000Z","size":19055,"stargazers_count":15,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-10-21T13:57:16.596Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mikeric/rivets","license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bjpop.png","metadata":{"files":{"readme":"README.ghc-events-perf.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":"2011-12-05T11:03:16.000Z","updated_at":"2022-09-16T07:10:37.000Z","dependencies_parsed_at":"2022-09-09T02:22:54.941Z","dependency_job_id":null,"html_url":"https://github.com/bjpop/haskell-linux-perf","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/bjpop/haskell-linux-perf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjpop%2Fhaskell-linux-perf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjpop%2Fhaskell-linux-perf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjpop%2Fhaskell-linux-perf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjpop%2Fhaskell-linux-perf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bjpop","download_url":"https://codeload.github.com/bjpop/haskell-linux-perf/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjpop%2Fhaskell-linux-perf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280326143,"owners_count":26311602,"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-10-21T02:00:06.614Z","response_time":58,"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"},"owner_record":{"login":"bjpop","name":"Bernie Pope","uuid":"214514","kind":"user","description":"Computer Scientist and Bioinformatician working in human genomics and cancer.","email":"","website":"http://www.berniepope.id.au/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/214514?u=f65c4de24fa8ca98d07ffb8239f4e0ddcb5ff1a5\u0026v=4","repositories_count":42,"last_synced_at":"2023-03-11T00:01:07.876Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/bjpop","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T20:18:49.252Z","updated_at":"2023-03-11T00:01:07.898Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bjpop","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bjpop/repositories"},"tags":[{"name":"v0.3","sha":"589c4269a4e96c55a9db632d7852f9c9015c153c","kind":"commit","published_at":"2012-11-03T10:12:37.000Z","download_url":"https://codeload.github.com/bjpop/haskell-linux-perf/tar.gz/v0.3","html_url":"https://github.com/bjpop/haskell-linux-perf/releases/tag/v0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bjpop/haskell-linux-perf@v0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjpop%2Fhaskell-linux-perf/tags/v0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjpop%2Fhaskell-linux-perf/tags/v0.3/manifests"}]},"repo_metadata_updated_at":"2026-04-17T12:51:20.174Z","dependent_packages_count":0,"downloads":1396,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":68.72836101167772,"dependent_repos_count":55.143477495452146,"dependent_packages_count":12.217592864268529,"stargazers_count":17.851065078340472,"forks_count":21.89425503198169,"average":35.16695029634411},"purl":"pkg:hackage/linux-perf","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/hackage/linux-perf","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/hackage/linux-perf","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/hackage/linux-perf/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-07-19T22:07:36.073Z","issues_count":1,"pull_requests_count":3,"avg_time_to_close_issue":354143.0,"avg_time_to_close_pull_request":1080675.0,"issues_closed_count":1,"pull_requests_closed_count":3,"pull_request_authors_count":2,"issue_authors_count":1,"avg_comments_per_issue":3.0,"avg_comments_per_pull_request":0.3333333333333333,"merged_pull_requests_count":3,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjpop%2Fhaskell-linux-perf/issues","maintainers":[{"login":"Mikolaj","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Mikolaj"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/linux-perf/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/linux-perf/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/linux-perf/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/linux-perf/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/linux-perf/codemeta","maintainers":[{"uuid":"MikolajKonarski","login":"MikolajKonarski","name":null,"email":null,"url":null,"packages_count":29,"html_url":"https://hackage.haskell.org/user/MikolajKonarski","role":null,"created_at":"2022-11-14T18:47:53.686Z","updated_at":"2022-11-14T18:47:53.686Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/MikolajKonarski/packages"}]}