{"id":19607062,"url":"https://github.com/bookingcom/carbonapi","last_synced_at":"2025-04-05T10:10:02.445Z","repository":{"id":33408266,"uuid":"151075425","full_name":"bookingcom/carbonapi","owner":"bookingcom","description":"High-performance Graphite frontend in Go","archived":false,"fork":false,"pushed_at":"2025-03-24T10:27:58.000Z","size":29422,"stargazers_count":81,"open_issues_count":50,"forks_count":23,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-29T09:09:18.735Z","etag":null,"topics":["go","golang","graphite","metrics","monitoring","timeseries"],"latest_commit_sha":null,"homepage":"","language":"Go","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/bookingcom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.txt","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-01T11:08:26.000Z","updated_at":"2025-02-01T17:44:55.000Z","dependencies_parsed_at":"2023-12-20T13:37:43.869Z","dependency_job_id":"8551c645-2f2a-4f76-b9bb-ab15542763df","html_url":"https://github.com/bookingcom/carbonapi","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bookingcom%2Fcarbonapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bookingcom%2Fcarbonapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bookingcom%2Fcarbonapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bookingcom%2Fcarbonapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bookingcom","download_url":"https://codeload.github.com/bookingcom/carbonapi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247318745,"owners_count":20919484,"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":["go","golang","graphite","metrics","monitoring","timeseries"],"created_at":"2024-11-11T10:08:38.192Z","updated_at":"2025-04-05T10:10:02.418Z","avatar_url":"https://github.com/bookingcom.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Carbonapi: high-performance Graphite front-end\n\n[![Build Status](https://travis-ci.com/bookingcom/carbonapi.svg?branch=master)](https://travis-ci.com/bookingcom/carbonapi)\n[![Go Report Card](https://goreportcard.com/badge/github.com/bookingcom/carbonapi)](https://goreportcard.com/report/github.com/bookingcom/carbonapi)\n\nCarbonapi is a Go-based Graphite frontend. It provides two binaries,\n`carbonapi` and `carbonzipper`, that unify responses from multiple Graphite\nbackends and provide math and graphing functions.\n\nThis project is run in production at Booking.com. We are in the process of\ndocumenting its installation and setup, but can answer any questions that\ninterested persons have.\n\nCarbonAPI supports a significant subset of graphite functions; see\n[COMPATIBILITY](COMPATIBILITY.md). In our testing it has shown to be 5x-10x\nfaster than requesting data from graphite-web.\n\n## Build\n\nTo build both the `carbonapi` and `carbonzipper` binaries, run:\n\n```\nmake\n```\n\nTo build the binaries with debug symbols, run:\n\n```\nmake debug\n```\n\n**Note**: build process might require pkg-config to be installed:\n\n### Mac OS X\n\nfind pkg-config version on you want to install and run script below with replaced \"VERSION_TO_INSTALL\":\n```\nPKG_CONFIG_VERSION=\"VERSION_TO_INSTALL\" bash -c 'curl https://pkgconfig.freedesktop.org/releases/pkg-config-$PKG_CONFIG_VERSION.tar.gz -o pkgconfig.tgz'\nmkdir pkg-config \u0026\u0026 tar -zxf pkgconfig.tgz -C pkg-config --strip-components 1 \u0026\u0026 cd pkg-config\n```\nThere is a circular dependency between pkg-config and glib. To break it, pkg-config includes a version of glib, which is enough to break the dependency cycle and compile it with  --with-internal-glib key:\n\n```\nenv LDFLAGS=\"-framework CoreFoundation -framework Carbon\" ./configure --with-internal-glib \u0026\u0026 make install\n```\n\nWe do not provide packages for install at this time. Contact us if you're\ninterested in those.\n\n## Run\n\nRun the full stack `carbonapi` -\u003e `zipper` -\u003e `go-carbon` with:\n\n```\ndocker-compose up\n```\n\nYou can feed in sample data with:\n\n```\necho \"test.test 5 `date +%s`\" | nc -c localhost 2003\n```\n\nand get it back with:\n\n```\ncurl 'http://localhost:8081/render?target=test.test\u0026format=json\u0026from=-10m'\n```\n\n## Requirements\n\nWe officially support `go 1.19`.\n\n## OSX Build Notes\n\nSome additional steps may be needed to build carbonapi with cairo rendering on\nMacOSX.\n\nInstall cairo:\n\n```\nbrew install Caskroom/cask/xquartz\n\nbrew install cairo\n```\n\nXquartz is a required dependency for cairo.\n\n## Backend support\n\n### go-carbon\n\nThe main supported backend is [go-carbon](https://github.com/go-graphite/go-carbon) Graphite store.\n\n## Acknowledgement and history\n\nThis program was originally developed for Booking.com. With approval\nfrom Booking.com, the code was generalised and published as Open Source\non GitHub, for which the author would like to express his gratitude.\n\nThis is Booking.com's fork of\n[go-graphite/carbonapi](https://github.com/go-graphite/carbonapi).\nThat project's current performance characteristics are not sufficient for our\nproduction needs, and we decided it had moved too far ahead for us to be able\nto improve them effectively. We thus reverted back to versions 0.9.2 of\ncarbonapi and 0.74 of carbonzipper, and are moving more slowly in the same\ndirection as the original project.\n\n\n## License\n\nThis code is licensed under the BSD-2 license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbookingcom%2Fcarbonapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbookingcom%2Fcarbonapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbookingcom%2Fcarbonapi/lists"}