Company
Date Published
Author
Brent Anderson
Word count
1340
Language
English
Hacker News points
None

Summary

Knock provides a flexible notifications infrastructure for developers, emphasizing visibility and observability through a built-in debugger and extensive API logging. To handle the vast amount of API logs efficiently, Knock uses AWS Kinesis for buffering and Postgres for storage. They faced challenges in filtering logs by endpoint due to the volume and complexity of API paths. Instead of adopting a dedicated log storage solution like ElasticSearch, they chose to keep things simple with Postgres, leveraging its LTree data type to manage and query hierarchical API paths efficiently. This approach allows Knock to perform index-optimized searches while maintaining the flexibility to migrate to a more specialized backend in the future. By converting API paths into LTrees, Knock can quickly normalize and index logs, facilitating efficient search queries and ensuring high performance despite the large scale of data.