{"id":28961739,"url":"https://github.com/getappmap/appmap-cli","last_synced_at":"2025-07-28T14:07:44.303Z","repository":{"id":54884214,"uuid":"321753986","full_name":"getappmap/appmap-cli","owner":"getappmap","description":null,"archived":false,"fork":false,"pushed_at":"2021-01-22T14:00:59.000Z","size":48,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-24T02:04:50.150Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/getappmap.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-15T18:26:34.000Z","updated_at":"2022-01-19T01:51:20.000Z","dependencies_parsed_at":"2022-08-14T05:40:42.847Z","dependency_job_id":null,"html_url":"https://github.com/getappmap/appmap-cli","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/getappmap/appmap-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getappmap%2Fappmap-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getappmap%2Fappmap-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getappmap%2Fappmap-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getappmap%2Fappmap-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/getappmap","download_url":"https://codeload.github.com/getappmap/appmap-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getappmap%2Fappmap-cli/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267527835,"owners_count":24102019,"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-07-28T02:00:09.689Z","response_time":68,"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":"2025-06-24T02:04:49.481Z","updated_at":"2025-07-28T14:07:44.258Z","avatar_url":"https://github.com/getappmap.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Installation\nPre-built binaries are available [here](https://github.com/applandinc/appmap-cli/releases).\n\n# Usage\n```sh\n$ appmap\nUsage: appmap [options] [command]\n\nOptions:\n  -V, --version           output the version number\n  -h, --help              display help for command\n\nCommands:\n  prune [options] \u003cfile\u003e  parse an appmap file from url\n  help [command]          display help for command\n```\n\n## Pruning\n`prune` will remove large event types to meet a maximum size requirement.\n```sh\nUsage: appmap prune [options] \u003cinput\u003e \u003csize\u003e\n\nprune an appmap file down to the given size (if applicable)\n\nOptions:\n  -o, --output-dir \u003cdir\u003e  specify the output directory (default: \".\")\n  -h, --help              display help for command\n```\n\nExample:\n```sh\n$ appmap prune appland.results.json 2MB\n```\n\n### How it works\nPruning works by finding the most repetitive calls within a given \"chunk\" and\nremoving events associated with those calls. A chunk is defined as a group of\nlogic, consisting of one or more full call stacks. Boundaries of these chunks\nare created around application entrypoints such as inbound HTTP request.\n\nAn example list of chunks is provided below:\n```\nHTTP request - GET /user\nBackground thread processing\nHTTP request - PUT /user\nBackground thread processing\nHTTP request - GET /\n```\n\nFor each chunk, aggregate the total number of unique events. Starting from the\nmost repetitive event type, remove instances of that event until the size of the\nchunk (in byte) is less than:\n```\nrequested size / total event array size * starting chunk size\n```\n\nIn essence, we're calculating a unique exclusion list for each chunk. This\nprevents an excessively noisy or repetitive call stack in one area of execution\nfrom affecting the results of unrelated areas of execution.\n\nNon-application events such as HTTP requests and SQL queries will always be\nretained. This means that the end result can never be smaller than the total\nsize of these events combined.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetappmap%2Fappmap-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgetappmap%2Fappmap-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetappmap%2Fappmap-cli/lists"}