Skip to content

Concurrent Go log processing pipeline for Heroku HTTPS log drains

Notifications You must be signed in to change notification settings

benar-m/parse-flow

Repository files navigation

ParseFlow

Concurrent Go log processing pipeline for Heroku HTTPS log drains

                    ┌──────────────────────┐
                    │   HTTP Receiver      │◄─── Heroku Logplex
                    │   POST /logdrains    │
                    └──────────┬───────────┘
                               │ raw logs
                               ▼
                    ┌──────────────────────┐
                    │    RawLogChan        │
                    └──────────┬───────────┘
                               │
                               ▼
                    ┌──────────────────────┐
                    │   ParserWorker       │
                    └──────────┬───────────┘
                               │ ParsedLog structs
                               ▼
                    ┌──────────────────────┐
                    │   ParsedLogChan      │
                    └──────────┬───────────┘
                               │
                               ▼
                    ┌──────────────────────┐
                    │     FanOut           │
                    └─────┬────────────┬───┘
                          │            │
           ┌──────────────▼─┐        ┌─▼─────────────────┐
           │   MetricChan   │        │  DbRawWriteChan   │
           └──────┬─────────┘        └─┬─────────────────┘
                  │                    │
                  ▼                    ▼
      ┌─────────────────────┐    ┌─────────────────────┐
      │ MetricsAggregator   |    |     DbWriter        |
      |  (Primary Actor)    |    │   (Sec Actor)       │
      └─────────┬───────────┘    └─┬───────────────────┘
                │                  │
                │                  ▼
                │            ┌─────────────────────┐
                │            │        DB           │
                │            └─────────────────────┘
                │
                ▼
      ┌─────────────────────┐
      │   Metrics API       │◄─── /Dashboard
      │   GET /metrics      │
      └─────────────────────┘

About

Concurrent Go log processing pipeline for Heroku HTTPS log drains

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published