egg - the simple error aggregator

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 :)

Owner
Joe Burnard
software engineer
Joe Burnard
Similar Resources

A simple thread-safe, fixed size LRU written in Go. Based on dominictarr's Hashlru Algorithm. 🔃

go-hashlru A simple thread-safe, fixed size LRU written in Go. Based on dominictarr's Hashlru Algorithm. 🔃 Uses map[interface{}]interface{} to allow

Dec 5, 2022

Simple expression evaluation engine for Go

🌶️ chili Currently in development, Unstable (API may change in future) Simple expression evaluation engine. Expression is one liner that evalutes int

Nov 8, 2022

A simple tool to auto remove unused imports in rust

rust_strip A simple tool to remove unused imports in RUST. Call Cargo build/test Process the warning logs of unused imports Then replace the involved

Oct 15, 2022

A simple business indicator tool that uses a sliding window to detect whether the indicator exceeds the threshold

melon A simple business indicator tool that uses a sliding window to detect whether the indicator exceeds the threshold Usage //create the metric //th

Jul 11, 2021

Simple HTML Modification in Go

Simple HTML Modification in Go Do you grin at the sight of html.Node ? Me too. Modifying HTML in Go should be simple. 🧘🏻 Human friendly: query langu

Sep 29, 2021

simple GitHub action to parse Markdown Links into a .yaml file for Hugo

Obsidian Link Scrapper Used by Quartz This repository comes to you in two parts. GitHub Action (scrapes links into a .yml file) Hugo Partial (turns .y

Dec 30, 2022

A simple API for computing diffs of your documents over the time built on a scalable technology stack.

Diffme API WIP - this is an API to compute diffs between documents. It serves as a way to easily create audit logs for documents in your system, think

Sep 8, 2021

Simple go package which converts roman strings to integer

romanparse Simple go package which converts roman strings

Aug 11, 2022

🤼‍♂️ a simple FIFO matchmaker supporting scoring

Matchmaker This package is a simple FIFO matchmaker that supports player rank & latency (as tags). The rank & latency tags help you to group the playe

Oct 4, 2022
Comments
  • egg error

    egg error

    me="2021-02-25T23:27:35Z" level=debug msg="&{POST /api/81/store/ HTTP/1.0 1 0 map[Content-Length:[9737] Content-Type:[application/json] X-Sentry-Auth:[Sentry sentry_version=7, sentry_timestamp=1614295655166, sentry_client=sentry.javascript.node/5.7.1, sentry_key=xxxxxxxxxxx]] 0xc00011a1c0 <nil> 9737 [] true sentry-sentry-web-9000 map[] map[] <nil> map[] 127.0.0.1:48968 /api/81/store/ <nil> <nil> <nil> 0xc0001fe2a0}"
    time="2021-02-25T23:27:35Z" level=error msg="unmarshalling event" error="json: cannot unmarshal object into Go struct field Event.exception of type []sentry.Exception"
    
Go-generics-simple-doubly-linked-list - A simple doubly linked list implemented using generics (Golang)

Welcome to Go-Generics-Simple-Doubly-Linked-List! Hi, This repository contains a

Jun 30, 2022
Simple in Pure Go in Browser Interactive Interpreter
Simple in Pure Go in Browser Interactive Interpreter

GoBook This project is a PoC Don't take it seriously The main point of this project is the use of the library: github.com/brendonmatos/golive Maybe th

Feb 22, 2022
Simple project to demonstrate the loading of eBPF programs via florianl/go-tc.

tc-skeleton Simple project to demonstrate the loading of eBPF programs via florianl/go-tc.

Dec 23, 2022
EGo lets you build, debug und run Go apps on Intel SGX - as simple as conventional Go programming!

EGo lets you build, debug und run Go apps on Intel SGX - as simple as conventional Go programming!

Dec 28, 2022
A super simple Lodash like utility library with essential functions that empowers the development in Go
A super simple Lodash like utility library with essential functions that empowers the development in Go

A simple Utility library for Go Go does not provide many essential built in functions when it comes to the data structure such as slice and map. This

Jan 4, 2023
Procswap is a simple application that allows you to prioritize processes on a Windows machine.
Procswap is a simple application that allows you to prioritize processes on a Windows machine.

Procswap is a simple application that allows you to prioritize processes on a Windows machine.

Mar 8, 2022
Simple unpacking script for Ezuri ELF Crypter
Simple unpacking script for Ezuri ELF Crypter

ezuri_unpack A simple unpacking script for the Ezuri ELF Crypter. Based on the analysis done by Ofer Caspi and Fernando Martinez of AT&T Alien Labs

Dec 15, 2022
Lightweight, Simple, Quick, Thread-Safe Golang Stack Implementation

stack Lightweight, Simple, Quick, Thread-Safe Golang Stack Implementation Purpose Provide a fast, thread safe, and generic Golang Stack API with minim

May 3, 2022
Simple profiling for Go

profile Simple profiling for Go. Easy management of Go's built-in profiling and tracing Based on the widely-used pkg/profile: mostly-compatible API Su

Sep 23, 2022
simple i18n support that relies on standard go libraries

The i18n package mainly includes a set of methods for managing the data. Start by creating a en.json file.

Jun 29, 2021