Skip to content

Latest commit

 

History

History
42 lines (28 loc) · 1.45 KB

README.md

File metadata and controls

42 lines (28 loc) · 1.45 KB

observ: Observability Testing

observ is a set of Go test tools to simplify testing of observability data generated by applications.

Status

This toolkit is stable enough to use in tests.

API will likely have some breaking changes between minor pre-v1 releases, but I will put as much effort as reasonably possible to provide upgrade instructions, compatibility layers and tools with each breaking change.

How To Use

Sorry, this is very early release, please take a look at hello_test.go to see how it works.

Why

The code of modern Go app has a lot of metadata that can be used to accompany regular tests. Some ideas:

  1. Testing asyncronous components (e.g. block the test until the log message is emitted)
  2. Testing cache hits: just check Prometheus counter instead of mocking
  3. Creating rules for log format: when application logs follow a contract (e.g. used in data pipelines, served from the API
  4. Testing correctness of mission-critical metrics (e.g. metrics used in autoscaling and alerting)

Roadmap

  1. More log collectors
  2. Documentation and more examples
  3. More assertion functions
  4. Test coverage and CI
  5. Tracing support

Contribution

There are no rules for contribution yet. Open and issue or PR if you feel like it.

testify

A part of testify is copied into this repo to fix bad error traces. This code is licensed via MIT License, same as observ.