{"id":19592850,"url":"https://github.com/cleafy/promqueen","last_synced_at":"2025-04-27T14:33:53.426Z","repository":{"id":47539326,"uuid":"103941323","full_name":"Cleafy/promqueen","owner":"Cleafy","description":"prometheus offline data recorder and backfiller","archived":false,"fork":false,"pushed_at":"2023-08-07T08:26:43.000Z","size":65,"stargazers_count":123,"open_issues_count":4,"forks_count":15,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-05T00:51:15.669Z","etag":null,"topics":["devops","devops-tools","go","golang","prometheus","prometheus-metrics","prometheus-monitoring-solution","prometheus-utility","recorder","replayer"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Cleafy.png","metadata":{"files":{"readme":"README.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-18T13:17:20.000Z","updated_at":"2025-04-04T11:50:15.000Z","dependencies_parsed_at":"2024-06-18T22:33:19.349Z","dependency_job_id":"325e29c3-4341-451d-b835-f89e32718565","html_url":"https://github.com/Cleafy/promqueen","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cleafy%2Fpromqueen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cleafy%2Fpromqueen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cleafy%2Fpromqueen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cleafy%2Fpromqueen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cleafy","download_url":"https://codeload.github.com/Cleafy/promqueen/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251154824,"owners_count":21544563,"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":["devops","devops-tools","go","golang","prometheus","prometheus-metrics","prometheus-monitoring-solution","prometheus-utility","recorder","replayer"],"created_at":"2024-11-11T08:37:11.415Z","updated_at":"2025-04-27T14:33:52.382Z","avatar_url":"https://github.com/Cleafy.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PromQueen\n**PromQueen** made possible to record _prometheus_ metrics offline.\n**PromQueen** can, therefore, backfill the recorded data inside a native _prometheus_ database.\n\n**PromQueen** is composed of two primary tools:\n\n- `promrec` tapes the metrics in a specified output file.\n- `promplay` backfills the _prometheus_ database from scratch.\n\n## Build instructions (Linux/OSX)\n\nClone this repository in your **$GOPATH**:\n\n```\n$ mkdir -p $GOPATH/src/github.com/Cleafy\n$ cd $GOPATH/src/github.com/Cleafy\n$ git clone https://github.com/Cleafy/promqueen.git\n```\n\nUse Go package manager ***dep*** to install the required dependencies:\n\n```\n$ cd $GOPATH/src/github.com/Cleafy/promqueen\n$ dep ensure\n```\n\nTo build `promrec`:\n\n```\n$ cd $GOPATH/src/github.com/Cleafy/promqueen/bin/promrec\n$ go build\n```\n\nTo build `promplay`:\n\n```\n$ cd $GOPATH/src/github.com/Cleafy/promqueen/bin/promplay\n$ go build\n```\n\n## Usage\n\n### PromREC\n\n```\nusage: promrec [\u003cflags\u003e]\n\nFlags:\n      --help              Show context-sensitive help (also try --help-long and --help-man).\n      --debug             Enable debug mode.\n      --gzip              Enable gzip mode.\n  -i, --interval=60s      Timeout waiting for ping.\n  -u, --umap=UMAP ...     stringmap [eg. service.name=http://get.uri:port/uri].\n  -o, --output=\"metrics\"  Output file.\n      --version           Show application version.\n```\n\n### PromPLAY\n\n```\nusage: promplay [\u003cflags\u003e]\n\nFlags:\n      --help                 Show context-sensitive help (also try --help-long and --help-man).\n      --debug                Enable debug mode. (VERY VERBOSE!)\n      --verbose (-v)         Enable info-level message\n      --nopromcfg            Disable the generation of the prometheus cfg file (prometheus.yml)\n  -d, --dir=\"/tmp\"           Input directory.\n      --version              Show application version.\n      --storage.path=\"data\"  Directory path to create and fill the data store under.\n      --storage.retention-period=360h\n                             Period of time to store data for\n      --storage.checkpoint-interval=30m\n                             Period of time to store data for\n      --storage.checkpoint-dirty-series-limit=10000\n                             Period of time to store data for\n```\n\n### Environment variables\n\n```PROM_ARGS```: The argument for the promqueen service. Output, interval and at least one service is mandatory. \n  - E.g. --output=/var/log/promqueen/metrics/metrics.prom --interval=30s -u serviceName1=URL1 -u serviceName2=URL2 ...\n\n\n```ROTATION_FILE_LOG```: where the rotation should occurr. Must be the same of the \"output\" parameter in PROM_ARGS\n\n\n```ROTATION_PERIOD```: how frequently a rotation will occurr. Default: \"daily\"\n\n```ROTATION_COUNT```: how many rotation will be retained. Default: 10\n \n```ROTATION_SIZE```: how big each rotation file will be in bytes. -1 means no limit. Default: -1. E.g. 100M\n\n\n```\ndocker run -d --network=host --name promqueen \\\n-e ROTATION_FILE_LOG=\"/var/log/promqueen/metrics/metrics.prom\" \\\n-e PROM_ARGS=\"--output=/var/log/promqueen/metrics/metrics.prom --interval=30s -u service1=URL1 -u service2=URL2\" \\\n promqueen_image\n```\n\n### Notes\n\nAs of today **PromQueen** only supports backfilling inside _prometheus_ local storage. New storage types such as influxdb are not supported.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcleafy%2Fpromqueen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcleafy%2Fpromqueen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcleafy%2Fpromqueen/lists"}