Skip to content

ducc/egg

Repository files navigation

egg - the simple error aggregator

egg ingests errors and aggregates them

egg has 1st class support for sentry SDKs so you dont have to change any code to start using egg

goals

  1. simplicity - egg should only ingest errors and aggegate them
  2. easy to install - unlike sentry, egg only requires one dependency (clickhouse)
  3. easy to extend - egg should have a good api so additional features can be built on top of it
  4. scalability - if clickhouse can scale, so can egg
  5. compatible with sentry sdks

usage

  1. deploy egg's ingress and egress services
  2. choose the extension services that you'd like (documented below)
  3. start ingesting errors - see examples to learn how
  4. use the egg cli

extensions

  1. rest: forwards http rest requests to the grpc ingest endpoint and supports the sentry sdk POST /api/{project_id}/store api call
  2. web: you can make it and pr it

deploying on kubernetes

you can find instructions and manifests here

development

run docker-compose up to get egg running locally. when you save a file it will be restarted (think npm start hot reloading in react)

tech used

go, grpc, rest, clickhouse, sentry sdk, docker, kubernetes

forking, cloning, stealing etc

it would make me happy if you give credit but do what you want, MIT license :)