Ochi (pronounced oh-chee) translates to "Eyes" in various Slavic languages.
We are creating a more efficient alternative for storing logs.
Visit release page
- install zig 0.16.0
- do
zig build -Doptimize=ReleaseSafe
https://ochi.dev/docs/guides/installation/
- store persists the data, working simple API queries
- Grafana datasource available
- home made query language
- Ochi starts emitting logs to itself, dogfooding Ochi
- full support of Loki ingestion protocol (snappy, zstd, protobuf encoding, etc.)
- installation scripts
- docker-compose with configured datasource to grafana
- OTEL collector API support
- configuration support
- support majority ingestion protocols (loki, fluentd, syslog, etc)
- home made UI
- cost analysis built in
- GDPR compliance
- support ARM64 and x86_64 as Tier 1
- support Windows and POSIX systems for development
- support only Linux for production workloads (community if free to do whatever)
- better core over features
- documentation to answer 99% of questions
- support every OS
- "feature completeness"
Ochi is being actively developed by a small team of engineers.
Features are requested by opening an issue, though currently there is a very small chance they will be taken into consideration, due to the ongoing development of the project.
Bugs can be fixed without opening an issue, but you are welcome file one.
Optimization improvements are welcome, but must be accompanied by a benchmark.
Before submitting a PR, make sure the tests pass:
zig build testFor all questions, major changes, suggestions, notes, feel free to reach out to the team on Discord.
- We don't shame the lack of knowledge, it's better to accept not knowing, than spreading disinformation.
- Using LLMs you put your trust profile on a line, we don't encourage it, but you may.
- Complete slop will be rejected with a very short comment and a permanent ban.
- We can invest our time helping you learn. Don't fully rely on LLMs to implement a solution.
We encourage to use AI in order to:
- generate a test that is able to crash the system
- a good inner function comment describes why, not what
- a good outer function comment (doc string) describes what
- explicit is better than implicit
- therefore default options are not the best
- tests must either cover data or effects, not both
- to produce effect it must take a data to produce a pre determined effect
- pure functions are welcome
